Class PolynomialAlgebra

java.lang.Object
org.episteme.core.mathematics.algebra.polynomials.PolynomialAlgebra

public class PolynomialAlgebra extends Object
Advanced polynomial operations: GCD, factorization, resultants.

Algorithms for symbolic computation and computer algebra.

Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
  • Constructor Details

    • PolynomialAlgebra

      public PolynomialAlgebra()
  • Method Details

    • gcd

      public static Polynomial<Integer> gcd(Polynomial<Integer> a, Polynomial<Integer> b)
      Euclidean algorithm for polynomial GCD.

      gcd(a, b) = gcd(b, a mod b) Works for polynomials over fields.

      Parameters:
      a - first polynomial
      b - second polynomial
      Returns:
      greatest common divisor
    • resultant

      public static Integer resultant(Polynomial<Integer> a, Polynomial<Integer> b)
      Resultant of two polynomials.

      Res(a, b) = 0 iff a and b have common root. Computed using Sylvester matrix determinant.

    • discriminant

      public static Integer discriminant(Polynomial<Integer> p)
      Discriminant of polynomial.

      Δ(f) = (-1)^(n(n-1)/2) * Res(f, f') / lc(f) Zero iff f has repeated root.

    • squareFreeFactorization

      public static List<Polynomial<Integer>> squareFreeFactorization(Polynomial<Integer> f)
      Square-free factorization: f = ∏ f_i^i

      Separates polynomial into square-free parts. First step in complete factorization.

    • content

      public static Integer content(Polynomial<Integer> p)
      Content of polynomial (GCD of all coefficients).
    • primitivePart

      public static Polynomial<Integer> primitivePart(Polynomial<Integer> p)
      Primitive part: polynomial / content

      pp(f) * cont(f) = f

    • isIrreducible

      public static boolean isIrreducible(Polynomial<Integer> p)
      Checks if polynomial is irreducible.

      Uses Eisenstein's criterion and other tests.

    • derivative

      public static Polynomial<Integer> derivative(Polynomial<Integer> p)
      Computes derivative of polynomial.
    • derivative

      public static Polynomial<Integer> derivative(Polynomial<Integer> p, int n)
      Computes nth derivative.