NTPoly
Data Types | Functions/Subroutines
chebyshevsolversmodule Module Reference

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...
 

Detailed Description

A Module For Computing Matrix functions based on Chebyshev polynomials.

Function/Subroutine Documentation

◆ chebyshevcompute()

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.

Parameters
[in]InputMatthe input matrix
[out]OutputMat= poly(InputMat)
[in]polypolynomial to compute.
[in]solver_parameters_inparameters for the solver (optional).

◆ constructchebyshevpolynomial()

pure subroutine, public chebyshevsolversmodule::constructchebyshevpolynomial ( type(chebyshevpolynomial_t), intent(inout)  this,
integer, intent(in)  degree 
)

Construct a Chebyshev polynomial object.

Parameters
[in,out]thisthe polynomial to construct.
[in]degreeof the polynomial.

◆ destructchebyshevpolynomial()

pure subroutine, public chebyshevsolversmodule::destructchebyshevpolynomial ( type(chebyshevpolynomial_t), intent(inout)  this)

Destruct a polynomial object.

Parameters
[in,out]thisthe polynomial to destruct.

◆ factorizedchebyshevcompute()

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] .

Parameters
[in]InputMatthe input matrix
[out]OutputMat= poly(InputMat)
[in]polypolynomial to compute.
[in]solver_parameters_inparameters for the solver (optional).

◆ setchebyshevcoefficient()

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.

Parameters
[in,out]thisthe polynomial to set.
[in]degreefor which to set the coefficient.
[in]coefficientvalue.