I need to do the following:
Transpose[A.(B+C)]=Transpose[B].Transpose[A]+Transpose[C].Transpose[A]
How should I do this in mathematica? So far mathematica does not distribute the operation. Thank you!
Mathematica Stack Exchange is a question and answer site for users of Wolfram Mathematica. It only takes a minute to sign up.
Sign up to join this communityI need to do the following:
Transpose[A.(B+C)]=Transpose[B].Transpose[A]+Transpose[C].Transpose[A]
How should I do this in mathematica? So far mathematica does not distribute the operation. Thank you!
Update: it seems this only works in 10.1 and later, but not in 10.0.
This works:
Assuming[(a | b | c) ∈ Matrices[{d, d}], TensorExpand@Transpose[a.(b + c)]]
(* Transpose[b, {2, 1}].Transpose[a, {2, 1}] + Transpose[c, {2, 1}].Transpose[a, {2, 1}] *)
We needed to tell Mathematica that a
, b
and c
are square matrices and use TensorExpand
.
Check here: Symbolic tensors.
Transpose[b + c, {2, 1}].Transpose[a, {2, 1}]
which is not what I want. Suggestions?
$\endgroup$
Jul 21, 2015 at 19:05