Documentation

CompPoly.Univariate.Linear

Linear Algebra API for Computable Univariate Polynomials #

This file contains linear maps and instance-stable bounded-degree predicates for CPolynomial.

This is an R-linear function that returns the coefficient of X^n.

Instances For

    The set of CPolynomial R consisting of polynomials of degree ≤ n.

    Instances For

      The set of CPolynomial R consisting of polynomials of degree < n.

      Instances For

        degreeLT n is exactly the bounded-size carrier storing at most n coefficients.

        The zero polynomial has bounded degree for every cutoff.

        theorem CompPoly.CPolynomial.add_mem_degreeLT {R : Type u_1} [Semiring R] [BEq R] [LawfulBEq R] {n : } {p q : CPolynomial R} (hp : p degreeLT n) (hq : q degreeLT n) :
        p + q degreeLT n

        degreeLT n is closed under addition.

        theorem CompPoly.CPolynomial.nsmul_mem_degreeLT {R : Type u_1} [Semiring R] [BEq R] [LawfulBEq R] {n m : } {p : CPolynomial R} (hp : p degreeLT n) :

        degreeLT n is closed under additive scalar multiplication.

        theorem CompPoly.CPolynomial.smul_mem_degreeLT {R : Type u_1} [Semiring R] [BEq R] [LawfulBEq R] {n : } (r : R) {p : CPolynomial R} (hp : p degreeLT n) :

        degreeLT n is closed under semiring scalar multiplication.

        @[implicit_reducible]
        @[implicit_reducible]
        instance CompPoly.CPolynomial.instAddElemDegreeLT {R : Type u_1} [Semiring R] [BEq R] [LawfulBEq R] (n : ) :
        Add (degreeLT n)
        @[implicit_reducible]
        @[implicit_reducible]
        instance CompPoly.CPolynomial.instSMulElemDegreeLT {R : Type u_1} [Semiring R] [BEq R] [LawfulBEq R] (n : ) :
        SMul R (degreeLT n)
        @[implicit_reducible]
        @[implicit_reducible]
        def CompPoly.CPolynomial.degreeLTCoeffs {R : Type u_1} [Semiring R] [BEq R] [LawfulBEq R] (n : ) :
        (degreeLT n) →ₗ[R] Fin nR

        The first n coefficients on degreeLT n form a computable linear map to Fin n → R.

        Instances For