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.