Symbolic Linear Algebra
Symbolic linear algebra is supported by SymPy's matrix
data type which we will introduce first.
Then we will present some linear algebra methods as examples for the broad spectrum of possibilities for symbolic computations in this field:
Symbolic matrices
We briefly met the matrix
data type when we discussed vector valued functions. There, we saw it in its simplest form, which converts a list of lists into a matrix. To have an example, let's construct a rotation matrix:
phi=symbols('phi') rotation=Matrix([[cos(phi), -sin(phi)], [sin(phi), cos(phi)]])
When working with SymPy matrices we have to note that the operator *
performs matrix multiplications and is not acting as an elementwise multiplication which is the case for NumPy arrays.
The above defined rotation matrix can be checked for orthogonality, by using this matrix multiplication and the transpose of a matrix:
simplify(rotation.T*rotation -eye(2)) # returns a 2 x 2 zero...