Permanent polynomials and symmetric projections
Lax461425.Permanent · concepts/Lax461425/Permanent.lean · lax-461425
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Definition
The permanent polynomial, affine linear polynomials, and symmetric affine projections of permanents. The order of the projected permanent is unrestricted.
Concept map
Lean source view on GitHub
| 1 | import Lax461425.SymmetricFamilies |
| 2 | import Mathlib.LinearAlgebra.Matrix.Permanent |
| 3 | import Mathlib.Algebra.MvPolynomial.Rename |
| 4 | import Lax461425.MatrixSymmetry |
| 5 | |
| 6 | /-! |
| 7 | --- |
| 8 | title: Permanent polynomials and symmetric projections |
| 9 | type: definition |
| 10 | --- |
| 11 | The permanent polynomial, affine linear polynomials, and symmetric affine projections of |
| 12 | permanents. The order of the projected permanent is unrestricted. |
| 13 | -/ |
| 14 | |
| 15 | open Lax461425.SymmetricFamilies (MatrixPolynomial) |
| 16 | |
| 17 | namespace Lax461425.Permanent |
| 18 | |
| 19 | open MatrixSymmetry |
| 20 | |
| 21 | /-- The permanent polynomial on an `n × n` variable matrix. -/ |
| 22 | noncomputable def permanent (K : Type*) [CommSemiring K] (n : ℕ) : |
| 23 | MatrixPolynomial n K := |
| 24 | Matrix.permanent (fun i j => MvPolynomial.X (i, j)) |
| 25 | |
| 26 | /-- An affine linear polynomial, given by a constant and finitely many variable coefficients. -/ |
| 27 | def IsAffine {V K : Type*} [CommSemiring K] (p : MvPolynomial V K) : Prop := |
| 28 | ∃ (c : K) (s : Finset V) (a : V → K), |
| 29 | p = MvPolynomial.C c + ∑ v ∈ s, MvPolynomial.C (a v) * MvPolynomial.X v |
| 30 | |
| 31 | /-- A symmetric affine projection of a permanent, with no restriction on the source order. |
| 32 | The finite index type is nonempty, corresponding to source order at least one. -/ |
| 33 | def IsSymmetricProjection {V G K : Type*} [Group G] [CommSemiring K] |
| 34 | (ρ : G →* Equiv.Perm V) (p : MvPolynomial V K) : Prop := |
| 35 | ∃ (A : Type) (_ : Fintype A) (_ : DecidableEq A) (_ : Nonempty A) |
| 36 | (M : Matrix A A (MvPolynomial V K)), |
| 37 | p = Matrix.permanent M ∧ (∀ i j, IsAffine (M i j)) ∧ |
| 38 | ∀ γ, ∃ α β : Equiv.Perm A, |
| 39 | ∀ i j, M (α i) (β j) = MvPolynomial.rename (ρ γ) (M i j) |
| 40 | |
| 41 | end Lax461425.Permanent |
| 42 |
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments