I don't think you're getting the thrust of my question. Yes, if I define a
as a = Transpose[{{a1, a2, a3}}]
and do the same for b and define n
as 3 and use ArrayFlatten[]
so that the scalar 0 is expanded into a column vector, WolframAlpha will be able to calculate with my matrix. I know how to do that, and it's not what I want, because if the answer includes a.a
, what WolframAlpha will give me instead is a1^2 + a2^2 + a3^2
, and now I have to do some difficult factorization to translate those scalar operations back into more compact and readable matrix operations. Make sense?
I would also like note here that that the matrix I wrote can be transposed, as written. Since n
is undefined, IdentityMatrix[n]
is left in symbolic form. Here's the result of Transpose[A].A
, split over multiple lines for readability:
{{2 IdentityMatrix[n]^2,a IdentityMatrix[n],-b IdentityMatrix[n]},
{a IdentityMatrix[n],a^2,0},
{-b IdentityMatrix[n],0,b^2}}
I would actually be fine with this, if the symbolic multiplications were treated as non-commutive, e.g. b.a
instead of a b
, but because they're not, I can't trust any further calculations done this way.