Options.Pairs
Options.Chord
Options.NSigma
Options.FixShift
Options.Track
Options.AvoidStag
If 'yes', then jdqz searches for the complex conjugate eigenpair whenever an eigenpair has been detected. If A and B are real matrices, or the operators correspond to real matrices, then is an eigenpair if is one. Since the eigenpairs are not computed in full accuracy and since a generalized Schur decomposition is computed instead of eigenpairs, the conjugate of an approximate eigenpair may not have the required precision and jdqz may take additional iterations to obtain the conjugate pair in the desired accuracy.
To balance the influence of and , the eigenvalue problem
With Options.Chord = 'yes', jdqz uses the chordal distance to order the approximate eigenvalues in cases Sigma is specified as a complex or a real number, or as a pair of complex or real numbers (as target for the desired eigenvalues or , ).
Note that, for , the eigenvalue problems and are mathematically equivalent. However, the scaling parameter affects the chordal distance between (approximate) eigenvectors. Rescaling may lead to a better balance between the two operators and . Instead of scaling the operator , jdqz applies the scaling to intermediate low dimensional matrices (implicit scaling), which has the same effect, but may save computational costs.
If 'yes', the jdqz takes as target for the second and following eigenvalues, the best approximate eigenvalues from the current test subspace. Here `best' is taken with respect to Sigma.
Options.FixShift
(default 'no')
If Options.FixShift is scalar and Sigma(1,:) is a scalar, then jdqz takes Sigma as shift in the correction equation until the norm of the residual times Options.FixShift is less than 1. From then on, the shift is taken equal to the present approximate eigenvalue.
Options.Track
(default '1e-4')
If the wanted eigenvalue is relatively far from the target, then the algorithm may select approximate eigenvalues that are accidentally close to the target instead of the approximate eigenvalue that is close to the wanted eigenvalue. To avoid this type of misselection, the target can be moved to an approximate eigenvalue that is close to the wanted eigenvalue. The size of the norm of the residual is used to measure the quality of the approximate eigenvalue. If norm(r)<= Options.track, then the associated approximate eigenvalue is used as target in the next iteration step.
Options.AvoidStag (default 'no')
In some situations, the algorithm stagnates because the computed expansion vector for the search subspace belongs to the search subspace or is close to it. With 'yes', jdqz tries to remedy this type of stagnation. In the correction equation in the next iteration step, jdqz projects then on the complete search subspace rather than on the current eigenvector approximation.