# 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

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?