StructPack 1.1
Functions/Subroutines
csp_tpsytrid.h File Reference

Header file for using the csp_tpsytrid module from C source code. More...

Functions/Subroutines

void csp_tpsytrid_rojosv (const int n, const double t0, const double t1, double *x)
 Solves the linear system T x = b, where T is a tridiagonal symmetric Toeplitz matrix, using the Rojo method.
void csp_tpsytrid_dstsv (const int n, const double t0, const double t1, double *x)
 Solves the linear system T x = b, where T is a tridiagonal symmetric Toeplitz matrix, using the DST method.
int csp_tpsytrid_ldltsv (const int n, const double t0, const double t1, double *x)
 Solves the linear system T x = b, where T is a tridiagonal symmetric Toeplitz matrix, using the LDLt method.
double csp_tpsytrid_maxsvd (const int n, const double t0, const double t1)
 Calculates the maximum SVD of a tridiagonal symmetric Toeplitz matrix.
double csp_tpsytrid_minsvd (const int n, const double t0, const double t1)
 Calculates the minimum SVD of a tridiagonal symmetric Toeplitz matrix.
void csp_tpsytrid_gemv (const int n, const double alpha, const double t0, const double t1, const double *x, double *b)
 Computes the matrix-vector operation defined as b = b + alpha * T * x, where T is a tridiagonal symmetric Toeplitz matrix.

Detailed Description

Header file for using the csp_tpsytrid module from C source code.

This file contains the suitable function prototypes for calling the csp_tpsytrid module routines from C source code.

Author:
Pablo Martinez Naredo

Function Documentation

void csp_tpsytrid_dstsv ( const int  n,
const double  t0,
const double  t1,
double *  x 
)

Solves the linear system T x = b, where T is a tridiagonal symmetric Toeplitz matrix, using the DST method.

Parameters:
nSize of matrix.
t0Diagonal of the Toeplitz matrix.
t1Sub/Super-diagonal of the Toeplitz matrix.
xOn input points to right hand side vector (b). On output points to the solution vector (x).
void csp_tpsytrid_gemv ( const int  n,
const double  alpha,
const double  t0,
const double  t1,
const double *  x,
double *  b 
)

Computes the matrix-vector operation defined as b = b + alpha * T * x, where T is a tridiagonal symmetric Toeplitz matrix.

Parameters:
nSize of matrix.
alphaScalar alpha.
t0Diagonal of the Toeplitz matrix.
t1Sub/Super-diagonal of the Toeplitz matrix.
xPointer to the first element of vector x.
bPointer to the first element of vector b. Changed on output.
int csp_tpsytrid_ldltsv ( const int  n,
const double  t0,
const double  t1,
double *  x 
)

Solves the linear system T x = b, where T is a tridiagonal symmetric Toeplitz matrix, using the LDLt method.

Parameters:
nSize of matrix.
t0Diagonal of the Toeplitz matrix.
t1Sub/Super-diagonal of the Toeplitz matrix.
xOn input points to right hand side vector (b). On output points to the solution vector (x).
Returns:
Zero on success, non zero in case of error.
double csp_tpsytrid_maxsvd ( const int  n,
const double  t0,
const double  t1 
)

Calculates the maximum SVD of a tridiagonal symmetric Toeplitz matrix.

Parameters:
nSize of matrix.
t0Diagonal of the Toeplitz matrix.
t1Sub/Super-diagonal of the Toeplitz matrix.
Returns:
Maximum SVD of the Toeplitz matrix.
double csp_tpsytrid_minsvd ( const int  n,
const double  t0,
const double  t1 
)

Calculates the minimum SVD of a tridiagonal symmetric Toeplitz matrix.

Parameters:
nSize of matrix.
t0Diagonal of the Toeplitz matrix.
t1Sub/Super-diagonal of the Toeplitz matrix.
Returns:
Minimum SVD of the Toeplitz matrix.
void csp_tpsytrid_rojosv ( const int  n,
const double  t0,
const double  t1,
double *  x 
)

Solves the linear system T x = b, where T is a tridiagonal symmetric Toeplitz matrix, using the Rojo method.

Parameters:
nSize of matrix.
t0Diagonal of the Toeplitz matrix.
t1Sub/Super-diagonal of the Toeplitz matrix.
xOn input points to right hand side vector (b). On output points to the solution vector (x).