I have general rank-2 real tensor in 3d space represented as a 3x3 real matrix $M$ (it is gradient of a vector field). I am writing some code to visualize it in several isolated points, this is what I do:
- Compute symmetric/skew part $M_s=\frac{1}{2}(M+M^T)$, $M_a=\frac{1}{2}(M-M^T)$.
- Do eigenvalue decomposition of $M_s$, which gives me orthonormal set of local (principal) axes as eigenvectors, i.e. a rotation matrix $T$, and principal components, along each of those axes.
- I visualize principal components with arrow couples, either pointing towards each other if the corresponding principal value is negative, and away from each other if positive.
The question is how to visualize the asymmetric part? I was thinking about computing asymmetric part in principal coordinates, i.e. $\frac{1}{2}\left(TMT^T-(TMT^T)^T\right)$ adding circular arrow couples (since asymmetry refers to field rotation; like at the picture). Is it correct?
(the red, green and blue lines looking like artifacts are local ($\neq$ principal) coordinate system)
EDIT: now I understood what I was looking for. Supposing a tensor $M$, I want to visualize it as its principal components (which makes sense only for the symmetric part $M_s$) plus the skew-symmetric part. Finding principal axes of $M_s$ as $T$, can I transform $M_s$ to principal coordinates meaningfully as well? The answer is $TMT^T=T(M_s+M_a)T^T=TM_sT^T+TM_aT^T,$ therefore I can visualize tensor $TM_sT^T$ as arrows (it is diagonal), and then rotation vector $\epsilon(TM_aT^T)$ as circular arrows, where $\epsilon$ is the Levi-Civita tensor (thanks to Alice for the reference).