Skip to content

Conversation

@xcaruso
Copy link
Contributor

@xcaruso xcaruso commented Sep 12, 2024

This PR implements pseudomorphisms.

Let $M, M'$ be modules over a ring $R$, $\theta: R \to R$ be a ring homomorphism, and $\delta: R \to R$ be a $\theta$-derivation, which is a map such that $\delta(xy) = \theta(x)\delta(y) + \delta(x)y$.
A pseudomorphism $f : M \to M$ is an additive map such that $f(\lambda x) = \theta(\lambda)f(x) + \delta(\lambda) x$ for all $\lambda$ and $x$.

This PR is based on a former PR by @ymusleh (that I could not find, I don't know why).

📝 Checklist

  • The title is concise and informative.
  • The description explains in detail what this PR is about.
  • I have linked a relevant issue or discussion.
  • I have created tests covering the changes.
  • I have updated the documentation and checked the documentation preview.

⌛ Dependencies

@github-actions
Copy link

github-actions bot commented Sep 12, 2024

Documentation preview for this PR (built with commit 76b71cf; changes) is ready! 🎉
This preview will update shortly after each push to this PR.

@xcaruso xcaruso mentioned this pull request Sep 23, 2024
5 tasks
@xcaruso xcaruso requested a review from kryzar September 23, 2024 16:35
@xcaruso
Copy link
Contributor Author

xcaruso commented Feb 11, 2025

@kryzar Please tell me if you have some comment on this PR.

Copy link
Contributor

@kryzar kryzar left a comment

Choose a reason for hiding this comment

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

Here are some suggestions to enhance the doc:

@xcaruso xcaruso added the sd128 tickets of Sage Days 128 Le Teich label Feb 13, 2025
@kryzar kryzar self-requested a review February 13, 2025 19:03
@kryzar
Copy link
Contributor

kryzar commented Feb 14, 2025

Thanks Xavier!
The two failing tests do not seem to be related to this ticket.
PR approved.

@kryzar
Copy link
Contributor

kryzar commented Feb 14, 2025

Also, thank you @ymusleh for the original contribution!

@xcaruso
Copy link
Contributor Author

xcaruso commented Feb 15, 2025

Great, thanks!

vbraun pushed a commit to vbraun/sage that referenced this pull request Feb 18, 2025
sagemathgh-38650: Add support for pseudomorphisms
    
This PR implements pseudomorphisms.

Let $M, M'$ be modules over a ring $R$, $\theta: R \to R$ be a ring
homomorphism, and $\delta: R \to R$ be a $\theta$-derivation, which is a
map such that $\delta(xy) = \theta(x)\delta(y) + \delta(x)y$.
A *pseudomorphism* $f : M \to M$ is an additive map such that $f(\lambda
x) = \theta(\lambda)f(x) + \delta(\lambda) x$ for all $\lambda$ and $x$.

This PR is based on a former PR by @ymusleh (that I could not find, I
don't know why).

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->

- [x] The title is concise and informative.
- [x] The description explains in detail what this PR is about.
- [ ] I have linked a relevant issue or discussion.
- [x] I have created tests covering the changes.
- [x] I have updated the documentation and checked the documentation
preview.

### ⌛ Dependencies
    
URL: sagemath#38650
Reported by: Xavier Caruso
Reviewer(s): Antoine Leudière, Kwankyu Lee, Xavier Caruso
@vbraun vbraun merged commit c43cd23 into sagemath:develop Feb 21, 2025
21 of 23 checks passed
@kryzar
Copy link
Contributor

kryzar commented Feb 21, 2025

🍾

vbraun pushed a commit to vbraun/sage that referenced this pull request Mar 19, 2025
sagemathgh-38703: Implementation of Ore modules
    
This PR implements modules over Ore polynomial rings.

More precisely, if $A[X;\theta,\partial]$ is a Ore polynomial ring, we
propose an implementation of finite free modules $M$ over $A$ equipped
with a map $f : M \to M$ such that $f(ax) = \theta(a) f(x) + \partial(a)
x$ for all $a \in R$ and $x \in M$.
Such a map is called *pseudolinear* and it endows `M` with a structure
of module over $A[X;\theta,\partial]$ (the map $f$ corresponding to the
multiplication by $X$).

This PR includes:
- an implementation of the category of Ore modules
- an implementation of Ore modules, their submodules and their quotients
(with an option to give chosen names to elements in a distinguished
basis)
- a constructor to create quotients of the form $A[X;\theta,\partial] /
A[X;\theta,\partial]P$
- an implementation of morphisms between Ore modules, including methods
for computing kernels, cokernels, images and coimages

This is the second step (after PR sagemath#38650) towards the implemetation of
Anderson motives.

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->

- [x] The title is concise and informative.
- [x] The description explains in detail what this PR is about.
- [ ] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation and checked the documentation
preview.

### ⌛ Dependencies

sagemath#38650: pseudomorphisms
    
URL: sagemath#38703
Reported by: Xavier Caruso
Reviewer(s): Rubén Muñoz--Bertrand
vbraun pushed a commit to vbraun/sage that referenced this pull request Mar 22, 2025
sagemathgh-38703: Implementation of Ore modules
    
This PR implements modules over Ore polynomial rings.

More precisely, if $A[X;\theta,\partial]$ is a Ore polynomial ring, we
propose an implementation of finite free modules $M$ over $A$ equipped
with a map $f : M \to M$ such that $f(ax) = \theta(a) f(x) + \partial(a)
x$ for all $a \in R$ and $x \in M$.
Such a map is called *pseudolinear* and it endows `M` with a structure
of module over $A[X;\theta,\partial]$ (the map $f$ corresponding to the
multiplication by $X$).

This PR includes:
- an implementation of the category of Ore modules
- an implementation of Ore modules, their submodules and their quotients
(with an option to give chosen names to elements in a distinguished
basis)
- a constructor to create quotients of the form $A[X;\theta,\partial] /
A[X;\theta,\partial]P$
- an implementation of morphisms between Ore modules, including methods
for computing kernels, cokernels, images and coimages

This is the second step (after PR sagemath#38650) towards the implemetation of
Anderson motives.

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->

- [x] The title is concise and informative.
- [x] The description explains in detail what this PR is about.
- [ ] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation and checked the documentation
preview.

### ⌛ Dependencies

sagemath#38650: pseudomorphisms
    
URL: sagemath#38703
Reported by: Xavier Caruso
Reviewer(s): Rubén Muñoz--Bertrand
@xcaruso xcaruso deleted the pseudomorphism branch August 19, 2025 16:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

c: algebra c: linear algebra sd128 tickets of Sage Days 128 Le Teich

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants