Main Page | Directories | File List | Globals

dgBCMatrix.c File Reference

#include "dgBCMatrix.h"

Functions

SEXP dgBCMatrix_validate (SEXP x)
void cscb_mm (enum CBLAS_SIDE side, enum CBLAS_TRANSPOSE transa, int m, int n, int k, double alpha, SEXP A, const double B[], int ldb, double beta, double C[], int ldc)
void cscb_syrk (enum CBLAS_UPLO uplo, enum CBLAS_TRANSPOSE trans, double alpha, SEXP A, double beta, SEXP C)
static void copy_transpose (double dest[], const double src[], int n)
int cscb_ldl (SEXP A, const int Parent[], SEXP L, SEXP D)
void cscb_trmm (enum CBLAS_SIDE side, enum CBLAS_UPLO uplo, enum CBLAS_TRANSPOSE transa, enum CBLAS_DIAG diag, double alpha, SEXP A, double B[], int m, int n, int ldb)
void cscb_trsm (enum CBLAS_UPLO uplo, enum CBLAS_TRANSPOSE transa, enum CBLAS_DIAG diag, double alpha, SEXP A, int m, int n, double B[], int ldb)
void cscb_trcbm (enum CBLAS_SIDE side, enum CBLAS_UPLO uplo, enum CBLAS_TRANSPOSE transa, enum CBLAS_DIAG diag, double alpha, SEXP A, SEXP B)
void cscb_trcbsm (enum CBLAS_SIDE side, enum CBLAS_UPLO uplo, enum CBLAS_TRANSPOSE transa, enum CBLAS_DIAG diag, double alpha, SEXP A, const int Parent[], SEXP B)
void cscb_cscbm (enum CBLAS_TRANSPOSE transa, enum CBLAS_TRANSPOSE transb, double alpha, SEXP A, SEXP B, double beta, SEXP C)
SEXP dgBCMatrix_to_dgCMatrix (SEXP A)
SEXP dgBCMatrix_to_dgTMatrix (SEXP A)

Function Documentation

static void copy_transpose double  dest[],
const double  src[],
int  n
[static]
 

void cscb_cscbm enum CBLAS_TRANSPOSE  transa,
enum CBLAS_TRANSPOSE  transb,
double  alpha,
SEXP  A,
SEXP  B,
double  beta,
SEXP  C
 

Perform one of the matrix-matrix operations C := alpha*op(A)*op(B) + beta*C on compressed, sparse, blocked matrices.

Parameters:
transa TRN or NTR for transpose or no transpose of A
transb TRN or NTR for transpose or no transpose of B
alpha scalar multiplier
A pointer to a dgBCMatrix object
B pointer to a dgBCMatrix object
beta scalar multiplier
C pointer to a dgBCMatrix object

int cscb_ldl SEXP  A,
const int  Parent[],
SEXP  L,
SEXP  D
 

Create the LD^{T/2}D^{1/2}L' decomposition of the positive definite symmetric dgBCMatrix matrix A (upper triangle stored) in L and D^{1/2}. D^{1/2} denotes the upper Cholesky factor of the positive definite positive definite block diagonal matrix D. The diagonal blocks are of size nci.

Parameters:
A pointer to a dgBCMatrix object containing the upper triangle of a positive definite symmetric matrix.
Parent the parent array for A
L pointer to a dgBCMatrix object to hold L
D pointer to a 3D array to hold D
Returns:
n the number of column blocks in A for success. A value less than n indicates the first column block whose diagonal was not positive definite.

void cscb_mm enum CBLAS_SIDE  side,
enum CBLAS_TRANSPOSE  transa,
int  m,
int  n,
int  k,
double  alpha,
SEXP  A,
const double  B[],
int  ldb,
double  beta,
double  C[],
int  ldc
 

Perform one of the matrix operations C := alpha*op(A)*B + beta*C or C := alpha*B*op(A) + beta*C where A is a compressed, sparse, blocked matrix and B and C are dense matrices.

Parameters:
side LFT or RGT
transa TRN or NTR
m number of rows in C
n number of columns in C
k number of rows in B if side == LFT, otherwise number of columns in B.
alpha 
A pointer to a dgBCMatrix object
B matrix to be multiplied
ldb leading dimension of b as declared in the calling routine
beta scalar multiplier of c
C product matrix to be modified
ldc leading dimension of c as declared in the calling routine

