?feast_srci/?feast_hrci
?feast_srci/?feast_hrci
Extended Eigensolver RCI interface.
Syntax
void sfeast_srci
(
MKL_INT*
ijob
,
const MKL_INT*
n
,
MKL_Complex8*
ze
,
float*
work
,
MKL_Complex8*
workc
,
float*
aq
,
float*
sq
,
MKL_INT*
fpm
,
float*
epsout
,
MKL_INT*
loop
,
const float*
emin
,
const float*
emax
,
MKL_INT*
m0
,
float*
lambda
,
float*
q
,
MKL_INT*
m
,
float*
res
,
MKL_INT*
info
)
;
void cfeast_hrci
(
MKL_INT*
ijob
,
const MKL_INT*
n
,
MKL_Complex8*
ze
,
MKL_Complex8*
work
,
MKL_Complex8*
workc
,
MKL_Complex8*
aq
,
MKL_Complex8*
sq
,
MKL_INT*
fpm
,
float*
epsout
,
MKL_INT*
loop
,
const float*
emin
,
const float*
emax
,
MKL_INT*
m0
,
float*
lambda
,
MKL_Complex8*
q
,
MKL_INT*
m
,
float*
res
,
MKL_INT*
info
)
;
void zfeast_hrci
(
MKL_INT*
ijob
,
const MKL_INT*
n
,
MKL_Complex16*
ze
,
MKL_Complex16*
work
,
MKL_Complex16*
workc
,
MKL_Complex16*
aq
,
MKL_Complex16*
sq
,
MKL_INT*
fpm
,
double*
epsout
,
MKL_INT*
loop
,
const double*
emin
,
const double*
emax
,
MKL_INT*
m0
,
double*
lambda
,
MKL_Complex16*
q
,
MKL_INT*
m
,
double*
res
,
MKL_INT*
info
)
;
Include Files
- mkl.h
Description
Compute eigenvalues as described in Extended Eigensolver RCI Interface Description.
Input Parameters
- ijob
- Job indicator variable. On entry, a call to?feast_srci/?feast_hrciwithijob=-1 initializes the eigensolver.
- n
- Sets the size of the problem.n> 0.
- work
- Workspace array of sizenbym0.
- workc
- Workspace array of sizenbym0.
- aq,sq
- Workspace arrays of sizem0bym0.
- fpm
- Array, size of 128. This array is used to pass various parameters to Extended Eigensolver routines. See Extended Eigensolver Input Parameters for a complete description of the parameters and their default values.
- emin,emax
- The lower and upper bounds of the interval to be searched for eigenvalues;emin≤emax.
- m0
- On entry, specifies the initial guess for subspace size to be used,0 <. Setm0≤nm0≥mwheremis the total number of eigenvalues located in the interval [emin,emax]. If the initial guess is wrong, Extended Eigensolver routines returninfo=3.
- q
- On entry, if=1, the arrayfpm[4]qof sizenbymcontains a basis of guess subspace wherenis the order of the input matrix.
Output Parameters
- ijob
- On exit, the parameter carries the status flag that indicates the condition of the return. The status information is divided into three categories:
- A zero value indicates successful completion of the task.
- A positive value indicates that the solver requires a matrix-vector multiplication or solving a specific system with a complex coefficient.
- A negative value indicates successful initiation.
A non-zero value ofijobspecifically means the following:- - factorize the complex matrixijob= 10at a given contour pointZ*eB-Aand return the control to theZe?feast_srci/?feast_hrciroutine whereis a complex number meaning contour point and its value is defined internally inZe?feast_srci/?feast_hrci.
- - solve the complex linear systemijob=11(, put the solution inZ*eB-A)*y=workcworkcand return the control to the?feast_srci/?feast_hrciroutine.
- - factorize the complex matrix (ijob=20Z*eB-A)Hat a given contour pointZand return the control to thee?feast_srci/?feast_hrciroutine whereZis a complex number meaning contour point and its value is defined internally ine?feast_srci/?feast_hrci.The symbolXHmeans transpose conjugate of matrixX.
- - solve the complex linear systemijob= 21(, put the solution inZ*eB-A)H*y=workcworkcand return the control to the?feast_srci/?feast_hrciroutine. The caseijob=20 becomes obsolete if the solve can be performed using the factorization computed forijob=10.The symbolXHmean transpose conjugate of matrixX.
- - multiply matrixijob= 30Aby, put the result inQ..jQiwork+, and return the control to theN*(i- 1)?feast_srci/?feast_hrciroutine.iis, andfpm[24]jis+fpm[23]- 1.fpm[24]
- - multiply matrixijob= 40Bby, put the result inQ..jQiwork+and return the control to theN*(i- 1)?feast_srci/?feast_hrciroutine. If a standard eigenvalue problem is solved, just returnwork=q.iis, andfpm[24]jis+fpm[23]- 1.fpm[24]
- - rerun theijob= -2?feast_srci/?feast_hrcitask with the same parameters.
- ze
- Defines the coordinate along the complex contour. All values ofzeare generated by?feast_srci/?feast_hrciinternally.
- fpm
- On output, contains coordinates of columns of work array needed for iterative refinement. (See Extended Eigensolver RCI Interface Description.)
- epsout
- On output, contains the relative error on the trace: |-tracei| /max(|tracei-1emin|, |emax|)
- loop
- On output, contains the number of refinement loop executed. Ignored on input.
- lambda
- Array of lengthm0. On output, the firstmentries oflambdaare eigenvalues found in the interval.
- q
- On output,qcontains all eigenvectors corresponding tolambda.
- m
- The total number of eigenvalues found in the interval [emin,emax]: 0 ≤m≤m0.
- res
- Array of lengthm0. On exit, the firstmcomponents contain the relative residual vector:
- generalized eigenvalue problem:
- standard eigenvalue problem:
fori=0, 1, …,, and wherem- 1mis the total number of eigenvalues found in the search interval. - info