Documentation

LeanPool.CCDN.AuxiliaryPolynomial.HypersurfaceAffineCoordinates

Explicit invertible affine coordinates along a direction with nonzero first component. The same map carries its base point to the origin and identifies the first partial derivative with the directional derivative.

noncomputable def CCDN.directionCoordinatesHom {K : Type u_1} {σ : Type u_2} [Field K] (b : Option σ → K) :

The linear coordinates x_i = b_i*x_0 + z_i, with no z_0.

Equations
Instances For
    noncomputable def CCDN.directionCoordinatesInv {K : Type u_1} {σ : Type u_2} [Field K] (b : Option σ → K) :

    The inverse of the linear coordinates directionCoordinatesHom b when b none ≠ 0: the substitution sending $x_0$ to $b_0^{-1} x_0$ and every other $x_i$ to $x_i - b_i b_0^{-1} x_0$.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      noncomputable def CCDN.directionCoordinates {K : Type u_1} {σ : Type u_2} [Field K] (b : Option σ → K) (hb : b none ≠ 0) :

      The linear coordinates $x_i = b_i x_0 + z_i$ (with no $z_0$) as an algebra automorphism, for a direction b with nonzero first component.

      Equations
      Instances For
        noncomputable def CCDN.hypersurfaceAffineCoordinates {K : Type u_1} {σ : Type u_2} [Field K] (a b : Option σ → K) (hb : b none ≠ 0) :

        Substitute a_i+b_i*x_0+z_i, so the new origin is the old point a.

        Equations
        Instances For
          theorem CCDN.hypersurfaceAffineCoordinates_X {K : Type u_1} {σ : Type u_2} [Field K] (a b : Option σ → K) (hb : b none ≠ 0) (i : Option σ) :

          The affine coordinates substitute $a_i + b_i x_0 + z_i$ for the variable $x_i$, with no $z_0$ term for the distinguished variable.

          theorem CCDN.hypersurfaceAffineCoordinates_totalDegree_le {K : Type u_1} {σ : Type u_2} [Field K] (a b : Option σ → K) (hb : b none ≠ 0) (f : MvPolynomial (Option σ) K) :

          The affine change of coordinates hypersurfaceAffineCoordinates a b hb does not increase the total degree.

          theorem CCDN.hypersurfaceAffineCoordinates_eval_zero {K : Type u_1} {σ : Type u_2} [Field K] (a b : Option σ → K) (hb : b none ≠ 0) (f : MvPolynomial (Option σ) K) :

          The affine coordinates carry the base point a to the origin: the transformed polynomial takes at 0 the value of f at a.

          theorem CCDN.hypersurfaceAffineCoordinates_partial_zero {K : Type u_1} {σ : Type u_2} [Field K] [Fintype σ] (a b : Option σ → K) (hb : b none ≠ 0) (f : MvPolynomial (Option σ) K) :

          In the affine coordinates, the first partial derivative at the origin is the derivative of f at a in the direction b.