ComputerUser

535 Reputation

10 Badges

11 years, 310 days

Social Networks and Content at Maplesoft.com

Seldom to ask question after retired math hobby Just waiting for beauty who born in 1994 And waited for her email to mavio@protonmail.com What is the difference in ownership among different universe?

MaplePrimes Activity


These are replies submitted by ComputerUser

@Adri van der Meer 

 

when i reply in this web, this web seems upgrading, so missed this

it is <g1|g2|g3|g4|g5>

 

> lprint(BasisVector(`<|>`(g1, g2, g3, g4, g5), tdeg(x, y, h121, h122, h123, h124, h125), 2));

result6

lprint show result6

actually result6 has thing when result6[1]


 

@Adri van der Meer 

 

when i reply in this web, this web seems upgrading, so missed this

it is <g1|g2|g3|g4|g5>

 

> lprint(BasisVector(`<|>`(g1, g2, g3, g4, g5), tdeg(x, y, h121, h122, h123, h124, h125), 2));

result6

lprint show result6

actually result6 has thing when result6[1]


 

restart;
with(Groebner):

IsNullZero := proc(tau)
if assigned(tau) then
return tau
else
return 0
end if
end proc;

DoExist := proc(tau, n)
if rtable_num_elems(tau) >= n then
return tau[n];
else
return 0;
end if;
end proc;

LeadingTermVector := proc(a,b)
result := a;
for i from 1 to rtable_num_elems(a) do
result[i] = `*`(LeadingTerm(a[i], b));
od;
return result;
end proc;

LCMVector := proc(a,b)
result := a;
for i from 1 to rtable_num_elems(a) do
result[i] = lcm(a[i], b[i]);
od;
return result;
end proc;

SPolynomialVector := proc(a, b, c)
result := a;
for i from 1 to rtable_num_elems(a) do
result[i] = SPolynomial(a[i], b[i], c);
od;
return result;
end proc;

DivideVector := proc(a, b)
result8 := a;
for i from 1 to rtable_num_elems(a) do
if a[i] = 0 then
result8[i] = 0;
else
result8[i] = a[i]/b[i];
end if;
od;
return result8;
end proc;

BasisVector := proc(a, b, num)
result6 := 0;
for i from 1 to num do
result6[i] := 0;
od;
for i from 1 to num do
result6[i] := Basis(convert(a(i, 1 .. -1),list), b);
od;
return result6;
end proc;

NormalFormVector := proc(a, b, c, d, num)
for i from 1 to num do
NormalForm(a[i], b[i], c, d);
od;
end proc;

NormalFormVector := proc(a, b, c, d, num)
for i from 1 to rtable_num_elems(b) do
NormalForm(a[i], b[i], c, d);
od;
end proc;

g1 := Vector([1, 1]);
g2 := Vector([x+y, 0]);
g3 := Vector([y^2+1, 0]);
g4 := Vector([0, y^3+y]);
g5 := Vector([0, x-y]);

X1 := `*`(LeadingTermVector(g1, tdeg(x, y)));
X2 := `*`(LeadingTermVector(g2, tdeg(x, y)));
X3 := `*`(LeadingTermVector(g3, tdeg(x, y)));
X4 := `*`(LeadingTermVector(g4, tdeg(x, y)));
X5 := `*`(LeadingTermVector(g5, tdeg(x, y)));

X12 := LCMVector(X1,X2);
X13 := LCMVector(X1,X3);
X14 := LCMVector(X1,X4);
X15 := LCMVector(X1,X5);
X23 := LCMVector(X2,X3);
X24 := LCMVector(X2,X4);
X25 := LCMVector(X2,X5);
X34 := LCMVector(X3,X4);
X35 := LCMVector(X3,X5);
X45 := LCMVector(X4,X5);

S12 := SPolynomialVector(g1, g2, lexdeg([x, y]));
S13 := SPolynomialVector(g1, g3, lexdeg([x, y]));
S14 := SPolynomialVector(g1, g4, lexdeg([x, y]));
S15 := SPolynomialVector(g1, g5, lexdeg([x, y]));
S23 := SPolynomialVector(g2, g3, lexdeg([x, y]));
S24 := SPolynomialVector(g2, g4, lexdeg([x, y]));
S25 := SPolynomialVector(g2, g5, lexdeg([x, y]));
S34 := SPolynomialVector(g3, g4, lexdeg([x, y]));
S35 := SPolynomialVector(g3, g5, lexdeg([x, y]));
S45 := SPolynomialVector(g4, g5, lexdeg([x, y]));

