Documentation

TauCeti.Data.List.PermanencesMinusVariations

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
Instances For
    @[simp]

    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.

    theorem List.permanencesMinusVariations_append_replicate_zero_cons {R : Type u_1} [Zero R] [LinearOrder R] (l m : List R) {a b : R} (ha : a ≠ 0) (hb : b ≠ 0) (k : ℕ) :

    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.

    theorem List.permanencesMinusVariations_map {R : Type u_1} {S : Type u_2} [Zero R] [LinearOrder R] [Zero S] [LinearOrder S] {f : R → S} (hf : ∀ (x : R), SignType.sign (f x) = SignType.sign x) (l : List R) :

    Sign-preserving maps preserve permanences minus variations.

    Reversing every sign preserves the products of consecutive nonzero signs.

    @[simp]

    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.