void cscb_syrk enum CBLAS_UPLO  uplo,
enum CBLAS_TRANSPOSE  trans,
double  alpha,
SEXP  A,
double  beta,
SEXP  C
 

Perform one of the matrix operations C := alpha*A*A' + beta*C, or C := alpha*A'*A + beta*C, where A is a compressed, sparse, blocked matrix and C is a compressed, sparse, symmetric blocked matrix.

Parameters:
uplo UPP or LOW for upper or lower
trans TRN or NTR for transpose or no transpose
alpha scalar multiplier of outer product
A compressed sparse blocked matrix
beta scalar multiplier of c
C compressed sparse blocked symmetric matrix to be updated

void cscb_trcbm enum CBLAS_SIDE  side,
enum CBLAS_UPLO  uplo,
enum CBLAS_TRANSPOSE  transa,
enum CBLAS_DIAG  diag,
double  alpha,
SEXP  A,
SEXP  B
 

Perform one of the operations B := alpha*op(A)*B or B := alpha*B*op(A) where A and B are both dgBCMatrix.

Parameters:
side 
uplo 
transa 
diag 
alpha scalar multiplier
A pointer to a triangular dgBCMatrix object
B pointer to a general dgBCMatrix matrix

void cscb_trcbsm enum CBLAS_SIDE  side,
enum CBLAS_UPLO  uplo,
enum CBLAS_TRANSPOSE  transa,
enum CBLAS_DIAG  diag,
double  alpha,
SEXP  A,
const int  Parent[],
SEXP  B
 

Solve one of the systems op(A)*X = alpha*B or X*op(A) = alpha*B where A dgBCMatrix triangular and B is dgBCMatrix.

Parameters:
side LFT or RGT for left or right
uplo UPP or LOW for upper or lower
transa TRN or NTR for transpose or no transpose
diag UNT or NON for unit or non-unit
alpha scalar multiplier
A pointer to a triangular dgBCMatrix object
Parent parent array for the column blocks of A
B pointer to a general dgBCMatrix matrix

void cscb_trmm enum CBLAS_SIDE  side,
enum CBLAS_UPLO  uplo,
enum CBLAS_TRANSPOSE  transa,
enum CBLAS_DIAG  diag,
double  alpha,
SEXP  A,
double  B[],
int  m,
int  n,
int  ldb
 

Perform one of the dgBCMatrix-matrix operations B := alpha*op(A)*B or B := alpha*B*op(A)

Parameters:
side LFT or RGT for left or right
uplo UPP or LOW for upper or lower
transa TRN or NTR for transpose or no transpose
diag UNT or NUN for unit or non-unit
alpha scalar multiplier
A pointer to a triangular dgBCMatrix object
B contents of the matrix B
m number of rows in B
n number of columns in B
ldb leading dimension of B as declared in the calling function

void cscb_trsm enum CBLAS_UPLO  uplo,
enum CBLAS_TRANSPOSE  transa,
enum CBLAS_DIAG  diag,
double  alpha,
SEXP  A,
int  m,
int  n,
double  B[],
int  ldb
 

Solve a triangular system of the form op(A)*X = alpha*B where A is a dgBCMatrix triangular matrix and B is a dense matrix.

Parameters:
uplo UPP or LOW
transa TRN or NTR
diag UNT or NUN
alpha scalar multiplier
A pointer to a triangular dgBCMatrix object
m number of rows in B
n number of columns in B
B pointer to the contents of the matrix B
ldb leading dimension of B as declared in the calling function

SEXP dgBCMatrix_to_dgCMatrix SEXP  A  ) 
 

Coerce a dgBCMatrix to a dgCMatrix

Parameters:
A pointer to a dgBCMatrix object to coerce
Returns:
pointer to a dgCMatrix

SEXP dgBCMatrix_to_dgTMatrix SEXP  A  ) 
 

SEXP dgBCMatrix_validate SEXP  x  ) 
 


Generated on Tue Mar 1 16:58:10 2005 for Matrix by  doxygen 1.4.1