e1 := Vector([1,0,0,0,0]);
e2 := Vector([0,1,0,0,0]);
e3 := Vector([0,0,1,0,0]);
e4 := Vector([0,0,0,1,0]);
e5 := Vector([0,0,0,0,1]);

#with(LinearAlgebra):
eq1 := S12 - expand(h121*g1 + h122*g2 + h123*g3 + h124*g4 + h125*g5):

for i from 1 to 2 do
NormalForm(eq1[i], r7[i], tdeg(x, y, h121, h122, h123, h124, h125), 'Q');
od;

NormalFormVector(eq1,
BasisVector(<g1|g2|g3|g4|g5>, tdeg(x, y, h121, h122, h123, h124, h125), 2),
tdeg(x, y, h121, h122, h123, h124, h125),
'Q',2);

 

Q = BasisVector(<g1|g2|g3|g4|g5>, tdeg(x, y, h121, h122, h123, h124, h125), 2)

when NormalFormVector function run this

rtable_num_elems got this error

restart;
with(Groebner):

IsNullZero := proc(tau)
if assigned(tau) then
return tau
else
return 0
end if
end proc;

DoExist := proc(tau, n)
if rtable_num_elems(tau) >= n then
return tau[n];
else
return 0;
end if;
end proc;

LeadingTermVector := proc(a,b)
result := a;
for i from 1 to rtable_num_elems(a) do
result[i] = `*`(LeadingTerm(a[i], b));
od;
return result;
end proc;

LCMVector := proc(a,b)
result := a;
for i from 1 to rtable_num_elems(a) do
result[i] = lcm(a[i], b[i]);
od;
return result;
end proc;

SPolynomialVector := proc(a, b, c)
result := a;
for i from 1 to rtable_num_elems(a) do
result[i] = SPolynomial(a[i], b[i], c);
od;
return result;
end proc;

DivideVector := proc(a, b)
result8 := a;
for i from 1 to rtable_num_elems(a) do
if a[i] = 0 then
result8[i] = 0;
else
result8[i] = a[i]/b[i];
end if;
od;
return result8;
end proc;

BasisVector := proc(a, b, num)
result6 := 0;
for i from 1 to num do
result6[i] := 0;
od;
for i from 1 to num do
result6[i] := Basis(convert(a(i, 1 .. -1),list), b);
od;
return result6;
end proc;

NormalFormVector := proc(a, b, c, d, num)
for i from 1 to num do
NormalForm(a[i], b[i], c, d);
od;
end proc;

NormalFormVector := proc(a, b, c, d, num)
for i from 1 to rtable_num_elems(b) do
NormalForm(a[i], b[i], c, d);
od;
end proc;

g1 := Vector([1, 1]);
g2 := Vector([x+y, 0]);
g3 := Vector([y^2+1, 0]);
g4 := Vector([0, y^3+y]);
g5 := Vector([0, x-y]);

X1 := `*`(LeadingTermVector(g1, tdeg(x, y)));
X2 := `*`(LeadingTermVector(g2, tdeg(x, y)));
X3 := `*`(LeadingTermVector(g3, tdeg(x, y)));
X4 := `*`(LeadingTermVector(g4, tdeg(x, y)));
X5 := `*`(LeadingTermVector(g5, tdeg(x, y)));

X12 := LCMVector(X1,X2);
X13 := LCMVector(X1,X3);
X14 := LCMVector(X1,X4);
X15 := LCMVector(X1,X5);
X23 := LCMVector(X2,X3);
X24 := LCMVector(X2,X4);
X25 := LCMVector(X2,X5);
X34 := LCMVector(X3,X4);
X35 := LCMVector(X3,X5);
X45 := LCMVector(X4,X5);

