It is easy to form vector representations of vectors in \(\mathbb{C}^n\).
We get a nonstandard basis quickly from the columns of a nonsingular matrix (square, full rank).
The columns of A become the user basis
of a vector space.
Now, we get values of the invertible linear transformation \(\rho_B\) with the Sage method .coordinate_vector() method of the vector space.
The inverse linear transformation is also available as the .linear_combination_of_basis() method of the vector space.
And the automated check:
Notice that this is something we could do by hand
with just reduced row-echelon form. The coordinitization of u relative to the basis B is just a (unique) solution to a linear system.
The following stanza will always return True as we coordinatize
and then use the coordinates to form a linear combination of the basis.
Sage does not implement abstract vector spaces. It presumes we have nice
standard bases available and can apply an intermediate coordinatization ourselves.
Problem: In \(P_3\), the vector space of polynomials with degree at most \(3\), find the vector representation of \(p = \left(x^{3} + x^{2} + \frac{1}{2} \, x - \frac{33}{14}\right)\) relative to the basis for \(P_3\): \[B = \left\{ 5 \, x^{3} + 2 \, x^{2} + x + 1,\, -8 \, x^{3} - 3 \, x^{2} - x - 2,\, 7 \, x^{3} + 4 \, x^{2} + x + 2,\, -7 \, x^{3} + 3 \, x^{2} + x - 2 \right\}\]
Solution: Coordinatize with respect to the basis \(\left\{1, x, x^2, x^3\right\}\).
B is a basis, since A is nonsingular.
Now coordinatize p.
We'll get a coordinatization old-style.
Let's check to see if this is right and we can recover p.