A Module For Computing Matrix functions based on Chebyshev polynomials.
Construct a Chebyshev polynomial object.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(ChebyshevPolynomial_t), | intent(inout) | :: | this | The polynomial to construct.  | 
  
||
| integer, | intent(in) | :: | degree | Degree of the polynomial.  | 
  
Destruct a polynomial object.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(ChebyshevPolynomial_t), | intent(inout) | :: | this | The polynomial to destruct.  | 
  
Set a coefficient of a Chebyshev polynomial.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(ChebyshevPolynomial_t), | intent(inout) | :: | this | The polynomial to set.  | 
  
||
| integer, | intent(in) | :: | degree | Degree for which to set the coefficient.  | 
  
||
| real(kind=NTREAL), | intent(in) | :: | coefficient | Coefficient value.  | 
  
Compute The Chebyshev Polynomial of the matrix. This method uses the standard Chebyshev Polynomial expansion.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(Matrix_ps), | intent(in) | :: | InputMat | The input matrix  | 
  
||
| type(Matrix_ps), | intent(inout) | :: | OutputMat | OutputMat = poly(InputMat)  | 
  
||
| type(ChebyshevPolynomial_t), | intent(in) | :: | poly | The Chebyshev polynomial to compute.  | 
  
||
| type(SolverParameters_t), | intent(in), | optional | :: | solver_parameters_in | Parameters for the solver.  | 
  
Compute The Chebyshev Polynomial of the matrix. This version first factors the Chebyshev Polynomial and computes the function using a divide and conquer algorithm. Based on a simplified version of the first method in \cite liang2003improved .
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(Matrix_ps), | intent(in) | :: | InputMat | The input matrix  | 
  
||
| type(Matrix_ps), | intent(inout) | :: | OutputMat | OutputMat = poly(InputMat)  | 
  
||
| type(ChebyshevPolynomial_t), | intent(in) | :: | poly | The Chebyshev polynomial to compute.  | 
  
||
| type(SolverParameters_t), | intent(in), | optional | :: | solver_parameters_in | Parameters for the solver.  | 
  
A datatype that represents a Chebyshev polynomial.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=NTREAL), | public, | DIMENSION(:), ALLOCATABLE | :: | coefficients | Coefficients of the polynomial.  |