S12 := SPolynomialVector(g1, g2, lexdeg([x, y]));
S13 := SPolynomialVector(g1, g3, lexdeg([x, y]));
S14 := SPolynomialVector(g1, g4, lexdeg([x, y]));
S15 := SPolynomialVector(g1, g5, lexdeg([x, y]));
S23 := SPolynomialVector(g2, g3, lexdeg([x, y]));
S24 := SPolynomialVector(g2, g4, lexdeg([x, y]));
S25 := SPolynomialVector(g2, g5, lexdeg([x, y]));
S34 := SPolynomialVector(g3, g4, lexdeg([x, y]));
S35 := SPolynomialVector(g3, g5, lexdeg([x, y]));
S45 := SPolynomialVector(g4, g5, lexdeg([x, y]));

e1 := Vector([1,0,0,0,0]);
e2 := Vector([0,1,0,0,0]);
e3 := Vector([0,0,1,0,0]);
e4 := Vector([0,0,0,1,0]);
e5 := Vector([0,0,0,0,1]);

#with(LinearAlgebra):
eq1 := S12 - expand(h121*g1 + h122*g2 + h123*g3 + h124*g4 + h125*g5):

for i from 1 to 2 do
NormalForm(eq1[i], r7[i], tdeg(x, y, h121, h122, h123, h124, h125), 'Q');
od;

NormalFormVector(eq1,
BasisVector(<g1|g2|g3|g4|g5>, tdeg(x, y, h121, h122, h123, h124, h125), 2),
tdeg(x, y, h121, h122, h123, h124, h125),
'Q',2);

 

Q = BasisVector(<g1|g2|g3|g4|g5>, tdeg(x, y, h121, h122, h123, h124, h125), 2)

when NormalFormVector function run this

rtable_num_elems got this error

the purpose of this is for

NormalForm(eq1, BasisVector(<g1|g2|g3|g4|g5|g6>, tdeg(x, y, h251, h252, h253, h254, h255, h256)), tdeg(x, y, h251, h252, h253, h254, h255, h256), 'Q');

NormalFormVector := proc(a, b, c, d)
for i from 1 to nops(b) do
NormalForm(a[i], b[i], c, d);
od;
end proc;

BasisVector := proc(a, b)

