susan_in_penn

5 Reputation

2 Badges

13 years, 98 days

MaplePrimes Activity


These are replies submitted by susan_in_penn

@Markiyan Hirnyk 

 

Well! First of all, thank you so much for such a thorough answer! Unfortunately, the suggestions didn't quite work for me the way that they worked for you. I tried loading maple with --setsort=0, but there was no change in the order. Then I tried

> S := powerset(3);
          S := {{}, {1, 2, 3}, {2, 3}, {3}, {1, 3}, {1}, {2}, {1, 2}}

> sort(S, length);
            {{}, {1, 2, 3}, {2, 3}, {3}, {1, 3}, {1}, {2}, {1, 2}}

Then I tried converting S into a list, and sorting

 

> S := [op(S)]; sort(S, length);
          S := [{}, {1, 2, 3}, {2, 3}, {3}, {1, 3}, {1}, {2}, {1, 2}]

            [{}, {3}, {1}, {2}, {2, 3}, {1, 3}, {1, 2}, {1, 2, 3}]

This is better, but see how the order is null set, 3, 1, 2 at the beginning? I really need the lexicographic order of maple 14. I tried ordering the powerset as a list

powerset([seq(i,i=1..3)]);
            [[], [1], [2], [1, 2], [3], [1, 3], [2, 3], [1, 2, 3]]

and then ordering by length

> sort(S, length);               
            [[], [1], [2], [3], [1, 2], [1, 3], [2, 3], [1, 2, 3]]

 

This is correct for this particular version, but what about for higher order n? How can I insure lexicographic order for the higher orders? Hmmmm...

 

Any further suggestions would be most welcome!

@Markiyan Hirnyk 

 

Well! First of all, thank you so much for such a thorough answer! Unfortunately, the suggestions didn't quite work for me the way that they worked for you. I tried loading maple with --setsort=0, but there was no change in the order. Then I tried

> S := powerset(3);
          S := {{}, {1, 2, 3}, {2, 3}, {3}, {1, 3}, {1}, {2}, {1, 2}}

> sort(S, length);
            {{}, {1, 2, 3}, {2, 3}, {3}, {1, 3}, {1}, {2}, {1, 2}}

Then I tried converting S into a list, and sorting

 

> S := [op(S)]; sort(S, length);
          S := [{}, {1, 2, 3}, {2, 3}, {3}, {1, 3}, {1}, {2}, {1, 2}]

            [{}, {3}, {1}, {2}, {2, 3}, {1, 3}, {1, 2}, {1, 2, 3}]

This is better, but see how the order is null set, 3, 1, 2 at the beginning? I really need the lexicographic order of maple 14. I tried ordering the powerset as a list

powerset([seq(i,i=1..3)]);
            [[], [1], [2], [1, 2], [3], [1, 3], [2, 3], [1, 2, 3]]

and then ordering by length

> sort(S, length);               
            [[], [1], [2], [3], [1, 2], [1, 3], [2, 3], [1, 2, 3]]

 

This is correct for this particular version, but what about for higher order n? How can I insure lexicographic order for the higher orders? Hmmmm...

 

Any further suggestions would be most welcome!

Here is a very simple example where the elimination doesn't work:

with(Groebner):

myI := [x[1]^2-x[1],x[2]^2-x[2],x[3]^2-x[3],x[1]+2*x[2]+3*x[3]];

ord := lexdeg([x[3]],[x[1],x[2]]);

gb := Basis(myI, ord);
                                                                          gb := [x[2], x[1], x[3]]

 

The resulting Groebner basis is definitely not mI intersected with Q[x[1],x[2]]. There must be something very silly wrong with my syntax! Any help would be appreciated.


Best,

Susan

Thank you so much for your response! That is exactly what I thought, but unfortuneatly, I am just not getting that as a result. The Grobner basis of my "elimination" ideal still has all the variables in it, and nothing has been elminated. There *must* be something small and silly wrong with my syntax. Here is my exact code:

 

with(Groebner):
kernelopts(printbytes=false);

myI := [x[1]*x[11]*x[9]^2+x[2]*x[12]*x[9]^2+x[3]*x[11]*x[10]*x[9]+x[4]*x[11]*x[9]*x[10]+x[5]*x[12]*x[10]*x[9]+x[6]*x[12]*x[9]*x[10]+x[7]*x[11]*x[10]^2+x[8]*x[12]*x[10]^2,x[1]*x[11]^3+x[2]*x[12]*x[11]^2+x[3]*x[11]^2*x[12]+x[4]*x[11]^2*x[12]+x[5]*x[12]^2*x[11]+x[6]*x[12]^2*x[11]+x[7]*x[11]*x[12]^2+x[8]*x[12]^3];

ord := lexdeg([seq(x[i],i=9..12)], [seq(x[i],i=1..8)]);
print(ord);

printf("Beginning Grobner basis computation...\n");
gb_myI := Basis(myI, ord);
file_name := cat("grob_basis/gb_gate_cob_3_trunc");
save gb_myI, file_name;

This is an abridged example so that it will run faster. I want to eliminate variables 9 through 12 from the ideal, but this computation is not returning that result. I would love suggestions, if you have a moment!

 

Best,

Susan

Thank you so much for your response! That is exactly what I thought, but unfortuneatly, I am just not getting that as a result. The Grobner basis of my "elimination" ideal still has all the variables in it, and nothing has been elminated. There *must* be something small and silly wrong with my syntax. Here is my exact code:

 

with(Groebner):
kernelopts(printbytes=false);

myI := [x[1]*x[11]*x[9]^2+x[2]*x[12]*x[9]^2+x[3]*x[11]*x[10]*x[9]+x[4]*x[11]*x[9]*x[10]+x[5]*x[12]*x[10]*x[9]+x[6]*x[12]*x[9]*x[10]+x[7]*x[11]*x[10]^2+x[8]*x[12]*x[10]^2,x[1]*x[11]^3+x[2]*x[12]*x[11]^2+x[3]*x[11]^2*x[12]+x[4]*x[11]^2*x[12]+x[5]*x[12]^2*x[11]+x[6]*x[12]^2*x[11]+x[7]*x[11]*x[12]^2+x[8]*x[12]^3];

ord := lexdeg([seq(x[i],i=9..12)], [seq(x[i],i=1..8)]);
print(ord);

printf("Beginning Grobner basis computation...\n");
gb_myI := Basis(myI, ord);
file_name := cat("grob_basis/gb_gate_cob_3_trunc");
save gb_myI, file_name;

This is an abridged example so that it will run faster. I want to eliminate variables 9 through 12 from the ideal, but this computation is not returning that result. I would love suggestions, if you have a moment!

 

Best,

Susan

Page 1 of 1