Back to Forum | View unanswered posts | View active topics
Topic review - Using ring map to transfer a list? |
Author |
Message |
|
|
Post subject: |
Re: Using ring map to transfer a list? |
|
|
Ok, that worked. Of course, I had to define "minpoly" again for the ring S. Thank you very much. But I have not noticed this use of "map": Code: map map-name = ring-name, 0;
in the documentation or in the Decker-Lossen book...(?) Thanks again
Ok, that worked. Of course, I had to define "minpoly" again for the ring S.
Thank you very much. But I have not noticed this use of "map":
[code] map map-name = ring-name, 0; [/code] in the documentation or in the Decker-Lossen book...(?) Thanks again :)
|
|
|
|
Posted: Tue Aug 18, 2009 4:45 pm |
|
|
|
|
|
Post subject: |
Re: Using ring map to transfer a list? |
|
|
The problem is that there are no (canonical) mappings from the coefficient field of R (Q(a)) to the the coeff. field of S (Q). It should work with the following definition of S as a ring over Q(a): ring S=(0,a),t,dp;
The problem is that there are no (canonical) mappings from the coefficient field of R (Q(a)) to the the coeff. field of S (Q). It should work with the following definition of S as a ring over Q(a): ring S=(0,a),t,dp;
|
|
|
|
Posted: Tue Aug 18, 2009 3:13 pm |
|
|
|
|
|
Post subject: |
Re: Using ring map to transfer a list? |
|
|
The ring map suggested does not work. Here is the suggested code: Code: LIB "finvar.lib"; LIB "linalg.lib";
ring R = (0,a), (x,y), dp; minpoly = a2-3;
matrix A[2][2] = -1/2,-a/2, a/2,-1/2; matrix B[2][2] = 1,0, 0,-1;
list L = group_reynolds(A,B);
print(size(L));
ring S = 0, t, dp;
map phi = R, 0;
for (int i=2; i<=7; i=i+1) { print(charpoly(phi(L)[i], "t"); // L not accessible here }
And here is the error: Code: ? can not map from ground field of R to current ground field ? error occurred in try1.sing line 19: ` print(charpoly(phi(L)[i], "t");
The suggestion about using a trancendental extension for working with rational functions was just what I wanted - Thanks! Any ideas about the problem with the ring map above?
The ring map suggested does not work. Here is the suggested code:
[code] LIB "finvar.lib"; LIB "linalg.lib";
ring R = (0,a), (x,y), dp; minpoly = a2-3;
matrix A[2][2] = -1/2,-a/2, a/2,-1/2; matrix B[2][2] = 1,0, 0,-1;
list L = group_reynolds(A,B);
print(size(L));
ring S = 0, t, dp;
map phi = R, 0;
for (int i=2; i<=7; i=i+1) { print(charpoly(phi(L)[i], "t"); // L not accessible here } [/code]
And here is the error:
[code] ? can not map from ground field of R to current ground field ? error occurred in try1.sing line 19: ` print(charpoly(phi(L)[i], "t"); [/code] The suggestion about using a trancendental extension for working with rational functions was just what I wanted - Thanks! Any ideas about the problem with the ring map above?
|
|
|
|
Posted: Tue Aug 18, 2009 11:41 am |
|
|
|
|
|
Post subject: |
Re: Using ring map to transfer a list? |
|
|
To map list from R to S, define a map, for example: map phi=R,0; and use phi(L) instead of L in S: print(charpoly(phi(L)[i],"t"); For rational funktions: in a ring ring R=(0,t),x,dp; are the objects of type number rational functions, see (transcedental extension): http://www.singular.uni-kl.de/Manual/3-1-0/sing_29.html
To map list from R to S, define a map, for example: map phi=R,0; and use phi(L) instead of L in S: print(charpoly(phi(L)[i],"t");
For rational funktions: in a ring ring R=(0,t),x,dp; are the objects of type number rational functions, see (transcedental extension): http://www.singular.uni-kl.de/Manual/3-1-0/sing_29.html
|
|
|
|
Posted: Tue Aug 18, 2009 10:30 am |
|
|
|
|
|
Post subject: |
Using ring map to transfer a list? |
|
|
Hello, I have calculated a list of (constant) matrices in one ring and now want to calculate their characteristic polynomials for which I need to define another ring but the list is not available in this new ring. How do I access the list in the new ring? The documentation for the map function does not say how to transfer a list from one ring to another... Code: LIB "finvar.lib"; LIB "linalg.lib";
ring R = (0,a), (x,y), dp; minpoly = a2-3;
matrix A[2][2] = -1/2,-a/2, a/2,-1/2; matrix B[2][2] = 1,0, 0,-1;
list L = group_reynolds(A,B);
print(size(L));
ring S = 0, t, dp;
for (int i=2; i<=7; i=i+1) { print(charpoly(L[i], "t"); // L not accessible here }
------------------- One more elementary question: How do I do arithmetic on rational functions in Singular? For example calculate that Code: 1/(t+1) + 1/(t-1) = 2t/(t2-1)
Hello, I have calculated a list of (constant) matrices in one ring and now want to calculate their characteristic polynomials for which I need to define another ring but the list is not available in this new ring. How do I access the list in the new ring? The documentation for the map function does not say how to transfer a list from one ring to another...
[code] LIB "finvar.lib"; LIB "linalg.lib";
ring R = (0,a), (x,y), dp; minpoly = a2-3;
matrix A[2][2] = -1/2,-a/2, a/2,-1/2; matrix B[2][2] = 1,0, 0,-1;
list L = group_reynolds(A,B);
print(size(L));
ring S = 0, t, dp;
for (int i=2; i<=7; i=i+1) { print(charpoly(L[i], "t"); // L not accessible here } [/code] ------------------- One more elementary question: How do I do arithmetic on rational functions in Singular? For example calculate that
[code] 1/(t+1) + 1/(t-1) = 2t/(t2-1) [/code]
|
|
|
|
Posted: Sun Aug 16, 2009 10:12 am |
|
|
|
|
|
It is currently Fri May 13, 2022 11:06 am
|
|