Package edu.jas.gbufd
Class PolyModUtil
- java.lang.Object
-
- edu.jas.gbufd.PolyModUtil
-
public class PolyModUtil extends java.lang.Object
Package gb and gbufd utilities.- Author:
- Heinz Kredel
-
-
Constructor Summary
Constructors Constructor Description PolyModUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <C extends GcdRingElem<C>>
GenPolynomial<C>syzGcd(GenPolynomialRing<C> r, GenPolynomial<C> n, GenPolynomial<C> d)
Greatest common divisor.static <C extends GcdRingElem<C>>
GenSolvablePolynomial<C>syzGcd(GenSolvablePolynomialRing<C> r, GenSolvablePolynomial<C> n, GenSolvablePolynomial<C> d)
Greatest common divisor via least common multiple.static <C extends GcdRingElem<C>>
GenSolvablePolynomial<C>[]syzGcdCofactors(GenSolvablePolynomialRing<C> r, GenSolvablePolynomial<C> n, GenSolvablePolynomial<C> d)
Greatest common divisor and cofactors via least common multiple and reduction.static <C extends GcdRingElem<C>>
GenPolynomial<C>syzLcm(GenPolynomialRing<C> r, GenPolynomial<C> n, GenPolynomial<C> d)
Least common multiple.static <C extends GcdRingElem<C>>
GenSolvablePolynomial<C>syzLcm(GenSolvablePolynomialRing<C> r, GenSolvablePolynomial<C> n, GenSolvablePolynomial<C> d)
Least common multiple via ideal intersection.static <C extends GcdRingElem<C>>
GenSolvablePolynomial<C>syzLeftGcd(GenSolvablePolynomialRing<C> r, GenSolvablePolynomial<C> n, GenSolvablePolynomial<C> d)
Left greatest common divisor via least common multiple.static <C extends GcdRingElem<C>>
GenSolvablePolynomial<C>syzRightGcd(GenSolvablePolynomialRing<C> r, GenSolvablePolynomial<C> n, GenSolvablePolynomial<C> d)
Right greatest common divisor via least common multiple.
-
-
-
Constructor Detail
-
PolyModUtil
public PolyModUtil()
-
-
Method Detail
-
syzLcm
public static <C extends GcdRingElem<C>> GenSolvablePolynomial<C> syzLcm(GenSolvablePolynomialRing<C> r, GenSolvablePolynomial<C> n, GenSolvablePolynomial<C> d)
Least common multiple via ideal intersection.- Parameters:
r
- solvable polynomial ring.n
- first solvable polynomial.d
- second solvable polynomial.- Returns:
- lcm(n,d)
-
syzGcd
public static <C extends GcdRingElem<C>> GenSolvablePolynomial<C> syzGcd(GenSolvablePolynomialRing<C> r, GenSolvablePolynomial<C> n, GenSolvablePolynomial<C> d)
Greatest common divisor via least common multiple.- Parameters:
r
- solvable polynomial ring.n
- first solvable polynomial.d
- second solvable polynomial.- Returns:
- gcd(n,d)
-
syzLeftGcd
public static <C extends GcdRingElem<C>> GenSolvablePolynomial<C> syzLeftGcd(GenSolvablePolynomialRing<C> r, GenSolvablePolynomial<C> n, GenSolvablePolynomial<C> d)
Left greatest common divisor via least common multiple.- Parameters:
r
- solvable polynomial ring.n
- first solvable polynomial.d
- second solvable polynomial.- Returns:
- gcd(n,d)
-
syzRightGcd
public static <C extends GcdRingElem<C>> GenSolvablePolynomial<C> syzRightGcd(GenSolvablePolynomialRing<C> r, GenSolvablePolynomial<C> n, GenSolvablePolynomial<C> d)
Right greatest common divisor via least common multiple.- Parameters:
r
- solvable polynomial ring.n
- first solvable polynomial.d
- second solvable polynomial.- Returns:
- gcd(n,d)
-
syzGcdCofactors
public static <C extends GcdRingElem<C>> GenSolvablePolynomial<C>[] syzGcdCofactors(GenSolvablePolynomialRing<C> r, GenSolvablePolynomial<C> n, GenSolvablePolynomial<C> d)
Greatest common divisor and cofactors via least common multiple and reduction.- Parameters:
r
- solvable polynomial ring.n
- first solvable polynomial.d
- second solvable polynomial.- Returns:
- [ g=gcd(n,d), n/g, d/g ]
-
syzLcm
public static <C extends GcdRingElem<C>> GenPolynomial<C> syzLcm(GenPolynomialRing<C> r, GenPolynomial<C> n, GenPolynomial<C> d)
Least common multiple. Just for fun, is not efficient.- Parameters:
r
- polynomial ring.n
- first polynomial.d
- second polynomial.- Returns:
- lcm(n,d)
-
syzGcd
public static <C extends GcdRingElem<C>> GenPolynomial<C> syzGcd(GenPolynomialRing<C> r, GenPolynomial<C> n, GenPolynomial<C> d)
Greatest common divisor. Just for fun, is not efficient.- Parameters:
r
- polynomial ring.n
- first polynomial.d
- second polynomial.- Returns:
- gcd(n,d)
-
-