# Eigenvalue problem - Right hand matrix is singular

I am constructing an eigenvalue problem of the form

$$[R]{c} = \lambda [F]{c}$$

The matrices are populated by the results of some integrals

$$I_{i,j} = \int f(x,y,i,j) dxdy \quad for \quad i=1,..,N \quad j=1,...,M$$

All the numbers are coming out wrong the eigenvalues are nonsensical and do not converge as the matrices get larger, they just get larger in turn, and I am trying to troubleshoot. I noticed that $$[F]$$ always is singular. I added some "salt" ($$1e-10$$) so that the program did not rebel on me but I am thinkning that this might indicate some deeper issue about my problem formulation/computation, although I am not really sure what.

So my question is: Does the fact that $$[F]$$ is singular, point to any such problems and if yes how should I go about correcting it? Furthermore any advice on where to focus the troubleshooting?

Cheers

• Your issue is about the so-called "generalized eigenvalue problem". See paragraph 7.3 in en.wikipedia.org/wiki/Eigendecomposition_of_a_matrix. – Jean Marie Nov 22 '18 at 11:25
• I would try at first to convert your issue into the eigenvalue problem $F^+Rc=\lambda c$ where $F^+$ is the pseudo-inverse of $F$. – Jean Marie Nov 22 '18 at 11:29
• I am trying to find the lowest value that would cause buckling on a composite plate. This would be the lowest eigenvalue, and the program should converge on that solution as the matrices get larger. Here is a sample $R$ matrix: Here an F matrix: – Tristan Greenwood Nov 24 '18 at 17:25
• $$R = \begin{array}{cccc} 0.8334971 & 4.17815877 & 13.86869435 & 34.56910269\\ 4.63449654 & 13.83872632 & 33.52342807 & 69.92804483\\ 16.28196565 & 35.93753681 & 69.83052589 & 126.14788633\\ 41.73478583 & 78.23144509 & 132.15137615 & 216.12985001\\ \end{array}$$ – Tristan Greenwood Nov 24 '18 at 17:39
• Typical (singular) F matrix $$F = \begin{array}{cccc} 2.4674011 & 2.4674011 & 2.4674011 & 2.4674011\\ 9.8696044 & 9.8696044 & 9.8696044 & 9.8696044\\ 22.2066099 & 22.2066099 & 22.2066099 & 22.2066099\\ 39.4784176 & 39.4784176 & 39.4784176 & 39.4784176\\ \end{array}$$ – Tristan Greenwood Nov 24 '18 at 17:54

I don't see how I can mark a comment as the correct answer but after much pain and tears, using the pseudo-inverse matrix as suggested by Jean Marie yielded the best results. Not completely there yet, the resulting eigenvalues are always what I am looking for divided by 2 for some reason, but it's getting there.

If $$F$$ is rank one (as in the example you gave) the generalized eigenproblem

$$Rc=\lambda Fc \tag{1}$$

has indeed (according to you terms) a "deeper" issue.

Indeed, if $$F$$ is rank one, we can write it under the form :

$$F=C \mathbb{U}^T \ \tag{2}$$

with $$C$$ any column of $$F$$, (e.g. $$2.4, 9.8,22.2,39.4$$ in the example you have given) and $$\mathbb{U}$$ the column vector of $$\mathbb{R^4}$$ with null entries.

Thus (1) becomes $$Rc=\lambda C(\mathbb{U}^T c)$$ ; as parentheses enclose in fact a number, one gets $$Rc=\mu C$$ for a certain $$\mu$$ ; otherwise said (provided $$R$$ is invertible):

$$c=\mu R^{-1}C \ \tag{3}$$

giving a a unique family of (generalized) eigenvectors ($$\mu$$ has no constraint on it).

Having an eigenvector, it is of course easy to get the corresponding eigenvalue.

Remark : in fact, of course, this reasoning works as well in nD.

• $\mu = \lambda (U^{T}c)$ ? – Tristan Greenwood Nov 26 '18 at 11:47
• Yes, exactly... – Jean Marie Nov 26 '18 at 18:18
• Has my answer been satisfying for you ? – Jean Marie Dec 19 '18 at 21:19
• The final answer has not been much of a help to be honest, but the suggestion of the pseudoinverse has helped a lot, mainly since I was not aware of its existence sadly. After a lot more tweaking on different parts of the code it yielded the best results. Thank you very much for taking all this time to help – Tristan Greenwood Jan 9 at 10:55
• I understand. Nevertheless, there was another side in my contribution : the remark that your matrix has identical columns (= rank one). – Jean Marie Jan 9 at 11:12