User login


You are here

A spectral decomposition problem

This post is both a question and a test how well Latex2HTML performs. The algebra might be useful for students who are starting off in the field. Please go through the details and comment on the question at the end of the post.


  • In one of Simo's 1992 papers on plasticity (1) (p. 76) we find the statement that ``An easy calculation then gives the spectral decomposition''




    Here, is the Kirchhoff stress, is a scalar internal variable, and is yield function. The spectral decomposition of the Kirchhoff stress is given by




    Also, isotropy implies that the yield function can be expressed in terms of the principal values of such that




Let's try to work out the easy calculation.

Using the chain rule, we have


or (4)


Also, since




using the identity (since the eigenvectors are orthonormal)




we get




Using the identity




we then have




We can simplify these further by using the identities




to get




Taking the derivatives of both sides with respect to , we get




Note here that as varies, the eigenvectors of (i.e., the s) also vary. So the derivatives will have the form








where is the symmetric fourth-order identity tensor. Therefore,




Plugging (15) into (4), we get




Compare equations (16) and (1), shown below for your convenience.




You will see that the derivatives of the eigenvectors with respect to do not appear in Simo's equation. This is an approximation that Simo does not mention in his paper, i.e., that the values of are kept fixed when evaluating the derivatives of . Or, am I missing something?



J. C. Simo.
Algorithms for static and dynamic multiplicative plasticity that preserve the classical return mapping algorithms of the infinitesimal theory.
Comp. Meth. Appl. Mech. Engrg., 99:61-112, 1992.



Image icon img2.png196 bytes
Andrew Norris's picture


The attached notes might help. I tried to convert the latex to html (using tex4ht ) and it is nowhere near as pretty as yours! Anyway I am not sure how to include it in this page. So I ended up with a link to a pdf.

I always worry when I see "an easy calculation then gives .." or "it can be easily shown .." etc. Authors should try to avoid such statements, since what is easy for you is hard for me & vice versa.



That was an excellent proof! 


Andrew Norris's picture


In return, could you enlighten me on how to include latex2html (or other latex generated html) into one of these comment pages?

For instance, I can generate a html file but am not so sure how to incorporate the output, which has many png etc files.

I am using tex4ht as it seems to be less of a hassle on windoze, but I suspect the same issues arise whether one uses that or latex2html, or another one.



  1. Ideally, we should use something like MathML to render mathematical formulas. The catch is that the syntax of MathML is quite different from that of LaTeX. So you can't just take some existing LaTeX document and convert it to MathML form directly (which means that I don't know about any such convertors :).
  2. One good alternative is to use mimeTex.The problem with mimeTeX is that you have to write wrapper tags of the form <img src="\alpha^2=\beta^2+\gamma^2" > to get . In fact, one can write custom tags that get rid of the lengthy wrapper. The mimeTeX webpage has several examples. The iMechanica administrator could try to incorporate such tags in Drupal. The main problem with mimeTex is that only the very basic Latex commands and fonts are supported.
  3. The third alternative is to use the limited LaTeX functionality that is available with Drupal . The iMechanica administrator has to turn this feature on (as described here.)
  4. The fourth alternative is to use LaTeX2HTML. This approach is useful if you already have a LaTeX document that you wish to convert to HTML. It can be tedious though.
    • In my case, I converted my document into HTML using LaTex2HTML. The resulting HTML files have a number of extra features that are not needed (such that tags for moving between nodes, etc.) Also, all the math formulas are converted into png files starting with the name "img" (small letters).
    • I then edited out the header and footer of the HTML file so that only the main body remained.
    • Then I copied the HTML source into the window that you get when you click HTML in the editing command bar.
    • I now tried attaching the 25 or so image files that had been created. I was allowed to attach only one file. Not good at all. The images did not show up in the preview window.
    • Rather than waste more time trying to attach images, I decided to keep the equation images on my own website. I edited the HTML file and did a global search/replace of "img" with the <href="URL"\> tag. The URLs pointed to my webpage where the images were kept. The next step was just to paste the HTML file into the iMechanica HTML editor and voila!
    • This is not the most efficient way of doing things, but at least it works as intended :)
Zhigang Suo's picture

Many thanks, Biswajit!

I've made a pointer to mimTx this morning.  iMechanica will soon be upgraded to Drupal 5.  Apparently, the LeTex module has not been upgraded, and may therefore be incompatible with Drupal 5.  Perhaps we can stay with mimTx for the time being.

