Ralf Hemmecke
2018-07-01 07:10:37 UTC
Hello,
I'm currently preparing an article that involves Gröbner basis
computation and then finding the representation of some polynomial in
terms of that Gröbner basis. Doing this in FriCAS, is, of course, easy,
but I was unable to find that such an extended reduction is already
implemented in FriCAS.
What about the following?
https://github.com/hemmecke/fricas/commit/1ea2f36f0a2bf8dd251cbb0fb6ab810b734d2c88.patch
The new domain can be used like this.
(1) -> Z ==> Integer
(2) -> vl := [x,y,z]
(2) [x, y, z]
(3) -> E ==> DirectProduct(3, NNI)
(4) -> P ==> GeneralDistributedMultivariatePolynomial(vl, Z, E)
(5) -> G: List P := [x^5-x^4*y^3+2*z, y^4-z^3]
5 4 3 4 3
(5) [x - x y + 2 z, y - z ]
(6) -> p: P := x^7
7
(6) x
(7) -> z := reduce(p, G)$ExtendedPolynomialReduction(Z, E, P)
(7)
4 6 2 3 2 4
[poly = - x y z + 2 x z + 2 x y z + 2 y z ,
2 3 6 4 5 4 3 2
repr = [- x - x y - y , - x y - x y z + 2 y z], mult = - 1]
(8) -> z.mult * p - (z.poly + z.repr.1 * G.1 + z.repr.2 * G.2)
(8) 0
May I commit?
Ralf
I'm currently preparing an article that involves Gröbner basis
computation and then finding the representation of some polynomial in
terms of that Gröbner basis. Doing this in FriCAS, is, of course, easy,
but I was unable to find that such an extended reduction is already
implemented in FriCAS.
What about the following?
https://github.com/hemmecke/fricas/commit/1ea2f36f0a2bf8dd251cbb0fb6ab810b734d2c88.patch
The new domain can be used like this.
(1) -> Z ==> Integer
(2) -> vl := [x,y,z]
(2) [x, y, z]
(3) -> E ==> DirectProduct(3, NNI)
(4) -> P ==> GeneralDistributedMultivariatePolynomial(vl, Z, E)
(5) -> G: List P := [x^5-x^4*y^3+2*z, y^4-z^3]
5 4 3 4 3
(5) [x - x y + 2 z, y - z ]
(6) -> p: P := x^7
7
(6) x
(7) -> z := reduce(p, G)$ExtendedPolynomialReduction(Z, E, P)
(7)
4 6 2 3 2 4
[poly = - x y z + 2 x z + 2 x y z + 2 y z ,
2 3 6 4 5 4 3 2
repr = [- x - x y - y , - x y - x y z + 2 y z], mult = - 1]
(8) -> z.mult * p - (z.poly + z.repr.1 * G.1 + z.repr.2 * G.2)
(8) 0
May I commit?
Ralf
--
You received this message because you are subscribed to the Google Groups "FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fricas-devel+***@googlegroups.com.
To post to this group, send email to fricas-***@googlegroups.com.
Visit this group at https://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.
You received this message because you are subscribed to the Google Groups "FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fricas-devel+***@googlegroups.com.
To post to this group, send email to fricas-***@googlegroups.com.
Visit this group at https://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.