Solvers

Matrices

AlgebraicSolvers.matrix_macaulayFunction
R, L = matrix_macaulay(P, X, rho, ish = false)
  • P polynomial system
  • X (optional) array of variables
  • rho (optional) maximal degree of the multiples of P
  • ish (optional) set to true if the polynomials are homogeneous

It outputs

  • R the transpose of Sylvester matrix of all monomial multiples mi*pi in degree ≤ rho.
  • L array of monomials indexing the columns of R
source
AlgebraicSolvers.matrix_toricFunction
R, L = matrix_toric(P, A)
  • P polynomial system
  • A array of supports of Pi

It outputs

  • R transpose of the Sylvester matrix of all monomial multiples mi*pi for mi in supp(∏_{j != i} pj).
  • L the list of monomials indexing the colums of R
source

Solutions

AlgebraicSolvers.solve_macaulayFunction
solve_macaulay(P, X, rho)
  • P polynomial system
  • X (optional) array of variables
  • rho (optional) degree of regularity for the Sylvester matrix construction (optional)

Solve the system P=[p1, ..., pn], building Sylvester matrix of all monomial multiples mi*pi in degree ≤ ρ.

The default value for ρ is ∑ deg(pi) - n + 1.

Example

julia> using AlgebraicSolvers, DynamicPolynomials

julia> X = @polyvar x y
(x, y)

julia> P = [2-x*y,x+y-2]
2-element Vector{Polynomial{true, Int64}}:
 -xy + 2
 x + y - 2

julia> solve_macaulay(P,X)
-- Degrees [2, 1]
-- Homogeneity false
-- Monomials 6 degree 2   0.0(s)
-- Macaulay matrix 4x6   6.4849853515625e-5(s)
-- Null space 6x2   5.1021575927734375e-5(s)
-- Qr basis 2   4.601478576660156e-5(s)
-- Mult matrices 1.6927719116210938e-5(s)
-- Eigen diag   9.799003601074219e-5(s)

2×2 Matrix{ComplexF64}:
 1.0+1.0im  1.0-1.0im
 1.0-1.0im  1.0+1.0im
source
AlgebraicSolvers.solve_toricFunction
solve_toric(P, X)
  • P polynomial system
  • X array of variables

Solve the system P=[p1, ..., pn], building Sylvester matrix of all monomial multiples mi*pi for mi in supp(∏_{j != i} pj).

source