14 votes
Accepted

Smallest eigenvalue without inverse

Compute the largest-magnitude eigenvalue $\lambda_{max}$ of $A$ (with, say, eigs('lm')). Then compute the largest magnitude (negative) eigenvalue $\hat{\lambda}_{...
user avatar
  • 2,096
14 votes
Accepted

Quality of eigenvalue approximation in Lanczos method

The convergence behavior you are seeing is actually expected. One of things that makes the Lanczos method so interesting is that it does a good job of simultaneously converging eigenvalues at both ...
user avatar
  • 5,744
12 votes
Accepted

Generalization of eigendecomposition problem

Yes. You could rewrite it as $$B v = \lambda v\, $$ with $B = A - M$, $M = \textrm{diag}(\mu)$.
user avatar
  • 7,902
10 votes

diagonalization of matrix - omitting small matrix elements

It's not implementation-dependent in the sense that this is a mathematical operation performed on your matrix. However, it is very much matrix-dependent. If your matrix is diagonalizable and $A=XDX^{-...
user avatar
  • 11.4k
9 votes

Sparse smallest eigenvalue problem on a linear subspace?

Your main concern is not destroying sparsity - a transformation does not necessarily destroy it. Consider the transformed eigenvalue problem, that eliminates the constraint $x^Tx = 1$ $$ \min_x \...
user avatar
9 votes
Accepted

Correct eigenfunctions of Laplace operator by Finite Differences

You should specify the eigenvalues you want with which="SM", for example. Check the following snippet. I also changed the solver, since your system is symmetric. <...
user avatar
  • 7,902
7 votes
Accepted

Eigenvector with maximum overlap

The following paper suggests that the Jacobi-Davidson method can be used to target eigenvectors based on "any property that can be computed from the eigenvector", which would seem to include overlap ...
user avatar
6 votes
Accepted

diagonalization of matrix - omitting small matrix elements

There is a field of study known as eigenvalue sensitivity analysis or eigenvalue perturbation analysis that allows you to estimate the effect of small matrix perturbations on the eigenvalues and ...
user avatar
  • 3,003
6 votes
Accepted

last column of SPD matrix given it's spectral decomposition

Yes, for matrices A, B, the last column of matrix product A*B can be written as A*(the last column of B). You can use this fact to get the last column of the reconstruction using only O(N^2).
user avatar
  • 772
6 votes

Approximate spectrum of a large matrix

Arnold Neumaier's answer is discussed in more detail in section 3.2 of the paper "Approximating Spectral Densities of Large Matrices" by Lin Lin, Yousef Saad and Chao Yang (2016). Some other methods ...
user avatar
6 votes

Does this partial eigen-expansion have a name?

This is something like a truncated SVD or eigenvector expansion of your solution. If you take $$x_m = \sum_{j=1}^m \frac{q_j\cdot b}{\lambda_j}q_j$$ with $m=n$, this is the exact solution to $Ax=b$...
user avatar
  • 2,961
6 votes

Does this partial eigen-expansion have a name?

I don't know for sure whether there is an existing name for this method, but @jessechan's suggestion of "truncated eigenvector expansion" sounds perfectly fine to me (and most people would understand ...
user avatar
6 votes

Fast and accurate eigenvalue computation for 3x3 posdef matrices

For a symmetric 3x3 matrix, one Householder transformation will bring your matrix in tridiagonal form. The required algorithm is given (for general $n\times n$ matrices) on page 459 of Matrix ...
user avatar
  • 6,056
5 votes

Comparing Eigenvectors, Mathematica vs. Matlab

MATLAB always uses the LAPACK libraries to calculate eigenvectors which works on double precision, floating point numbers - MATLAB's default data type. Mathematica's method depends on its input type. ...
user avatar
5 votes
Accepted

Implementation of Jacobi-Davidson method for cubic eigenvalue problem

With the reverse communication protocol of ARPACK, you do not need to store the $3n \times 3n$ matrix explicitly: you just need to provide two functions that compute: $ \left[ \begin{array}{c} x \\ y ...
user avatar
  • 2,165
5 votes
Accepted

Sign differences in spectral decomposition in NumPy

Let $w_k$ be the k-th column of W (the kth eigen-vector) and $v_k$ be the k-th element of v (the kth eigen-value). Then we can write: $$ G = \sum_k w_k v_k w_k^T $$ which, element-wise, is equivalent ...
user avatar
5 votes

Numerical computation of Perron-Frobenius eigenvector

The algorithm used by eigs is called Arnoldi iteration (in shift-and-invert mode). You could think of it as a sophisticated way of doing an inverse power iteration....
user avatar
5 votes
Accepted

Roots of a function for eigensystem

I suspect the main problem is the magnitude of the values. If you divide through by $\cosh$ to make all the numbers smaller, then ApproxFun doesn't seem to have a problem finding all the roots. ...
user avatar
  • 11.4k
5 votes

Eigenvectors of Laplacian

They're on Wikipedia, for instance, in a page with the slightly unclear name of "Eigenvalues and eigenvectors of the second derivative".
user avatar
4 votes
Accepted

Sorting eigenvalues by the dominant contribution

You'd like to sort eigenvalues/eigenvectors in a way that is continuous as you move through momentum. This highly constrains the sorting - for most k-points, you must sort the eigenvalues to be a ...
user avatar
4 votes
Accepted

How to impose boundary conditions on eigenfunction problems?

Consider what happens when you approximate a function's derivative using finite differences near a boundary. If the boundary is at the point $x_0$, the point $x_1$ is just outside the boundary, then ...
user avatar
  • 11.4k
4 votes
Accepted

Appropriate iterative linear solver for an eigenvalue problem

If your matrices are large, why not use a library like ARPACK? The shift-and-invert mode of ARPACK will help you calculate the eigenvalues close to $\sigma$. There are interfaces to ARPACK for most ...
user avatar
  • 2,096
4 votes

What are some ideas to preprocess / precondition the following linear system?

You have noticed that any eigenvector of $A$ is also an eigenvector of your composed matrix. When you compute eigenvectors of your matrix, you can use them in a deflation-type preconditioner, as ...
user avatar
4 votes
Accepted

LAPACK sorting eigenvalues differently each time

You write, that you are computing the eigenvalues of a symmetric matrix. Does the matrix have real entries? In this case all eigenvalues are real, and you can use a symmetric eigenvalue solver, which ...
user avatar
4 votes
Accepted

Nystrom approximation of SVD for asymmetric matrices

Nemtsov, Averbuchm, and Schclar's "Matrix compression using the Nyström method" (2016) seems relevant: The Nyström method is routinely used for out-of-sample extension of kernel matrices. We ...
user avatar
  • 3,091
4 votes
Accepted

Discrepancies between numerical and analytical solution for particle in a finite potential well?

I think that your potential for the numerical case is wrong. The potential should be a big positive number, so the solution tends to zero outside the well when the value of the potential increases. ...
user avatar
  • 7,902
4 votes

Solving the eigenvalue from a set of coupled second order differential equation numerically

This problem can be interpreted as a coupled convection-diffusion-reaction equation in two variables. You can use the Finite Element Method to solve it. Must be mentioned that you need to use some ...
user avatar
  • 565
4 votes
Accepted

Computing eigenvalues of Schrodinger equation with spin

When modelling spin in the Schrödinger equation, one has several alternatives which need to be chosen in advance. I'll copy an excerpt from a work of mine to give an overview (it considers atomic ...
user avatar
  • 2,274
4 votes

LOBPCG bad preconditioned performance for largest eigenpairs

I would not be surprised by this, my understanding is that LOPCG is specifically designed to seek small eigenpairs (at least, that's what I have used it for). I find it a novel algorithm, because it ...
user avatar
  • 4,296
3 votes
Accepted

Eigenvectors: MATLAB vs LAPACK DGGEV or DGGEVX

A few things to note: By definition A·v = λ·v, eigenvectors are not unique. You can multiply by any constant and still get another valid eigenvector. The ...
user avatar
  • 152

Only top scored, non community-wiki answers of a minimum length are eligible