Andrew Norris's picture

Thanks for the tips Biswajit and Zhigang.

I sort of suspected things are not so simple. Using things like mimetex is a pain, but maybe useful if there are only a few equations. Latex2html - or the version I use - tex4ht - has the advantage that you can embed it in a latex processor. I use Miktex with texniccenter, and html output is just another option like dvi, ps, pdf. So its easy to generate but as Biswajit learned, a bit of work to port into the IMechanica pages.

As an experiment I made some further notes related to the original issue Biswajit raised. I followed the procedure Biswajit suggests for pasting in the html with modified src= and href= tags. In fact it only took a few minutes to change the src= and href= tags. The only feature that does not seem to work is that the imech page fails to identify the .css file, so the style is a bit wonky. But I am happy to say I have avoided using mimetex!


(below is the latex generated stuff)


τ is a symmetric second order tensor with eigenvalues and eigenvectors λi and ni, i = 1,2,3. The Simo result implies the following interesting identity ∂λi = n ⊗ n     (no sum ).  ∂τ    i    i(1)


This is so simple there must be an “easy” way to prove it. Maybe someone can provide this easy explanation??

Since the derivative of the eigenvalue is so nice and simple, it raises the ”‘obvious”’ question: is there a similar type of relation associated with the derivative of the eigenvectors? Answer: yes, see eq. (13) below. But it is for the dyadic ni ni, not for the eigenvector itself (that is for another day). Also, the expression for the derivative is not as nice as (1).

Lets consider   (l)  ∂nl-⊗-nl X   =    ∂τ   .(2)

To be more specific, define the three dyadics associated with the eigenvectors η(l) = nl ⊗ nl,(3)

then         ∂η(l) X(il)jmn ≡  --ij-.         ∂τmn(4)

Just as the derivative of a scalar with respect to τ gave a second order tensor, eq. (1), so the derivative of the dyadic is a fourth order tensor. It has the indicial symmetries X(il)jmn = X (jl)imn = X (lij)nm.(5)

Can we find these fourth order tensors? Lets try differentiating both sides of   k  ∑3  k  (l) τ  =    λl η .      l=1(6)

Using (1), the RHS yields  ∂ ∑3         ∑3 [                       ] ∂-τ   λkl η(l) =   kλk-l 1η(l) ⊗ η(l) +λkl X (l) .     l=1         l=1(7)

Note that η(l) η(l) is a totally symmetric 4th order tensor, i.e. it is unchanged under any reordering of its indices. So lets call it   (l)   (l)   (l) N   ≡ η   ⊗ η  = nl ⊗ nl ⊗ nl ⊗ nl.(8)

For the LHS, we note that ∂τkij-  k(     k-1        k- 1) ∂τmn = 2 Iijmpτpn  + Iijnpτpm  ,(9)

where        1 Iijmn = 2(δim δjn + δinδjm )(10)

is the fourth order identity tensor for dealing with symmetric second order tensors. So, the derivative of eq. (6) implies    [                  ] ∑3    k-1   (l)   k  (l)       k-1     kλl   N   + λl X   = kI.τ l=1(11)

where the RHS has components given by (9).  This notation is a little unusual, but so is the problem.

Now take eq. (11) for k = 0,1,2, and write the three equations in matrix form: ⌊ 1   1   1⌋( X (1))   (  0  )   ⌊ 0    0    0 ⌋(N (1)) ⌈λ1  λ2  λ3⌉( X (2)) = (  I  ) - ⌈ 1    1    1 ⌉(N (2))  λ21  λ22  λ23   X (3)      2I.τ      2λ1  2λ2  2λ3  N (3)(12)

and inverting the Vandermonde matrix, gives   (1)  --------1-------[               (1)             (2)    (3)                 ] X   = (λ1 - λ2)(λ1 - λ3) (λ2 + λ3 - 2λ1)N + (λ3 - λ2)(N - N  )- (λ2 + λ3)I +2I.τ ,(13)


with similar expressions for the other two. Note the first line of (12) implies X(1) + X(2) + X(3) = 0.

What can we say about eq. (13)? I am not sure, other than the obvious fact that it is nowhere near as nice and simple as eq. (1).

For the benefit of our readers, let me summarize the results we have seen so far.

Let $ \ensuremath{\boldsymbol{\tau}}$ be the Kirchhoff stress and let $ \phi$ be a yield function. If the material is isotropic, we can express the yield function in terms of the eigenvalues of $ \ensuremath{\boldsymbol{\tau}}$ (or in terms of of the invariants of $ \ensuremath{\boldsymbol{\tau}}$ ) as Andy pointed out here.

If the spectral decomposition of the Kirchhoff stress is given by

$\displaystyle \ensuremath{\boldsymbol{\tau}}= \sum_{i=1}^3 \lambda_i \ensuremath{\ensuremath{\mathbf{n}}_i\boldsymbol{\otimes}\ensuremath{\mathbf{n}}_i}$ (1)

then (from Simo's paper (1))

$\displaystyle \boxed{ \ensuremath{\frac{\partial \phi}{\partial \ensuremath{\{\ensuremath{\mathbf{n}}_i\boldsymbol{\otimes}\ensuremath{\mathbf{n}}_i} . }$ (2)

Andy then made the observation that for (2) to be true, we must have

$\displaystyle \boxed{ \ensuremath{\frac{\partial \lambda_i}{\partial \{\ensuremath{\mathbf{n}}_i\boldsymbol{\otimes}\ensuremath{\mathbf{n}}_i} . }$ (3)

Suppose that you are implementing this into a code. You will inevitably run into situations where all the eigenvalues are equal or where two of them are equal. What should you do under those circumstances?

Andy's extension deals with the second aspect of my original question. Can we show that

\ensuremath{\boldsymbol{\tau}}= \ensuremath{\boldsymbol{\mathit{0}}}$ no sum on $\displaystyle i$ (4)

as equation (3) suggests? After some work, Andy shows that

$\displaystyle \boxed{ \sum_{i=1}^3 \ensuremath{\frac{\partial }{\partial \ensur......_i\boldsymbol{\otimes}\ensuremath{\mathbf{n}}_i}) = \boldsymbol{\mathsf{0}} . }$ (5)

Also, it turns out that

$\displaystyle \boxed{ \ensuremath{\frac{\partial }{\partial \ensuremath{\boldsy... ...\ensuremath{\boldsymbol{\tau}}} {(\lambda_1-\lambda_2)(\lambda_1-\lambda_3)} } $
This relation is clearly of not much use when any two of the eigenvalues are repeated. In such cases we have to start from the correct equations and rederive the final result.

One has to be quite careful while implementing algorithms based on spectral decompositions in numerical codes. The papers by Carlson and Hoger (2,3) on derivatives of tensor-values functions of tensors consider many possibilities (hat tip to Amit Acharya).


J. C. Simo.
Algorithms for static and dynamic multiplicative plasticity that preserve the classical return mapping algorithms of the infinitesimal theory.
Comp. Meth. Appl. Mech. Engrg., 99:61-112, 1992.
D. E. Carlson and A. Hoger.
The derivative of a tensor-valued function of a tensor.
Quarterly Appl. Math., XLIV(3):409-423, 1986.
D. E. Carlson and A. Hoger.
On the derivatives of the principal invariants of a second-order tensor.
J. Elasticity, 16(2):221-224, 1986.


Andrew Norris's picture


Thanks for the recap and placing it in a wider context. Just a few more observations.

For whatever reason, there has been renewed interest in the types of things Hoger and Carlson dealt with. For instance,

M. M. Carroll. Derivatives of the rotation and stretch tensors. Math. Mech. Solids, 9(5): 543–553, October 2004. doi: 10.1177/1081286504038674.

I actually have a short paper that was motivated by Hoger and Carlson's papers: Invariants of C1/2 in terms of the invariants of C (to appear in JOMMS).  It has a few more references. 

Finally, just now I was reading through the excellent new book Continuum Mechanics: Elasticity, Plasticity, Viscoelasticity by Ellis H. Dill, my colleague in MAE/Rutgers. It turns out that this has exactly the answer to your original question re Simo's equation (1) at the very top of this discussion.  Thus, eq. (7.6.37) of the book is eq. (1) above!   If I might also give a plug for this textbook: it is a very succinct, accessible and rigorous treatment of a broad array of topics. I would recommend it highly for a graduate course in continuum mechanics.   It contains some nice surprises, as I found today!.



Marino Arroyo's picture

Dear Biswajit, Andy,
I have just seen your discussion. Sometime ago I also faced the problem of computing the derivatives of eigenvectors and eigenvalues with respect to the tensor itself, see

Marino Arroyo and Ted Belytschko, “Finite element analysis of the nonlinear mechanics of carbon nanotubes”, International Journal for Numerical Methods in Engineering, 59:419-456 (2004).

appendix A.1. All the formulas Andy derived are of course correct, and the case of repeated eigenvalues must be treated separately. Useful references are

Fox & Kapoor, "Rates of change of eigenvalues and eigenvectors", AIAA Journal, 6 (12) 2426-2429 (1968)

Friswell MI. The derivatives of repeated eigenvalues and their associated eigenvectors. Journal of Vibration and Acoustics (ASME) 1996; 118:390–397.

Andy, Marino,

Thanks for the pointers.  I had missed your messages in my usual RSS feed (which I read using the Sage plugin for firefox).  Google reader appears to be doing a better jobs of listing all the messages.

On a related question, could an expert on anisotropic finite viscoplasticity update us on the latest status of modeling and numerical simulation in that area?


Matt Lewis's picture

 If I follow all this discussion (and I've been trying to code a UMAT, so I'm trying to follow closely), let's express the Cauchy stress in a principal basis and try to find the consistent Jacobian, so that d/dt (Js) = JC:D, where J is the material Jacobian (det F), D is the symmetric part of the velocity gradient w.r.t the current configuration, s is the Cauchy stress, and C is the consistent Jacobian (4th order) tensor.  Further, similar to Simo and Taylor (1991), let us consider the material to be like an Ogden hyperelastic material, i.e. one for which we may write the strain energy function entirely as an isotropic function of principal stretches.  If I understand all that has been said in this thread, the consistent Jacobian tensor in the principal basis of s (which is also the principal basis of the left stretch tensor, etc.) has no shear terms!  Is this consistent with what we expect?  It seems to me that there should be some shear stiffness regardless of basis.  Enlighten me!





Matt Lewis's picture

 I retract my question.  I now see that in Andy's derivation from 31 March, 2007, the presence of the fourth order identity tensor will give rise to shear stiffnesses in the Jacobian tensor.  Andy, where did you get the idea to raise the tensor to an arbitrary power for the derivation?  Nice touch.




Matt Lewis
Los Alamos, New Mexico


  Just a small comment since you mention that you are following Simo&Taylor 1991.  The form of the derivatives (first and second variations) has been completely supplanted by the "discovery" of all the nice relations (and derivations) given by Ray Ogden in his 1984 book on Non-lineaer elastic deformations.  In particular, beware of the asymptotic transition conditions that you need with repeated eigenvalues.


Prof. Dr. Sanjay Govindjee
University of California, Berkeley

Matt Lewis's picture

 I should have started with Ogden.  The details of the tangent tensor calculation are hard to get (expecially for eigenvalue multiplicity cases) out of the Simo and Taylor paper.  It also doesn't help that it is all in Berkeley "applied math speak" Laughing, that is with a lot of symbols and little on their meaning because it is assumed that all readers are familiar with the mathematical shorthand.


Matt Lewis

Los Alamos, New Mexico

Amit Acharya's picture

Indeed one has to be careful about the repeated eigenvalues case.

While dealing with the derivative of a term like (N_a tensor product N_a) where N_a is an eigenvector of the right Cauchy Green tensor indexed by a, this caution is at two levels.

Using Hill's 'method of principal axes' furthered by Ogden and doing some careful but straightforward asymptotics on the formula for the derivative in the case of non-repeated eigenvalues gives finite (as opposed to unbounded) expressions for the repeated eigenvalue case, which is quite adequate in numerical computations related to the Jacobian.

If, however,  one wants to be rigorous, the basic fact is that a term like (N_a tensor product N_a) is simply not differentiable when the eigenvalues repeat so even though one can find a well-defined limiting formula, that formula does not make sense as a derivative rigorously.

 As pointed out by Prof.Acharya, when the eigenvalue is repeated, it is in general only Gateaux differentiable, but not Frechet differentiable. This means that in general a linear mapping does not exist between the infinitesimal increment of the eigenvalue and the infinitesimal increment of parameter. The "directional derivative" can only be found by solving another eigen-value problem.

Subscribe to Comments for "A spectral decomposition problem"

More comments


Subscribe to Syndicate