result := a;
result2 := a;
for i from 1 to nops(a) do
result2[i] = Basis(Basis(convert(result(i, 1 .. -1),list), b);
od;
return result2;
end proc;

 

result2 := <g1|g2|g3|g4|g5|g6>;
result3 := <g1|g2|g3|g4|g5|g6>;
for i from 1 to nops(<g1|g2|g3|g4|g5|g6>) do
result3[i] = Basis(convert(result2(i, 1 .. -1),list), tdeg(x, y, h251, h252, h253, h254, h255, h256));
od;

when using this kind of method, the result dimension is changed

the purpose of this is for

NormalForm(eq1, BasisVector(<g1|g2|g3|g4|g5|g6>, tdeg(x, y, h251, h252, h253, h254, h255, h256)), tdeg(x, y, h251, h252, h253, h254, h255, h256), 'Q');

NormalFormVector := proc(a, b, c, d)
for i from 1 to nops(b) do
NormalForm(a[i], b[i], c, d);
od;
end proc;

BasisVector := proc(a, b)

result := a;
result2 := a;
for i from 1 to nops(a) do
result2[i] = Basis(Basis(convert(result(i, 1 .. -1),list), b);
od;
return result2;
end proc;

 

result2 := <g1|g2|g3|g4|g5|g6>;
result3 := <g1|g2|g3|g4|g5|g6>;
for i from 1 to nops(<g1|g2|g3|g4|g5|g6>) do
result3[i] = Basis(convert(result2(i, 1 .. -1),list), tdeg(x, y, h251, h252, h253, h254, h255, h256));
od;

when using this kind of method, the result dimension is changed

Suddenly thought a much simpler method, set it globally

h251 := IsNullZero(h251);

before running the final statement

then Q[1] contains h251 may become zero, i will try this tomorrow

Suddenly thought a much simpler method, set it globally

h251 := IsNullZero(h251);

before running the final statement

then Q[1] contains h251 may become zero, i will try this tomorrow

How to evaluate in this when using assigned inside a formula with if else statement

 

s25 := X25/X2*e2-X25/X5*e5-Vector([Q[5]+eval(if assigned(h251) then h251 else 0 end if), Q[5]+if assigned(h252) then h252 else 0 end if, Q[4]+if assigned(h253) then h253 else 0 end if, Q[3]+if assigned(h254) then h254 else 0 end if, Q[2]+if assigned(h255) then h255 else 0 end if, Q[1]+if assigned(h256) then h256 else 0 end if]);

How to evaluate in this when using assigned inside a formula with if else statement

 

s25 := X25/X2*e2-X25/X5*e5-Vector([Q[5]+eval(if assigned(h251) then h251 else 0 end if), Q[5]+if assigned(h252) then h252 else 0 end if, Q[4]+if assigned(h253) then h253 else 0 end if, Q[3]+if assigned(h254) then h254 else 0 end if, Q[2]+if assigned(h255) then h255 else 0 end if, Q[1]+if assigned(h256) then h256 else 0 end if]);

@Carl Love 

prime = 3, number = 26

3^2 + 2^4 + 1

forget to say, without coefficient

i am not sure whether there is case where coefficient need.

so in advance, you have to know which prime number is appropriate

it is my idea

in the past, i have written a program to start from a smallest prime number, however have coefficient,

this time you remind me that there are cases for no coefficient and have coefficient case

sorry for misunderstanding, actually all my question are the same

a map

Q[x,y] -> Q[r,s,u,v]

Q[x,y] is kernel

Q[r,s,u,v] is image

if r,s,u,v can express in terms of only x,y for example r = x+y, s=x-y, u = 2*x, v = 2*y

if x, y can express in terms of only r,s,u,v for example x = r+u, y = r+s

then i substitute x = r+u, y=r+s into r=x+y, s=x-y, u = 2*x, v = 2*y if they are equal, can it be said injective?

then i substitute  r = x+y, s=x-y, u = 2*x, v = 2*y into  x = r+u, y = r+s if they are equal, can it be said surjective?

if solve function can make x, y can express in terms of only r,s,u,v and x, y can express in terms of only r,s,u,v, can it be said it is isomorphism ?

or need further to substitute like above to check them x=x, y=y to confirm isomorphism

 as i think this from single variable

y = x + 1, x = y-1, then y = (y-1) + 1 =y

 K := {r-x^4,u-(x^3)*y,v-x*y^3,w-y^4};

this r,u,v,w can be expressed in terms of x and y
but when i solve(K,[x,y]), it can not express x and y in terms of only r,u,v,w
so i guess solve function can check isomorphism instead of checking whether kernel's image is image or image's kernel is kernel

sorry for misunderstanding, actually all my question are the same

a map

Q[x,y] -> Q[r,s,u,v]

Q[x,y] is kernel

Q[r,s,u,v] is image

if r,s,u,v can express in terms of only x,y for example r = x+y, s=x-y, u = 2*x, v = 2*y

if x, y can express in terms of only r,s,u,v for example x = r+u, y = r+s

then i substitute x = r+u, y=r+s into r=x+y, s=x-y, u = 2*x, v = 2*y if they are equal, can it be said injective?

then i substitute  r = x+y, s=x-y, u = 2*x, v = 2*y into  x = r+u, y = r+s if they are equal, can it be said surjective?

if solve function can make x, y can express in terms of only r,s,u,v and x, y can express in terms of only r,s,u,v, can it be said it is isomorphism ?

or need further to substitute like above to check them x=x, y=y to confirm isomorphism

 as i think this from single variable

y = x + 1, x = y-1, then y = (y-1) + 1 =y

 K := {r-x^4,u-(x^3)*y,v-x*y^3,w-y^4};

this r,u,v,w can be expressed in terms of x and y
but when i solve(K,[x,y]), it can not express x and y in terms of only r,u,v,w
so i guess solve function can check isomorphism instead of checking whether kernel's image is image or image's kernel is kernel

it is a list of polynomials result from Basis

I have one more question is

using your method, v^3 belong to Q[r,u,v,w]

conclusion is Kernel belong to image, means injective

however when i solve(K,[x,y]) result in null

it can not represent x and y in terms of r,u,v,w

can i conclude that it is injective, but it is not surjective, so that it is not isomorphism ?

 

some book said image(ker) == ker(image) however, i do not know what exactly image is

 

if so, why need to check kernel belong to image, why not use solve(K,[x,y]) to check whether it has answer to check isomorphism?

if solve has answer, does subs(x=inverse(f), f) = 1 and subs(x=f, inverse(f)) = 1 hold ?

First 39 40 41 42 43 44 45 Page 41 of 45