# Changing basis on a vector space

Dear community:

I'd like to know if it is possible use a basis other than the canonical. For example

sage: V = VectorSpace(SR,3)

sage: V.basis()

[ (1, 0, 0),

(0, 1, 0),

(0, 0, 1) ]

is the canonical basis of V, but I want to use say

[ (1, 1, 0),

(1, -1, 0),

(0, 0, 1)]

How could I do that?

Edit

More specifically, I'd like to define two different basis on a vector space. Say, a set of coordinate basis and a non-coordinate basis defined over the same vector space... and finally I'd like to express results in either of them.

I'm interested on a change of basis on Differential Forms, but I guess that if you can help me to understand the general problem I can manage the particular one! Chrees

edit retag close merge delete

The free module construction in Sage uses the standard basis. But depending on what you want to do, there might be workarounds. Can you provide some more details about what you're trying to accomplish?

( 2013-07-06 12:41:04 -0500 )edit

Sort by » oldest newest most voted

Does creating a 'subspace' fit your needs?

V = VectorSpace(SR,3)
W = V.subspace_with_basis([(1,1,0),(1,-1,0),(0,0,1)])
W.basis()

more

@ndomes Thank you for the answer, I learn some from it. I'd like to know if it's possible to switch calculations from one basis to another, say calculate the derivative respect to x, y and z, but express the result in the basis u, w and z of the "subspace" W. Cheers

( 2013-07-07 03:39:07 -0500 )edit