MathGroup Archive 2004

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Eigenvalues and eigenvectors of a matrix with nonpolynomial elements.

Goyder Dr HGD wrote:
> I need to find the eigenvalues and eigenvectors of matrices where the elements depend on a variable, k, in a nonpolynomial manner. Thus, according to my (limited) knowledge of eigensystems, the eigenvalues are the values of k that make the determinant zero and there should be an eigenvector associated with each eigenvalue. A simple warm-up example is given below; my actual cases will be more complicated. I wish to know if the method I have put together below, using engineering rather than maths, is suitable and what accuracy I can expect. 

Daniel Lichtblau wrote:

>No, eigenvalues for a matrix mat are values lambda for which
mat - lambda*IndentityMatrix[...]
is singular (that is, has zero determinant. In your example these would 
be functions of k. In simplified form I get

{-1 + I, -1 - I, (-Cosh[k] - Sin[k] -
    Sqrt[Cosh[k]^2 - 2*Cosh[k]*Sin[k] + Sin[k]^2 + 4*Cos[k]*Sinh[k]])/2,
  (-Cosh[k] - Sin[k] + Sqrt[Cosh[k]^2 - 2*Cosh[k]*Sin[k] + Sin[k]^2 +

Daniel Lichtblau
Wolfram Research

Thank you for your fast response. I apologies for not making myself clear. The warm up example comes from a differential equation eigenvalue problem rather than a simple matrix problem. The differential equation is given below and results in the matrix that I gave previously. Thus starting from the beginning we have a differential equation and boundary conditions which will only be satisfied for certain values of, k, which I take to be the eigenvalues. The problem is then to find these eigenvalues and the associated eigensolutions. (My actual problem involves sets of differential equations of this form.) The warm-up differential equation is

DSolve[Derivative[4][y][x] - k^4*y[x] == 0, y[x], x]

{{y[x] -> C[2]/E^(k*x) + E^(k*x)*C[4] + C[1]*Cos[k*x] + C[3]*Sin[k*x]}}

I have translated this solution to the equivalent form

e1 = A1*Cos[k*x] + A2*Sin[k*x] + A3*Cosh[k*x] + A4*Sinh[k*x]; 

The boundary conditions are

bc = {0 == (e1 /. x -> 0), 0 == (1/k^2)*(D[e1, {x, 2}] /. x -> 0), 0 == (e1 /. x -> 1), 
    0 == (1/k)*(D[e1, x] /. x -> 1)}; 

Which give rise to a set of linear equations whose coefficient matrix may be found from

e2 = Normal[CoefficientArrays[bc, {A1, A2, A3, A4}]]

{{0, 0, 0, 0}, {{-1, 0, -1, 0}, {1, 0, -1, 0}, {-Cos[k], -Sin[k], -Cosh[k], -Sinh[k]}, 
   {Sin[k], -Cos[k], -Sinh[k], -Cosh[k]}}}

The values of k that satisfy this equation I am calling eigenvalues. Each value of {A1, A2, A3, A4} which is associated with each eigenvalue I am calling an eigenvector. We thus come to the matrix which I defined previously from which my eigenvalues and vectors must be extracted.

e3 = e2[[2]]

{{-1, 0, -1, 0}, {1, 0, -1, 0}, {-Cos[k], -Sin[k], -Cosh[k], -Sinh[k]}, 
  {Sin[k], -Cos[k], -Sinh[k], -Cosh[k]}}

This message has been scanned for viruses and
dangerous content by the Cranfield MailScanner, and is
believed to be clean.

  • Prev by Date: Re: Re: argMax
  • Next by Date: Re: Sorting a list of pairs on the second elements
  • Previous by thread: Re: Re: Eigenvalues and eigenvectors of a matrix with nonpolynomial elements.
  • Next by thread: Scale Values on Plot[]