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, 24 May 2018 18:47:26 +0200free module changes dimensions after base changehttps://ask.sagemath.org/question/42384/free-module-changes-dimensions-after-base-change/ Hi, I have a free module of rank 1 over the integers
sage: M
Free module of degree 1 and rank 1 over Integer Ring
Echelon basis matrix:
[2]
However, when I base change it to the field with two elements, it changes dimension!
sage: M.change_ring(GF(2))
Vector space of degree 1 and dimension 0 over Finite Field of size 2
Basis matrix:
[]
What's going on?
P.S.: What does Sage mean by "degree"?Mon, 21 May 2018 22:27:29 +0200https://ask.sagemath.org/question/42384/free-module-changes-dimensions-after-base-change/Answer by John Palmieri for <p>Hi, I have a free module of rank 1 over the integers</p>
<pre><code>sage: M
Free module of degree 1 and rank 1 over Integer Ring
Echelon basis matrix:
[2]
</code></pre>
<p>However, when I base change it to the field with two elements, it changes dimension!</p>
<pre><code>sage: M.change_ring(GF(2))
Vector space of degree 1 and dimension 0 over Finite Field of size 2
Basis matrix:
[]
</code></pre>
<p>What's going on?</p>
<p>P.S.: What does Sage mean by "degree"?</p>
https://ask.sagemath.org/question/42384/free-module-changes-dimensions-after-base-change/?answer=42385#post-id-42385The degree means the dimension of the ambient module. For example, the vector space spanned by `(2,0,2)` inside **R**^3 is one dimensional but is of degree 3.
In your case, you have a module over the integers, perhaps spanned by `(2)` inside of a rank one free Z-module. When you reduce mod 2, the spanning vector becomes `(0)`, so the resulting module over `GF(2)` is zero dimensional.Mon, 21 May 2018 23:45:33 +0200https://ask.sagemath.org/question/42384/free-module-changes-dimensions-after-base-change/?answer=42385#post-id-42385Comment by John Palmieri for <p>The degree means the dimension of the ambient module. For example, the vector space spanned by <code>(2,0,2)</code> inside <strong>R</strong>^3 is one dimensional but is of degree 3.</p>
<p>In your case, you have a module over the integers, perhaps spanned by <code>(2)</code> inside of a rank one free Z-module. When you reduce mod 2, the spanning vector becomes <code>(0)</code>, so the resulting module over <code>GF(2)</code> is zero dimensional.</p>
https://ask.sagemath.org/question/42384/free-module-changes-dimensions-after-base-change/?comment=42392#post-id-42392Note that this behavior of `change_ring` is described it its documentation. Anyway, mathematically, what are you trying to accomplish?Tue, 22 May 2018 16:49:09 +0200https://ask.sagemath.org/question/42384/free-module-changes-dimensions-after-base-change/?comment=42392#post-id-42392Comment by RegularUser for <p>The degree means the dimension of the ambient module. For example, the vector space spanned by <code>(2,0,2)</code> inside <strong>R</strong>^3 is one dimensional but is of degree 3.</p>
<p>In your case, you have a module over the integers, perhaps spanned by <code>(2)</code> inside of a rank one free Z-module. When you reduce mod 2, the spanning vector becomes <code>(0)</code>, so the resulting module over <code>GF(2)</code> is zero dimensional.</p>
https://ask.sagemath.org/question/42384/free-module-changes-dimensions-after-base-change/?comment=42386#post-id-42386So, `change_ring` applies to the ambient module and not the module itself? That's messed up! Is there a way to base change the module itself then?Tue, 22 May 2018 01:15:27 +0200https://ask.sagemath.org/question/42384/free-module-changes-dimensions-after-base-change/?comment=42386#post-id-42386Comment by RegularUser for <p>The degree means the dimension of the ambient module. For example, the vector space spanned by <code>(2,0,2)</code> inside <strong>R</strong>^3 is one dimensional but is of degree 3.</p>
<p>In your case, you have a module over the integers, perhaps spanned by <code>(2)</code> inside of a rank one free Z-module. When you reduce mod 2, the spanning vector becomes <code>(0)</code>, so the resulting module over <code>GF(2)</code> is zero dimensional.</p>
https://ask.sagemath.org/question/42384/free-module-changes-dimensions-after-base-change/?comment=42406#post-id-42406I have a homomorphism between two free modules and what to base change it to a finite field.Wed, 23 May 2018 16:07:45 +0200https://ask.sagemath.org/question/42384/free-module-changes-dimensions-after-base-change/?comment=42406#post-id-42406Comment by John Palmieri for <p>The degree means the dimension of the ambient module. For example, the vector space spanned by <code>(2,0,2)</code> inside <strong>R</strong>^3 is one dimensional but is of degree 3.</p>
<p>In your case, you have a module over the integers, perhaps spanned by <code>(2)</code> inside of a rank one free Z-module. When you reduce mod 2, the spanning vector becomes <code>(0)</code>, so the resulting module over <code>GF(2)</code> is zero dimensional.</p>
https://ask.sagemath.org/question/42384/free-module-changes-dimensions-after-base-change/?comment=42409#post-id-42409Mathematically, if you have the times 2 map between two free modules and you change to GF(2), that map should become zero. That is what Sage's behavior is modeling.Wed, 23 May 2018 16:56:10 +0200https://ask.sagemath.org/question/42384/free-module-changes-dimensions-after-base-change/?comment=42409#post-id-42409Comment by RegularUser for <p>The degree means the dimension of the ambient module. For example, the vector space spanned by <code>(2,0,2)</code> inside <strong>R</strong>^3 is one dimensional but is of degree 3.</p>
<p>In your case, you have a module over the integers, perhaps spanned by <code>(2)</code> inside of a rank one free Z-module. When you reduce mod 2, the spanning vector becomes <code>(0)</code>, so the resulting module over <code>GF(2)</code> is zero dimensional.</p>
https://ask.sagemath.org/question/42384/free-module-changes-dimensions-after-base-change/?comment=42422#post-id-42422The map that I want to base change is not multiplication by two. In fact, trying to base change the map in question throws an exception, precisely because the dimension of the codomain changes.Thu, 24 May 2018 18:47:26 +0200https://ask.sagemath.org/question/42384/free-module-changes-dimensions-after-base-change/?comment=42422#post-id-42422