{
TMatrix mm(2,2);
mm[0][0] = 2;
mm[0][1] = 2;
mm.Print()
}
outputs
2x2 matrix is as follows
| 0 | 1 |
-------------------------------
0 | 2 2
1 | 0 0
I want to calculate mm*mm^T and I expected mm*=mm.T()
to produce the right results but instead I get
root [15] mm*=mm.T()
(class TMatrixT<float>)140225110178512
root [16] mm.Print()
2x2 matrix is as follows
| 0 | 1 |
-------------------------------
0 | 4 0
1 | 4 0
which is clearly wrong.
It seems like T() modifies the matrix in place. Is this a feature or a bug? Perhaps it’s incorrect usage, but I couldn’t find much documentation on T() operator and I feel like this mistake can be a common and easily overlooked one.