## 520 Reputation

9 years, 172 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?

## @Adri van der Meer <g1|g2|g3|g4|...

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 := pro...

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;

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 := pro...

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;

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(eq...

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(eq...

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, ...

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, ...

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 assig...

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 assig...

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 ...

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...

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...

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 ...

it is a list of polynomials result from Basis

## I have one more question isusing your me...

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 ?

## I have one more question isusing your me...

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
﻿