Principal subresultant coefficients #
This file defines the fixed-bound principal subresultant coefficient of two polynomials. For
j ≤ min m n, its matrix is obtained from the Sylvester matrix by deleting the first and last j
rows and the last j columns from each polynomial block. Thus the coefficient at index zero is the
resultant, while the terminal coefficient is a power of the coefficient at the smaller bound.
Keeping the bounds explicit is essential for specialization: mapping coefficients commutes with the construction even when the degrees of the mapped polynomials drop. These determinants are the scalar data used by subresultant gcd criteria and projection operators.
Main results #
TauCeti.coefficientRow_dotProduct: a row of shifted polynomial coefficients reads any coefficient ofA * q + B * pfrom the coefficient vector of(A, B).Polynomial.subresultantMatrix_mulVec: the matrix acts on a pair of coefficient vectors as(A, B) ↦ A * q + B * p, its rowireading the coefficient of degreei + j.Polynomial.psc_zero: the zeroth principal subresultant coefficient is the resultant.Polynomial.psc_map_map: fixed-bound principal subresultant coefficients commute with coefficient maps.Polynomial.psc_comm: swapping the polynomials multiplies by(-1) ^ ((m - j) * (n - j)).Polynomial.psc_C_mul_left,Polynomial.psc_C_mul_right: scaling one polynomial by a constant scales the coefficient by a power of that constant.Polynomial.psc_left_bound,Polynomial.psc_right_bound: at a formal degree bound, the determinant is a power of the coefficient at that bound.Polynomial.psc_min: the terminal determinant is a power of the coefficient at the smaller degree bound.
References #
- S. Basu, R. Pollack, M.-F. Roy, Algorithms in Real Algebraic Geometry, second edition, Chapter 4.
- Q. Vermande, Cylindrical Algebraic Decomposition in Coq/Rocq, §3.
The square coefficient matrix whose determinant is the principal subresultant coefficient at
index j and formal degree bounds m and n.
Row i reads the coefficient of degree i + j. The first m - j columns read
q, X*q, ..., X^(m-j-1)*q and the last n - j columns read p, X*p, ..., X^(n-j-1)*p, with
q and p truncated to their formal bounds n and m; when q.natDegree ≤ n and
p.natDegree ≤ m the entries are exactly those coefficients
(Polynomial.subresultantMatrix_apply_eq_coeff). For j ≤ min m n, the case subresultant
applications use, the rows read the degrees j, ..., m+n-j-1.
Equations
- One or more equations did not get rendered due to their size.
Instances For
When the formal bounds dominate the degrees, subresultant entries are simply coefficients of the shifted input polynomials.
At index zero, the principal subresultant matrix is Mathlib's Sylvester matrix.
Mapping coefficients maps every entry of the fixed-bound principal subresultant matrix.
Swapping the polynomials and their bounds swaps the two column blocks of the principal subresultant matrix.
A row of coefficients of shifted q and p reads the coefficient of degree d of
A * q + B * p, where the two blocks of v are the coefficients of A and B.
The row lengths are arbitrary, and the formal bounds dominate the actual input degrees.
The principal subresultant matrix acts on a vector as the linear map (A, B) ↦ A * q + B * p,
where A and B are the polynomials whose coefficients are the first m - j and the last n - j
entries of the vector: entry i of the result is the coefficient of degree i + j. The formal
bounds must dominate the actual degrees.
The principal subresultant coefficient at index j and formal degree bounds m and n.
The bounds are part of the data: they are not recomputed after coefficient specialization.
Equations
- p.psc q m n j = (p.subresultantMatrix q m n j).det
Instances For
The principal subresultant coefficient is the determinant of the principal subresultant matrix.
The zeroth principal subresultant coefficient is the fixed-bound resultant.
Principal subresultant coefficients commute with coefficient maps at fixed bounds. No degree-preservation hypothesis is needed.
At the left formal degree bound, the principal coefficient is the corresponding power of the
left polynomial's coefficient. This is the terminal coefficient when m ≤ n; when n < m,
both sides reduce to 1 because the index is beyond the subresultant range.
At the right formal degree bound, the principal coefficient is the corresponding power of the
right polynomial's coefficient. This is the terminal coefficient when n ≤ m; when m < n,
both sides reduce to 1 because the index is beyond the subresultant range.
The principal coefficient at the terminal subresultant index is a power of the coefficient at the smaller formal degree bound.