As an example, one need to search the least or the least second eigenvalue and corresponded eigenvector of matrix A, under constraint Bx=c, where B is coefficient matrix, x is eigenvector under search, and c is a constant vector. How could I find some effective way to solve this type of problem efficiently.
Sounds like a quadratic program you could solve using JuMP maybe?
Looks like linear algebra - Linearly constrained eigenvalue problem - MathOverflow has an answer that might help, although you might have come across this already. This becomes much simpler if c=0.
Thx for your help.
As Justin mentioned, this type of constrained eigenvalue problem cannot be reduced to generalized EV problem. I am not sure dealing with finding global minimum with constrains or solving linear equations would lead less computational cost.
IterativeSolvers lobpcg supports constraints of the form C x = 0
. See the C
matrix in LOBPCG · IterativeSolvers.jl.
Sure, but this function does not support general linear constraint.
You can try formulating the problem as a semidefinite program with linear constraints then use JuMP.