Ask Your Question

Changing basis on a vector space

asked 2013-07-06 17:04:31 +0100

Dox gravatar image

updated 2013-07-07 10:33:53 +0100

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?


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 flag offensive 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?

John Palmieri gravatar imageJohn Palmieri ( 2013-07-06 19:41:04 +0100 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2013-07-07 09:21:58 +0100

ndomes gravatar image

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)])
edit flag offensive delete link 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

Dox gravatar imageDox ( 2013-07-07 10:39:07 +0100 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools


Asked: 2013-07-06 17:04:31 +0100

Seen: 2,338 times

Last updated: Jul 07 '13