| This is more of a general question about whether we can do with Sage what we normally do as mathematicians on paper and in our minds. For example, if I do V = VectorSpace(QQ,4) W = VectorSpace(QQ,4) V==W I get: True. This is quite disturbing - while V and W are isomorphic they should not be identical. As I understand it, a vectorspace over QQ for Sage is just QQ^4, that's it. In other words, the Linear algebra package, while excellent, is not really about vector spaces but rather about arrays of numbers. Any thoughts on this desire of mine to have a genuine "coordinate-free" approach? |
| I like coordinate-free linear algebra, but your issue here may simply be that sage: 3 == Mod(3,7) True sage: 3 == Mod(3,5) True sage: Mod(3,5) == Mod(3,7) False sage: Q = PolynomialRing(QQ,'t') sage: 3 == Q(3) True sage: 3 in Q True sage: R = PolynomialRing(RR,'w,v') sage: 3 == R(3) True sage: Q(3) == R(3) False Given this behavior, I don't find it particularly surprising that Of course,
So it seems it's not even possible to make two separate copies of a free module with a given rank. That seems a little limiting, which is your original point, I guess :) Maybe it's more accurate to think of
Thanks for the comments! Given that they went to the trouble of implementing categories, this seems particularly strange. But I think this "problem" is common to all CAS.There must be a reference out there which works out the fundamentals for a CAS with higher fidelity.
marco (Sep 07 '10)
This behavior of "VectorSpace" -- which is *just* shorthand for K^n -- is very much by design. It's the same as what Magma does. Also, all this " trouble of implementing categories" was done 4 years after VectorSpace was implemented. The combinatorics code maybe has other more general modules.
William Stein (Sep 08 '10) |
Asked: Sep 06 '10
Seen: 200 times
Last updated: Sep 07 '10
powered by ASKBOT version 0.7.22
Copyright Sage, 2010. Some rights reserved under creative commons license.