Skip to content

Normed vector types, infinite norm, norm equivalence thm, continuity …#1718

Open
Tragicus wants to merge 5 commits intomath-comp:masterfrom
Tragicus:linear_findim_continuous
Open

Normed vector types, infinite norm, norm equivalence thm, continuity …#1718
Tragicus wants to merge 5 commits intomath-comp:masterfrom
Tragicus:linear_findim_continuous

Conversation

@Tragicus
Copy link
Collaborator

Continuity of linear functions in finite dimension

Motivation for this change
Checklist
  • added corresponding entries in CHANGELOG_UNRELEASED.md
  • added corresponding documentation in the headers

Reference: How to document

Merge policy

As a rule of thumb:

  • PRs with several commits that make sense individually and that
    all compile are preferentially merged into master.
  • PRs with disorganized commits are very likely to be squash-rebased.
Reminder to reviewers

@CohenCyril
Copy link
Member

@mkerjean FYI

Let V' := @fullv _ V.
Hypothesis (Bbasis : basis_of V' B).

Definition oo_norm x := \big[Order.max/0]_(i < \dim V') `|coord B i x|.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it really a good name? Because it is a bit like using a notation inside an identifier, also we have been using oo to mean "open-open" in MathComp (when talking about intervals). What about infty_norm? (like in LaTeX). Possibly coupling it with a notation using +oo in some way.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

max_norm is maybe also an option

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Inifinity norm" or "supremum norm" (or "norme sup" or "norme infinie" in french) is the traditional name.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sup_norm?

@affeldt-aist affeldt-aist self-requested a review September 24, 2025 09:04
Comment on lines +2204 to +2208
Lemma equivalence_norms (N : V -> R) :
N 0 = 0 -> (forall x, 0 <= N x) -> (forall x, N x = 0 -> x = 0) ->
(forall x y, N (x + y) <= N x + N y) ->
(forall r x, N (r *: x) = `|r| * N x) ->
exists M, 0 < M /\ forall x : Voo, `|x| <= M * N x /\ N x <= M * `|x|.
Copy link
Member

@CohenCyril CohenCyril Oct 16, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this deserve an abstraction of norm and an abstraction of norm comparison :)

@affeldt-aist affeldt-aist added this to the 1.15.0 milestone Nov 4, 2025
@affeldt-aist
Copy link
Member

99d840c is just a linting commit

@affeldt-aist
Copy link
Member

I was also wondering whether we should not try to extract the lemmas about bigmax (of non-negative terms using 0 as the default element) or try to use bigmax with {nonneg _} because I know of at least to other PRs that are using the same elements (to deal with mx_norm or with variations of functions).

@affeldt-aist affeldt-aist modified the milestones: 1.15.0, 1.16.0 Jan 15, 2026
@Tragicus Tragicus force-pushed the linear_findim_continuous branch from 99d840c to 994f950 Compare January 20, 2026 14:01
@CohenCyril CohenCyril force-pushed the linear_findim_continuous branch from 1a0fa98 to 6f03a34 Compare February 28, 2026 00:08
by move=> /(le_trans IHl).
Qed.

Lemma max_norm0 : max_norm 0 = 0.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't this lemma by declared as a Let? (same comment for the following lemmas in this section)

Variable B : (\dim V').-tuple V.
Hypothesis Bbasis : basis_of V' B.

Definition max_norm x := \big[Order.max/0]_(i < \dim V') `|coord B i x|.
Copy link
Member

@affeldt-aist affeldt-aist Mar 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe max_norm should be documented in the header (maybe also max_space just below)?

Proof. by rewrite -scaleN1r normZ normrN1 mul1r. Qed.

Lemma ler_norm_sum (I : Type) (r : seq I) (F : I -> L) :
norm (\sum_(i <- r) F i) <= \sum_(i <- r) norm (F i).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
norm (\sum_(i <- r) F i) <= \sum_(i <- r) norm (F i).
norm (\sum_(i <- r) F i) <= \sum_(i <- r) norm (F i).

@affeldt-aist
Copy link
Member

For example, Zmodule_isSemiNormed in MathComp provides a similar interface with the difference that norm is one of the field of the record (whereas here it is the subject). I guess the apparent duplication is unavoidable but doesn't it deserve a comment in the code?

@Tragicus Tragicus force-pushed the linear_findim_continuous branch 2 times, most recently from f678a8e to eb94092 Compare March 6, 2026 13:24
@Tragicus Tragicus force-pushed the linear_findim_continuous branch from eb94092 to c7c7aa1 Compare March 6, 2026 13:28
@Tragicus Tragicus force-pushed the linear_findim_continuous branch from c7c7aa1 to e09f221 Compare March 6, 2026 14:09
Variable B : (\dim V').-tuple V.
Hypothesis Bbasis : basis_of V' B.

Definition max_norm x := \big[Order.max/0]_(i < \dim V') `|coord B i x|.
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inference of a Norm.type for max_norm fails because the instance requires B to be a basis. However, it feels wrong to me to add the hypothesis in the definition of max_norm. What do you think?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants