The orthogonal projection #
Given a nonempty subspace K
of an inner product space E
such that K
admits an orthogonal projection, this file constructs
K.orthogonalProjection : E โL[๐] K
, the orthogonal projection of E
onto K
. This map
satisfies: for any point u
in E
, the point v = K.orthogonalProjection u
in K
minimizes the
distance โu - vโ
to u
.
This file also defines K.starProjection : E โL[๐] E
which is the
orthogonal projection of E
onto K
but as a map from E
to E
instead of E
to K
.
Basic API for orthogonalProjection
and starProjection
is developed.
References #
The orthogonal projection construction is adapted from
- [Clรฉment & Martin, The Lax-Milgram Theorem. A detailed proof to be formalized in Coq]
- [Clรฉment & Martin, A Coq formal proof of the LaxโMilgram theorem]
The Coq code is available at the following address: http://www.lri.fr/~sboldo/elfic/index.html
A subspace K : Submodule ๐ E
has an orthogonal projection if every vector v : E
admits an
orthogonal projection to K
.
Instances
The orthogonal projection onto a complete subspace, as an
unbundled function. This definition is only intended for use in
setting up the bundled version orthogonalProjection
and should not
be used once that is defined.
Equations
- K.orthogonalProjectionFn v = โฏ.choose
Instances For
The unbundled orthogonal projection is in the given subspace. This lemma is only intended for use in setting up the bundled version and should not be used once that is defined.
The characterization of the unbundled orthogonal projection. This lemma is only intended for use in setting up the bundled version and should not be used once that is defined.
The unbundled orthogonal projection is the unique point in K
with the orthogonality property. This lemma is only intended for use
in setting up the bundled version and should not be used once that is
defined.
The orthogonal projection onto a complete subspace.
Equations
- K.orthogonalProjection = { toFun := fun (v : E) => โจK.orthogonalProjectionFn v, โฏโฉ, map_add' := โฏ, map_smul' := โฏ }.mkContinuous 1 โฏ
Instances For
The orthogonal projection onto a subspace as a map from the full space to itself,
as opposed to Submodule.orthogonalProjection
, which maps into the subtype. This
version is important as it satisfies IsStarProjection
.
Equations
Instances For
The characterization of the orthogonal projection.
Alias of Submodule.starProjection_inner_eq_zero
.
The characterization of the orthogonal projection.
The difference of v
from its orthogonal projection onto K
is in Kแฎ
.
Alias of Submodule.sub_starProjection_mem_orthogonal
.
The difference of v
from its orthogonal projection onto K
is in Kแฎ
.
The orthogonal projection is the unique point in K
with the
orthogonality property.
Alias of Submodule.eq_starProjection_of_mem_of_inner_eq_zero
.
The orthogonal projection is the unique point in K
with the
orthogonality property.
A point in K
with the orthogonality property (here characterized in terms of Kแฎ
) must be the
orthogonal projection.
Alias of Submodule.eq_starProjection_of_mem_orthogonal
.
A point in K
with the orthogonality property (here characterized in terms of Kแฎ
) must be the
orthogonal projection.
A point in K
with the orthogonality property (here characterized in terms of Kแฎ
) must be the
orthogonal projection.
Alias of Submodule.eq_starProjection_of_mem_orthogonal'
.
A point in K
with the orthogonality property (here characterized in terms of Kแฎ
) must be the
orthogonal projection.
Alias of Submodule.starProjection_orthogonal_val
.
The orthogonal projection of y
on U
minimizes the distance โy - xโ
for x โ U
.
Alias of Submodule.starProjection_minimal
.
The orthogonal projection of y
on U
minimizes the distance โy - xโ
for x โ U
.
The orthogonal projections onto equal subspaces are coerced back to the same point in E
.
Alias of Submodule.eq_starProjection_of_eq_submodule
.
The orthogonal projections onto equal subspaces are coerced back to the same point in E
.
The orthogonal projection sends elements of K
to themselves.
A point equals its orthogonal projection if and only if it lies in the subspace.
Alias of Submodule.starProjection_eq_self_iff
.
A point equals its orthogonal projection if and only if it lies in the subspace.
Alias of LinearIsometry.map_starProjection
.
Alias of LinearIsometry.map_starProjection'
.
Orthogonal projection onto the Submodule.map
of a subspace.
Alias of Submodule.starProjection_map_apply
.
Orthogonal projection onto the Submodule.map
of a subspace.
The orthogonal projection onto the trivial submodule is the zero map.
The orthogonal projection has norm โค 1
.
The orthogonal projection onto a closed subspace is norm non-increasing.
The orthogonal projection onto a closed subspace is a 1
-Lipschitz map.
The operator norm of the orthogonal projection onto a nontrivial subspace is 1
.
Alias of Submodule.smul_starProjection_singleton
.
Formula for orthogonal projection onto a single vector.
Alias of Submodule.starProjection_singleton
.
Formula for orthogonal projection onto a single vector.
Formula for orthogonal projection onto a single unit vector.
Alias of Submodule.starProjection_unit_singleton
.
Formula for orthogonal projection onto a single unit vector.
If K
is complete, any v
in E
can be expressed as a sum of elements of K
and Kแฎ
.
The orthogonal projection onto K
of an element of Kแฎ
is zero.
The projection into U
from an orthogonal submodule V
is the zero map.
The projection into U
from V
is the zero map if and only if U
and V
are orthogonal.
U.starProjection โ V.starProjection = 0
iff U
and V
are pairwise orthogonal.
The orthogonal projection onto Kแฎ
of an element of K
is zero.
Alias of Submodule.orthogonalProjection_orthogonal_apply_eq_zero
.
The orthogonal projection onto Kแฎ
of an element of K
is zero.
If U โค V
, then projecting on V
and then on U
is the same as projecting on U
.
Alias of Submodule.orthogonalProjection_starProjection_of_le
.
If U โค V
, then projecting on V
and then on U
is the same as projecting on U
.
The orthogonal projection onto (๐ โ v)แฎ
of v
is zero.
If the orthogonal projection to K
is well-defined, then a vector splits as the sum of its
orthogonal projections onto a complete submodule K
and onto the orthogonal complement of K
.
Alias of Submodule.starProjection_add_starProjection_orthogonal
.
If the orthogonal projection to K
is well-defined, then a vector splits as the sum of its
orthogonal projections onto a complete submodule K
and onto the orthogonal complement of K
.
The Pythagorean theorem, for an orthogonal projection.
In a complete space E
, the projection maps onto a complete subspace K
and its orthogonal
complement sum to the identity.
Alias of Submodule.id_eq_sum_starProjection_self_orthogonalComplement
.
In a complete space E
, the projection maps onto a complete subspace K
and its orthogonal
complement sum to the identity.
The orthogonal projection is self-adjoint.
Alias of Submodule.inner_starProjection_left_eq_right
.
The orthogonal projection is self-adjoint.
The orthogonal projection is symmetric.
Alias of Submodule.starProjection_isSymmetric
.
The orthogonal projection is symmetric.
Alias of Submodule.re_inner_starProjection_nonneg
.