Documentation

LeanPool.DavisKahan.ForTauCeti.Analysis.Normed.Operator.FiniteRankCompact

Finite-rank operators are compact #

ContinuousLinearMap.isCompactOperator_of_finiteDimensional_range: a bounded operator whose range is finite-dimensional is a compact operator.

Mathlib does not have this, which is the reason the module exists. It has isCompactOperator_id_iff_finiteDimensional (the identity is compact exactly on finite-dimensional spaces) and isCompactOperator_of_locallyCompactSpace_dom (any bounded map into a locally compact space is compact), but nothing that turns "the range is small" into compactness for a map into a large space.

The proof is the obvious factorisation and is three lines: corestrict to the range, where the target is finite-dimensional and therefore locally compact, and postcompose with the inclusion. It is short because the two Mathlib lemmas it uses are exactly right; it is stated because a caller who needs it would otherwise inline the factorisation, which is how a general fact ends up hidden inside a specific development.

That is not hypothetical: ApproximationNumber/Compact.lean carried finite rank ⇒ compact as an explicit hypothesis on isCompactOperator_of_tendsto_approximationNumber, with a docstring saying the lemma belonged in a module about compact operators rather than in an operator-ideal file. This is that module.

Scalars #

[ProperSpace 𝕜] is the whole scalar hypothesis: it is what makes a finite-dimensional normed space over 𝕜 proper, hence locally compact. It holds over ℝ and ℂ, and so under RCLike, but is stated directly because nothing here is about an inner product — and completeness of 𝕜 is not needed, which the section variables show rather than assert.

Sources #

Follows nothing in particular: the factorisation is the standard textbook argument.

Provenance #

A bounded operator with finite-dimensional range is compact.

The factorisation is through the range: R corestricted to LinearMap.range R is a bounded map into a finite-dimensional — hence locally compact — space, so it is compact by isCompactOperator_of_locallyCompactSpace_dom, and composing with the inclusion preserves that.

A bounded operator of finite rank is compact. The Cardinal-valued form of isCompactOperator_of_finiteDimensional_range, which is the shape the approximation-number API produces: aₙ bounds are stated as R.rank ≤ n.