This program is a structure-preserving solver for finding the eigenpairs with the eigenvalues closest to a given shift of the deflated T-Palindromic Quadratic Eigenvalue Problem
DP(lambda) x = (lambda^2 * A.' - lambda * Q + A) x = 0,
which move the eigenvalues defl_ew and 1./defl_ew of the original T-Palindromic Quadratic Eigenvalue Problem
P(lambda) x = (lambda^2 * mtx_A.' - lambda * mtx_Q + mtx_A) x = 0
into infinity.
The program is applied Generalized T-skew-Hamiltonian Arnoldi algorithm to compute the target eigenpairs with the eigenvalues closest to a given shift.
Syntax:
[ ew_new, ev_new, outer_it ] = Deflated_TQEP_GTSHIRA( nn, mtx_A, mtx_Q, solve_LS_PQEP, shift, eigenwanted, defl_ew, ev_inUC, ev_outUC, opts)
Input:
Syntax: X = mtx_A( U, transp_flag)
if transp_flag = 'transp', then the function handle computes
X = mtx_A.' * U
else (transp_flag = 'notransp') it computes
X = mtx_A * U
end
Syntax: X = solve_LS_PQEP( B, transp_flag)
if transp_flag = 'transp', then the function handle solves
(shift^2 * mtx_A.' - shift * mtx_Q + mtx_A).' X = B
else (transp_flag = 'notransp') it solves
(shift^2 * mtx_A.' - shift * mtx_Q + mtx_A) X = B
end
Output:
ew_new(1:2:end) save the eigenvalues lambda with abs(lambda) <= 1
ew_new(2:2:end) save the eigenvalues lambda with abs(lambda) >= 1
ew_new(2*i-1) * ew_new(2*i) = 1
ev_new(:,1:2:end) save the eigenvectors corresponding to ew_new(1:2:end)
ev_new(:,2:2:end) save the eigenvectors corresponding to ew_new(2:2:end)