accelerInt  v0.1
Functions | Variables
phiAHessenberg.cu File Reference

Computes various matrix exponential functions on the Krylov Hessenberg matricies. More...

#include <stdlib.h>
#include "header.cuh"
#include "solver_options.cuh"
#include "solver_props.cuh"
#include "complexInverse.cuh"
Include dependency graph for phiAHessenberg.cu:

Go to the source code of this file.

Functions

__device__ int phi2Ac_variable (const int m, const double *__restrict__ A, const double c, double *__restrict__ phiA, const solver_memory *__restrict__ solver, cuDoubleComplex *__restrict__ work)
 Compute the 2nd order Phi (exponential) matrix function. More...
 
__device__ int phiAc_variable (const int m, const double *__restrict__ A, const double c, double *__restrict__ phiA, const solver_memory *__restrict__ solver, cuDoubleComplex *__restrict__ work)
 Compute the first order Phi (exponential) matrix function. More...
 
__device__ int expAc_variable (const int m, const double *__restrict__ A, const double c, double *__restrict__ phiA, const solver_memory *__restrict__ solver, cuDoubleComplex *__restrict__ work)
 Compute the zeroth order Phi (exponential) matrix function. This is the regular matrix exponential. More...
 

Variables

__device__ __constant__ cuDoubleComplex poles [N_RA]
 
__device__ __constant__ cuDoubleComplex res [N_RA]
 

Detailed Description

Computes various matrix exponential functions on the Krylov Hessenberg matricies.

Definition in file phiAHessenberg.cu.

Function Documentation

◆ expAc_variable()

__device__ int expAc_variable ( const int  m,
const double *__restrict__  A,
const double  c,
double *__restrict__  phiA,
const solver_memory *__restrict__  solver,
cuDoubleComplex *__restrict__  work 
)

Compute the zeroth order Phi (exponential) matrix function. This is the regular matrix exponential.

Computes \(\phi_0(c*A)\)

Parameters
[in]mThe Hessenberg matrix size (mxm)
[in]AThe input Hessenberg matrix
[in]cThe scaling factor
[out]phiAThe resulting exponential matrix
[in]solverThe solver_memory object
[in]workA complex work array

Definition at line 148 of file phiAHessenberg.cu.

◆ phi2Ac_variable()

__device__ int phi2Ac_variable ( const int  m,
const double *__restrict__  A,
const double  c,
double *__restrict__  phiA,
const solver_memory *__restrict__  solver,
cuDoubleComplex *__restrict__  work 
)

Compute the 2nd order Phi (exponential) matrix function.

Computes \(\phi_2(c*A)\)

Parameters
[in]mThe Hessenberg matrix size (mxm)
[in]AThe input Hessenberg matrix
[in]cThe scaling factor
[out]phiAThe resulting exponential matrix
[in]solverThe solver_memory object
[in]workA complex work array

Definition at line 27 of file phiAHessenberg.cu.

◆ phiAc_variable()

__device__ int phiAc_variable ( const int  m,
const double *__restrict__  A,
const double  c,
double *__restrict__  phiA,
const solver_memory *__restrict__  solver,
cuDoubleComplex *__restrict__  work 
)

Compute the first order Phi (exponential) matrix function.

Computes \(\phi_1(c*A)\)

Parameters
[in]mThe Hessenberg matrix size (mxm)
[in]AThe input Hessenberg matrix
[in]cThe scaling factor
[out]phiAThe resulting exponential matrix
[in]solverThe solver_memory object
[in]workA complex work array

Definition at line 87 of file phiAHessenberg.cu.

Variable Documentation

◆ poles

__device__ __constant__ cuDoubleComplex poles[N_RA]

Definition at line 17 of file rational_approximant.c.

◆ res

__device__ __constant__ cuDoubleComplex res[N_RA]

Definition at line 18 of file rational_approximant.c.