Zulip Chat Archive
Stream: Is there code for X?
Topic: Linear independence with MvPolynomial fractions
Peter Nelson (Mar 03 2025 at 23:37):
How do I prove this? (Or express the same idea more idiomatically)
It says that if a family of vectors is linear independent when viewed as constants in a fraction ring of polynomials, then they are linear independent as plain vectors.
I'm getting confused by all the algebraMap
s.
import Mathlib.RingTheory.Localization.FractionRing
import Mathlib.LinearAlgebra.LinearIndependent.Basic
import Mathlib.Algebra.MvPolynomial.CommRing
example {K ι σ : Type*} [Field K] (v₀ : ι → K) (v : ι → FractionRing (MvPolynomial σ K))
(hv : ∀ i, v i = (algebraMap (MvPolynomial σ K) _) (MvPolynomial.C (v₀ i)))
(hli : LinearIndependent (FractionRing (MvPolynomial σ K)) v) :
LinearIndependent K v₀ := by
sorry
Eric Wieser (Mar 03 2025 at 23:55):
theorem more_idiomatic {K ι σ : Type*} [Field K] (v₀ : ι → K)
(hli : LinearIndependent (FractionRing (MvPolynomial σ K)) (fun i => algebraMap _ (FractionRing (MvPolynomial σ K)) (v₀ i))) :
LinearIndependent K v₀ := by
refine (hli.restrict_scalars ?_).of_comp (Algebra.linearMap K (FractionRing (MvPolynomial σ K)))
simp_rw [← Algebra.algebraMap_eq_smul_one]
exact FaithfulSMul.algebraMap_injective _ _
example {K ι σ : Type*} [Field K] (v₀ : ι → K) (v : ι → FractionRing (MvPolynomial σ K))
(hv : ∀ i, v i = (algebraMap (MvPolynomial σ K) _) (MvPolynomial.C (v₀ i)))
(hli : LinearIndependent (FractionRing (MvPolynomial σ K)) v) :
LinearIndependent K v₀ := by
have : v = (fun i => algebraMap _ _ (v₀ i)) := by
ext; simp [hv]
rfl
subst this
apply more_idiomatic _ hli
Eric Wieser (Mar 03 2025 at 23:59):
So really docs#LinearIndependent.restrict_scalars is the interesting bit
Jz Pan (Mar 04 2025 at 02:47):
Maybe you can use docs#LinearIndependent.restrict_scalars' ?
Peter Nelson (Mar 04 2025 at 12:12):
Thanks!
Last updated: May 02 2025 at 03:31 UTC