determinant of blockmatrix without assumptions
use sympy.matrices.expressions.transpose.transpose
squashme
remove X.T -> X if X is symmetric
remove determinant of singular matrix check
refactor blockmatrix 2x2 inverse
unitary and normal predicates
add matrix fft