0
$\begingroup$
  1. The simple problem eigenvalues problem defined as: $A-(x^2)*B = 0$, where $A$ and $B$ are matrices. How to use command Eigenvalues[] in Mathematica to find $x$, but not this way Det[A-(x^2)*B]=0 because in help I saw 4 examples but just when $B$ is identity matrix or something like this? http://reference.wolfram.com/mathematica/ref/Eigenvalues.html

  2. If the matrices $A$ and $B$ are large example $100 \times 100$, and I don't need all solutions $x$, how to use command FindRoot[] to get just first few positive solutions, example first two positive roots, and combine with eigenvalues?

  3. Can command SchurDecomposition[] can help me for this problem and how?

Thank you in advance.

  • 2
    You do know that `Eigenvalues[]`, `CharacteristicPolynomial[]`, and `SchurDecomposition[]` are all capable of handling the generalized problem, right? (Try `Eigenvalues[N[{{{4, 2}, {2, 4}}, {{3, 2}, {2, 3}}}]]`, for instance.) What version are you using?2011-10-08
  • 1
    For #2: `Eigenvalues[N[{{{4, 2}, {2, 4}}, {{3, 2}, {2, 3}}}], 1]` works...2011-10-08
  • 0
    Thank you very much. It is working. When the command SchurDecomposition[] can help? Than you very much again!2011-10-08
  • 0
    But if I am using Eigenvalues[N[{A, B},1]] I got the highest value, but I need the first positive?2011-10-08
  • 0
    Unless you say what $A$ and $B$ look like (e.g. symmetric, sparse), I don't think I can be more helpful...2011-10-08

1 Answers 1

2

To settle this:

  1. Mathematica is quite capable of computing the eigenvalues of matrix pencils (i.e., the generalized eigenproblem). Eigenvalues[]/Eigenvectors[]/Eigensystem[], as well as CharacteristicPolynomial[] and SchurDecomposition[], are all able to handle matrix pencils, as long as the matrix contains inexact elements. For instance:

    Eigenvalues[{{{4, 2}, {2, 4}}, {{1, 3}, {3, 1}}} // N]
    {1.5, -1.}
    
  2. Eigenvalues[] and its cognate functions are capable of returning the first few or last few eigencomponents by taking a second integer parameter. Eigenvalues[{matA, matB}, 3] for instance means "return the three largest (in magnitude) eigenvalues", and Eigenvalues[{matA, matB}, -1] means "return the tiniest eigenvalue".

  3. SchurDecomposition[] is an eigenvalue-revealing decomposition. For a pencil $(\mathbf A,\mathbf B)$, SchurDecomposition[] finds four matrices $\mathbf Q,\mathbf S,\mathbf P,\mathbf T$ such that $\mathbf A=\mathbf Q\mathbf S\mathbf P^{\dagger}$ and $\mathbf A=\mathbf Q\mathbf T\mathbf P^{\dagger}$, with $\mathbf Q,\mathbf P$ unitary/orthogonal and $\mathbf S,\mathbf T$ upper (quasi-)triangular (depending on the setting of the option RealBlockDiagonalForm), and $\dagger$ denoting a Hermitian (conjugate) transpose.

There are applications where it is better to have a Schur decomposition than an eigendecomposition (and a Schur decomposition certainly takes less effort to compute, as well as less susceptible to numerical instability). Which of the eigendecomposition or the Schur decomposition should you use depends on what you really want to do, which you haven't mentioned...

  • 0
    The problem can be very big matrices A and B. So I need just first eigenvalue, maybe two, three and because of that I thought that Schur decomposition can help. Here is the link where are the matrices A and B for problem A−(x^2)∗B=0 http://www.sendspace.com/file/qhp5aq2011-10-08
  • 0
    Not very helpful; you pasted the large output warning, not the actual matrices themselves...2011-10-08
  • 0
    Ok, now it is better thing here. I need to extract just few first positive solutions. Not to calculate all and spending the time. http://www.sendspace.com/file/a5uzxm2011-10-08