NTPoly
Data Types | Functions/Subroutines
polynomialsolversmodule Module Reference

A Module For Computing General Matrix Polynomials. More...

Data Types

type  polynomial_t
 A datatype that represents a polynomial. More...
 

Functions/Subroutines

pure subroutine, public constructpolynomial (this, degree)
 Construct a polynomial. More...
 
pure subroutine, public destructpolynomial (this)
 Destruct a polynomial object. More...
 
subroutine, public setcoefficient (this, degree, coefficient)
 Set coefficient of a polynomial. More...
 
subroutine, public hornercompute (InputMat, OutputMat, poly, solver_parameters_in)
 Compute A Matrix Polynomial Using Horner's Method. More...
 
subroutine, public patersonstockmeyercompute (InputMat, OutputMat, poly, solver_parameters_in)
 Compute A Matrix Polynomial Using Paterson and Stockmeyer's method. This method first factors the polynomial to reduce the number of matrix multiplies required. More...
 

Detailed Description

A Module For Computing General Matrix Polynomials.

Function/Subroutine Documentation

◆ constructpolynomial()

pure subroutine, public polynomialsolversmodule::constructpolynomial ( type(polynomial_t), intent(inout)  this,
integer, intent(in)  degree 
)

Construct a polynomial.

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

◆ destructpolynomial()

pure subroutine, public polynomialsolversmodule::destructpolynomial ( type(polynomial_t), intent(inout)  this)

Destruct a polynomial object.

Parameters
[in,out]thisthe polynomial to destruct.

◆ hornercompute()

subroutine, public polynomialsolversmodule::hornercompute ( type(distributedsparsematrix_t), intent(in)  InputMat,
type(distributedsparsematrix_t), intent(inout)  OutputMat,
type(polynomial_t), intent(in)  poly,
type(fixedsolverparameters_t), intent(in), optional  solver_parameters_in 
)

Compute A Matrix Polynomial Using Horner's Method.

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

◆ patersonstockmeyercompute()

subroutine, public polynomialsolversmodule::patersonstockmeyercompute ( type(distributedsparsematrix_t), intent(in)  InputMat,
type(distributedsparsematrix_t), intent(inout)  OutputMat,
type(polynomial_t), intent(in)  poly,
type(fixedsolverparameters_t), intent(in), optional  solver_parameters_in 
)

Compute A Matrix Polynomial Using Paterson and Stockmeyer's method. This method first factors the polynomial to reduce the number of matrix multiplies required.

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

◆ setcoefficient()

subroutine, public polynomialsolversmodule::setcoefficient ( type(polynomial_t), intent(inout)  this,
integer, intent(in)  degree,
real(ntreal), intent(in)  coefficient 
)

Set coefficient of a polynomial.

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