"Abstract" linear algebra

i like this post (click again to cancel)
0
i dont like this post (click again to cancel)

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?

asked Sep 06 '10

marco gravatar image marco
73 1 11
i like this answer (click again to cancel)
2
i dont like this answer (click again to cancel) marco has selected this answer as correct

I like coordinate-free linear algebra, but your issue here may simply be that == is not the "is identical" operator. Consider the following examples:

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 V == W returns True above!

Of course, id(V) == id(W) also returns True, which is a little more surprising (to me). And the free module documentation includes the following note:

Note: In Sage it is the case that there is only one dense and one sparse free ambient module of rank n over R.

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 VectorSpace as short for "VectorSpaceWithCanonicalBasis".

link

posted Sep 07 '10

niles gravatar image niles
3429 5 41 94
http://nilesjohnson.net/
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)

Your answer

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[hide preview]

Question tools

1 follower

Tags:

Stats:

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.