Permanences minus variations with zero gaps #
List.permanencesMinusVariations is the integer-valued sign statistic used in
signed subresultant formulas for Cauchy indices. Leading and trailing zeros are
ignored. Two consecutive nonzero entries with k intervening zeros contribute
(-1) ^ (Nat.choose k 2) * sign(a) * sign(b) when k is even, and zero otherwise.
In particular, interior zeros cannot simply be deleted.
The zero-gap recursion characterizes the statistic, and sign-preserving and
sign-reversing maps preserve it; in particular, so does scaling every entry by a
nonzero constant. For a list without zeros it is the number of
adjacent pairs minus twice Mathlib's List.signVariations.
References #
S. Basu, R. Pollack, and M.-F. Roy, Algorithms in Real Algebraic Geometry, second edition, Chapter 4 (permanences minus variations of signed subresultants).
Sum over consecutive nonzero entries, retaining the parity and length of each intervening zero gap. Leading and trailing zeros contribute nothing.
Equations
- l.permanencesMinusVariations = TauCeti.pmvAux✝ 0 0 (List.map (⇑SignType.sign) l)
Instances For
A prefix of zeros is ignored.
A suffix of zeros is ignored.
A list with only its head possibly nonzero has no adjacent nonzero pair.
Recursion across a zero gap ending at a nonzero entry. This also specifies the sign correction for even gaps and the cancellation for odd gaps.
Without an intervening zero, an adjacent pair contributes the product of its signs.
Joining two blocks whose boundary entries are nonzero adds precisely the contribution of the intervening zero gap to their separate statistics.
The statistic depends only on the ordered list of signs, including zeros.
Sign-preserving maps preserve permanences minus variations.
Reversing every sign preserves the products of consecutive nonzero signs.
Multiplying every entry by a nonzero constant preserves permanences minus variations.
On a list with no zeros, permanences minus variations is the number of adjacent pairs minus twice the number of sign changes.