NTPoly
|
A Module For Computing Matrix functions based on Chebyshev polynomials. More...
Data Types | |
type | chebyshevpolynomial_t |
A datatype that represents a Chebyshev polynomial. More... | |
Functions/Subroutines | |
pure subroutine, public | constructchebyshevpolynomial (this, degree) |
Construct a Chebyshev polynomial object. More... | |
pure subroutine, public | destructchebyshevpolynomial (this) |
Destruct a polynomial object. More... | |
subroutine, public | setchebyshevcoefficient (this, degree, coefficient) |
Set a coefficient of a Chebyshev polynomial. More... | |
subroutine, public | chebyshevcompute (InputMat, OutputMat, poly, solver_parameters_in) |
Compute The Chebyshev Polynomial of the matrix. This method uses the standard Chebyshev Polynomial expansion. More... | |
subroutine, public | factorizedchebyshevcompute (InputMat, OutputMat, poly, solver_parameters_in) |
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 [2] . More... | |
A Module For Computing Matrix functions based on Chebyshev polynomials.
subroutine, public chebyshevsolversmodule::chebyshevcompute | ( | type(distributedsparsematrix_t), intent(in) | InputMat, |
type(distributedsparsematrix_t), intent(inout) | OutputMat, | ||
type(chebyshevpolynomial_t), intent(in) | poly, | ||
type(fixedsolverparameters_t), intent(in), optional | solver_parameters_in | ||
) |
Compute The Chebyshev Polynomial of the matrix. This method uses the standard Chebyshev Polynomial expansion.
[in] | InputMat | the input matrix |
[out] | OutputMat | = poly(InputMat) |
[in] | poly | polynomial to compute. |
[in] | solver_parameters_in | parameters for the solver (optional). |
pure subroutine, public chebyshevsolversmodule::constructchebyshevpolynomial | ( | type(chebyshevpolynomial_t), intent(inout) | this, |
integer, intent(in) | degree | ||
) |
Construct a Chebyshev polynomial object.
[in,out] | this | the polynomial to construct. |
[in] | degree | of the polynomial. |
pure subroutine, public chebyshevsolversmodule::destructchebyshevpolynomial | ( | type(chebyshevpolynomial_t), intent(inout) | this | ) |
Destruct a polynomial object.
[in,out] | this | the polynomial to destruct. |
subroutine, public chebyshevsolversmodule::factorizedchebyshevcompute | ( | type(distributedsparsematrix_t), intent(in) | InputMat, |
type(distributedsparsematrix_t), intent(inout) | OutputMat, | ||
type(chebyshevpolynomial_t), intent(in) | poly, | ||
type(fixedsolverparameters_t), intent(in), optional | solver_parameters_in | ||
) |
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 [2] .
[in] | InputMat | the input matrix |
[out] | OutputMat | = poly(InputMat) |
[in] | poly | polynomial to compute. |
[in] | solver_parameters_in | parameters for the solver (optional). |
subroutine, public chebyshevsolversmodule::setchebyshevcoefficient | ( | type(chebyshevpolynomial_t), intent(inout) | this, |
integer, intent(in) | degree, | ||
real(ntreal), intent(in) | coefficient | ||
) |
Set a coefficient of a Chebyshev polynomial.
[in,out] | this | the polynomial to set. |
[in] | degree | for which to set the coefficient. |
[in] | coefficient | value. |