Linear independence #
This file collects basic consequences of linear (in)dependence and includes specialized tests for specific families of vectors.
Main statements #
We prove several specialized tests for linear independence of families of vectors and of sets of vectors.
linearIndependent_empty_type
: a family indexed by an empty type is linearly independent;linearIndependent_unique_iff
: ifι
is a singleton, thenLinearIndependent K v
is equivalent tov default ≠ 0
;linearIndependent_sum
: type-specific test for linear independence of families of vector fields;linearIndependent_singleton
: linear independence tests for set operations.
In many cases we additionally provide dot-style operations (e.g., LinearIndependent.union
) to
make the linear independence tests usable as hv.insert ha
etc.
TODO #
Rework proofs to hold in semirings, by avoiding the path through
ker (Finsupp.linearCombination R v) = ⊥
.
Tags #
linearly dependent, linear dependence, linearly independent, linear independence
A set of linearly independent vectors in a module M
over a semiring K
is also linearly
independent over a subring R
of K
.
See also LinearIndependent.restrict_scalars'
for a verison with more convenient typeclass
assumptions.
TODO : LinearIndepOn
version.
If v
is an injective family of vectors such that f ∘ v
is linearly independent, then v
spans a submodule disjoint from the kernel of f
.
TODO : LinearIndepOn
version.
If M / R
and M' / R'
are modules, i : R' → R
is a map, j : M →+ M'
is a monoid map,
such that they are both injective, and compatible with the scalar
multiplications on M
and M'
, then j
sends linearly independent families of vectors to
linearly independent families of vectors. As a special case, taking R = R'
it is LinearIndependent.map_injOn
.
TODO : LinearIndepOn
version.
If M / R
and M' / R'
are modules, i : R → R'
is a surjective map,
and j : M →+ M'
is an injective monoid map, such that the scalar multiplications
on M
and M'
are compatible, then j
sends linearly independent families
of vectors to linearly independent families of vectors. As a special case, taking R = R'
it is LinearIndependent.map_injOn
.
TODO : LinearIndepOn
version.
If a linear map is injective on the span of a family of linearly independent vectors, then
the family stays linearly independent after composing with the linear map.
See LinearIndependent.map
for the version with Set.InjOn
replaced by Disjoint
when working over a ring.
Alias of LinearIndepOn.comp_of_image
.
Alias of LinearIndepOn.image_of_comp
.
Alias of LinearIndepOn.id_image
.
Every finite subset of a linearly independent set is linearly independent.
Alias of LinearIndepOn.mono
.
Alias of linearIndepOn_of_finite
.
Linear independent families are injective, even if you multiply either side.
The following lemmas use the subtype defined by a set in M
as the index set ι
.
Alias of LinearIndepOn.id_imageₛ
.
Alias of eq_of_linearIndepOn_id_of_span_subtype
.
If ∑ i, f i • v i = ∑ i, g i • v i
, then for all i
, f i = g i
.
If v
is a linearly independent family of vectors and the kernel of a linear map f
is
disjoint with the submodule spanned by the vectors of v
, then f ∘ v
is a linearly independent
family of vectors. See also LinearIndependent.map'
for a special case assuming ker f = ⊥
.
An injective linear map sends linearly independent families of vectors to linearly independent
families of vectors. See also LinearIndependent.map
for a more general statement.
If M / R
and M' / R'
are modules, i : R' → R
is a map, j : M →+ M'
is a monoid map,
such that they send non-zero elements to non-zero elements, and compatible with the scalar
multiplications on M
and M'
, then j
sends linearly independent families of vectors to
linearly independent families of vectors. As a special case, taking R = R'
it is LinearIndependent.map'
.
If M / R
and M' / R'
are modules, i : R → R'
is a surjective map which maps zero to zero,
j : M →+ M'
is a monoid map which sends non-zero elements to non-zero elements, such that the
scalar multiplications on M
and M'
are compatible, then j
sends linearly independent families
of vectors to linearly independent families of vectors. As a special case, taking R = R'
it is LinearIndependent.map'
.
If f
is an injective linear map, then the family f ∘ v
is linearly independent
if and only if the family v
is linearly independent.
See LinearIndependent.fin_cons
for a family of elements in a vector space.
Alias of LinearIndepOn.id_union
.
Alias of LinearIndepOn.image
.
Dedekind's linear independence of characters
Alias of the reverse direction of linearIndependent_unique_iff
.
Alias of LinearIndepOn.id_singleton
.