# Simplify results further

I have an extremely long result in polynomial form following some matrix operations. However, given the symmetry of the problem, I can safely say that the solution will reduce much further than is being displayed here, especially if it can be expressed in summation notation. When I look at simple cases I can see many obvious simplifications that are not being done, primarily with z variables being left in denominators instead of being divided out.

Is there any way I can have mathematica simplify all the way? Can it perform the summation contraction?

a = {{a1}, {a2}, {a3}}/za;
b = {{b1}, {b2}, {b3}}/zb;
c = {{c1}, {c2}, {c3}}/zc;
d = {{d1}, {d2}, {d3}}/zd;
k = {{k1}, {k2}, {k3}};
s = {{s11, s12, s13}, {s21, s22, s23}, {s31, s32, s33}};
G =
a.Transpose[a] + b.Transpose[b] + c.Transpose[c] + d.Transpose[d];
MatrixForm[
Simplify[Transpose[k].s.Inverse[G].Transpose[s].k]] (*Answer is not a matrix but calling like this gives a simpler looking output.*)

• If you see the possibility of simplification on the symmetry ground, may be, a good idea is to introduce this symmetry explicitly. Why not, say, average Gover the group? – Alexei Boulbitch Jun 12 '14 at 7:48
• Could use ExperimentalOptimizeExpression[...] on that Simplify result. Cuts it by almost half in terms of LeafCount. – Daniel Lichtblau Mar 29 '17 at 15:38

I don't quite see what you mean by simplifying it further, other than perhaps re-grouping the terms. Do you see any possible cancellations ? I took a simple version of your problem and here is what I see:

In:= a = {{a1}}/za;
b = {{b1}}/zb;
c = {{c1}}/zc;
d = {{d1}}/zd;
k = {{k1}};
s = {{s11}};
G = a.Transpose[a] + b.Transpose[b] + c.Transpose[c] + d.Transpose[d];
Simplify[Transpose[k].s.Inverse[G].Transpose[
s].k]

Out= {{(k1^2 s11^2)/(
a1^2/za^2 + b1^2/zb^2 + c1^2/zc^2 + d1^2/zd^2)}}


As can be seen, we can re-arrange the output by using Apart, Together etc..but neither of these is necessarily a "simplified" version of the original answer.

Do let us know if I have missed out anything.

Together[Transpose[k].s.Inverse[G].Transpose[s].k]

Apart[Transpose[k].s.Inverse[G].Transpose[s].k]
`

Also, as far as I know Mathematica cannot automatically figure out Summation notations based on given terms.

It's not exactly an answer (I don't have enough reputation to post a comment). but if it is only the $z$ variables that bothers you, why won't you absorb them into the a,b,c variables? (I tried it and and still won't simplify).

btw: you can write $\{a1,a2,a3\}$ instead of $\{\{a1\},\{a2\},\{a3\}\}$ (same for b,c,d).

• Writing them that way turns them into row vectors. These are column vectors. – Elliot Jun 12 '14 at 0:43
• I think that M praises itself in that you do not need to distinguish between row and column vectors. so for example the inner product of $\{1,2,3\}.\{4,5,6\}$ is the same as that of $\{\{1\},\{2\},\{3\}\}.\{4,5,6\}$ except for an addition of {}. see reference.wolfram.com/mathematica/tutorial/… – user29918 Jun 12 '14 at 9:20