ASKSAGE: Sage Q&A Forum - RSS feedhttps://ask.sagemath.org/questions/Q&A Forum for SageenCopyright Sage, 2010. Some rights reserved under creative commons license.Thu, 12 Oct 2017 18:37:48 +0200laurent series ring induced homomorphismhttps://ask.sagemath.org/question/39123/laurent-series-ring-induced-homomorphism/ Can you not lift homomorphism of the base ring to the homomorphism of Laurent series ring in sage? (not manually)Wed, 11 Oct 2017 18:05:11 +0200https://ask.sagemath.org/question/39123/laurent-series-ring-induced-homomorphism/Answer by dan_fulea for <p>Can you not lift homomorphism of the base ring to the homomorphism of Laurent series ring in sage? (not manually)</p>
https://ask.sagemath.org/question/39123/laurent-series-ring-induced-homomorphism/?answer=39124#post-id-39124No, you can!
The posted question comes with no special situation, so i will try to generate one with a non-obvious homomorphism of base ring(s). The rings will be `R` and `S`, we define some morphism `f` between them, then the line `Lf = LR.Hom(LS)(f)`is the answer to the question, it constructs the induced morphism between the Laurent polynomial rings
- `LR` of `R`, and respectively
- `LS` of `S`.
(There is some issue with the right names for the generators.)
Details in a concrete situation. So let us declare in sage
$$R=\mathbb Z[x] / (\ x^2 + 6x + 3 \ )\longrightarrow\mathbb F_{49}=S\ ,$$
as follows:
R0.<x> = PolynomialRing(ZZ)
R.<a> = R0.quotient( x^2 + 6*x + 3 )
S.<b> = GF( 7**2, modulus = x^2 + 6*x + 3 )
f = R.Hom(S)( [ b^7, ] )
Here, the generator $a$ of $R$ goes to $b^7$.
For instance:
sage: f( 1+a )
6*b + 2
sage: 1+b^7
6*b + 2
We then introduce the Laurent polynomial rings `LR`, `LS` over $R,S$, and we have the induced morphism `Lf`.
Sample code:
sage: LR.<s,t> = LaurentPolynomialRing( R )
sage: LS.<s,t> = LaurentPolynomialRing( S )
sage: sR,tR = LR.gens()
sage: Lf = LR.Hom(LS)(f)
sage: Lf
Ring morphism:
From: Multivariate Laurent Polynomial Ring in s, t
over Univariate Quotient Polynomial Ring in a
over Integer Ring with modulus x^2 + 6*x + 3
To: Multivariate Laurent Polynomial Ring in s, t
over Finite Field in b of size 7^2
Defn: Induced from base ring by
Ring morphism:
From: Univariate Quotient Polynomial Ring in a
over Integer Ring with modulus x^2 + 6*x + 3
To: Finite Field in b of size 7^2
Defn: a |--> 6*b + 1
sage: Lf( (1+a)*sR + 8*tR )
(6*b + 2)*s + t
The information on `Lf` was manually arranged.
Note: In such cases please always give the concrete mathematical example of interest. (And of course, code initializing the objects in sage is welcome!) Things become simpler if the
Wed, 11 Oct 2017 20:37:32 +0200https://ask.sagemath.org/question/39123/laurent-series-ring-induced-homomorphism/?answer=39124#post-id-39124Comment by Ant for <p>No, you can!</p>
<p>The posted question comes with no special situation, so i will try to generate one with a non-obvious homomorphism of base ring(s). The rings will be <code>R</code> and <code>S</code>, we define some morphism <code>f</code> between them, then the line <code>Lf = LR.Hom(LS)(f)</code>is the answer to the question, it constructs the induced morphism between the Laurent polynomial rings </p>
<ul>
<li><code>LR</code> of <code>R</code>, and respectively </li>
<li><code>LS</code> of <code>S</code>.</li>
</ul>
<p>(There is some issue with the right names for the generators.)</p>
<p>Details in a concrete situation. So let us declare in sage
$$R=\mathbb Z[x] / (\ x^2 + 6x + 3 \ )\longrightarrow\mathbb F_{49}=S\ ,$$
as follows:</p>
<pre><code>R0.<x> = PolynomialRing(ZZ)
R.<a> = R0.quotient( x^2 + 6*x + 3 )
S.<b> = GF( 7**2, modulus = x^2 + 6*x + 3 )
f = R.Hom(S)( [ b^7, ] )
</code></pre>
<p>Here, the generator $a$ of $R$ goes to $b^7$.
For instance:</p>
<pre><code>sage: f( 1+a )
6*b + 2
sage: 1+b^7
6*b + 2
</code></pre>
<p>We then introduce the Laurent polynomial rings <code>LR</code>, <code>LS</code> over $R,S$, and we have the induced morphism <code>Lf</code>.
Sample code:</p>
<pre><code>sage: LR.<s,t> = LaurentPolynomialRing( R )
sage: LS.<s,t> = LaurentPolynomialRing( S )
sage: sR,tR = LR.gens()
sage: Lf = LR.Hom(LS)(f)
sage: Lf
Ring morphism:
From: Multivariate Laurent Polynomial Ring in s, t
over Univariate Quotient Polynomial Ring in a
over Integer Ring with modulus x^2 + 6*x + 3
To: Multivariate Laurent Polynomial Ring in s, t
over Finite Field in b of size 7^2
Defn: Induced from base ring by
Ring morphism:
From: Univariate Quotient Polynomial Ring in a
over Integer Ring with modulus x^2 + 6*x + 3
To: Finite Field in b of size 7^2
Defn: a |--> 6*b + 1
sage: Lf( (1+a)*sR + 8*tR )
(6*b + 2)*s + t
</code></pre>
<p>The information on <code>Lf</code> was manually arranged.</p>
<p>Note: In such cases please always give the concrete mathematical example of interest. (And of course, code initializing the objects in sage is welcome!) Things become simpler if the </p>
https://ask.sagemath.org/question/39123/laurent-series-ring-induced-homomorphism/?comment=39142#post-id-39142Yes, I want something like this, but for Laurent series ring instead of Laurent polynomial ring. Somehow inducing homomorphisms in this manner works for Laurent polynomials and power series, but it doesn't seem to work for Laurent series. I know it is not hard to write the corresponding code, but I was just wondering if it is already implemented in sageThu, 12 Oct 2017 18:37:48 +0200https://ask.sagemath.org/question/39123/laurent-series-ring-induced-homomorphism/?comment=39142#post-id-39142