Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

I take it you understand how to get the coefficients in the standard basis, e.g.:

sage: var('x')
sage: K.<a> = NumberField(x^2+1)
sage: 3+5*a+a^2                 
5*a + 2
sage: (3+5*a+a^2).vector()
(2, 5)

Then going to your preferred basis is just a linear algebra problem. For example, if your preferred QQ-basis is (1,1) and (2,0) then you could do:

sage: Q2 = (QQ^2).span_of_basis([(1,1), (2,0)]);  Q2
Vector space of degree 2 and dimension 2 over Rational Field
User basis matrix:
[1 1]
[2 0]
sage: Q2.coordinates([2,5])                         
[5, -3/2]

Check that this is correct:

sage: 5*vector([1,1]) + (-3/2)*vector([2,0])        
(2, 5)