Skip to content

Tensor space - #1970

Open
Tragicus wants to merge 3 commits into
math-comp:masterfrom
Tragicus:tensor
Open

Tragicus wants to merge 3 commits into
math-comp:masterfrom
Tragicus:tensor

Conversation

@Tragicus

Copy link
Copy Markdown
Collaborator
Motivation for this change

Binary and indexed product tensor spaces.
@CohenCyril I have little recollection of what we did, so I have no idea what the status of this is. In particular, I see the universal property of the binary tensor space but not the general product one.
@mkerjean FYI

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

@mkerjean

Copy link
Copy Markdown
Collaborator

This looks nice, thank you for making this PR! Could you tell me what the \pi_Q map represents? Could you point me to the universal property for the binary tensor product within the code, so that I can start from here? More generally, happy to help on this PR, tell me what I can do.

@Tragicus

Copy link
Copy Markdown
Collaborator Author

If Q is a quotient of some type T \pi_Q is the projection from T to Q.

Comment thread classical/tensor.v

Variable (W : lmodType R).

Definition tensor_umap (f : U -> V -> W) (t : tensor) : W :=

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

This is half of the bijection, which turns a bilinear map from U and V to a linear map from the tensor product (see the instance below).

@affeldt-aist

Copy link
Copy Markdown
Member

@CohenCyril who is working on this PR?

@affeldt-aist affeldt-aist added this to the 1.20.0 milestone Oct 22, 2026
@affeldt-aist affeldt-aist added the enhancement ✨ This issue/PR is about adding new features enhancing the library label Oct 22, 2026
@affeldt-aist
affeldt-aist marked this pull request as ready for review October 22, 2026 13:25
@affeldt-aist

Copy link
Copy Markdown
Member

(doc in progress, changelog to be done)

Comment thread classical/tensor.v
(* : the vector space whose basis is `T` *)
(* *)
(* `free_lmod_unit x` or `x%:lmod` *)
(* : This is the unit of the monad. *)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

of the monad : which monad ?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

free_lmod_unit and a specialized version of free_lmod_eval make free_lmod a monad.

This branch has not been deployed

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

Labels

enhancement ✨ This issue/PR is about adding new features enhancing the library

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants