Take the 2-minute tour ×
Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It's 100% free, no registration required.

The essence of my question is, if I have a Hermitian matrix that is linearly dependent on a set of parameters and I have an estimate of its eigenvalues, is there a "simple" way to determine the values of the parameters? Ideally, I would also like to have some measure of the goodness of the fit and the degree of variation within the parameters.

As a materials physicist, I often have to create a simple quantum mechanical model from either experimental data or a more complex calculation. For the smaller problems (8x8, with 10 params), the parameters can be found by painstakingly working through the various relationships among the parameters, due to symmetry, etc. But, this method is specific to each problem and does not scale well to larger problems. For instance, one system I'm looking at would require a 20x20 matrix with 21 parameters, and that is without including spin! Alternatively, there is the brute force method of simulated annealing, which involves taking a random walk through the parameter space, and slowly decreasing the step size in the hopes that the calculation will get stuck in the global minimum. Neither of these methods is particularly appealing, so I'd like some ideas on how to approach this in a consistent manner.

share|improve this question
Hmm, an inverse eigenvalue problem? Usually more structure is asked of a matrix than being merely Hermitian (e.g. tridiagonal, Toeplitz). What sort of parameters are these? Do you have a "toy problem" that illustrates what you're expecting to see? –  J. M. Oct 4 '10 at 4:26

1 Answer 1

up vote 2 down vote accepted


$ M = \Sigma_{i=1}^{n} t_i M_i$

where $t_i$ are the unknown parameters and $M_i$ are known matrices and $n$ is the number of parameters,

Let $N$ be the size of the matrix $M$ and $\lambda_j$, $j = 1, . . . , N$ its eigenvalues, then one can use the identities:

$ tr(M^k) = \Sigma_{j=1}^{N} \lambda_j^k$

to obtain N polynomial equations of the parameters, for example for $k=2$, the equation has the form:

$ \Sigma_{i=1}^{n} \Sigma_{j=1}^{n} t_i t_j tr(M_i M_j) = \Sigma_{j=1}^{N} \lambda_j^2$

the righthand side is known and the polynomial coefficients of the left hand side are traces of products of the known submatrices.

Now, the parameters can be found in principle from a numerical solution of the polynomial equation system.

share|improve this answer
I don't see the relation. Where are the $M_i$ from? –  J. M. Oct 4 '10 at 10:24
The question states that the matrix M is linearly dependent on a set of parameters. The first equation is the most general way to express this linear dependence. –  David Bar Moshe Oct 4 '10 at 10:38
I have not implemented this, but it looks like an interesting approach. While it does not get rid of the need for solving systems of polynomials, that may not be a great issue when working with band structure calculations as the matrices are dependent on a positional parameter and change structurally via that parameter. Thanks. –  rcollyer Oct 10 '10 at 15:24

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.