MyraMath
Classes
psyr2k.h File Reference

Thread parallel version of dense/syr2k.h, symmetric rank-2k updates. More...

#include <myramath/MYRAMATH_EXPORT.h>
#include <myramath/utility/Number.h>
#include <myramath/jobgraph/JobGraph.h>
#include <myramath/pdense/Options.h>
Include dependency graph for psyr2k.h:

Go to the source code of this file.

Classes

class  myra::Matrix< Number >
 Tabulates an IxJ matrix. Allows random access, has column major layout to be compatible with BLAS/LAPACK. More...
 
class  myra::MatrixRange< Number >
 Represents a mutable MatrixRange. More...
 
class  myra::CMatrixRange< Number >
 Represents a const MatrixRange. More...
 
class  myra::LowerMatrix< Number >
 Stores a lower triangular matrix in rectangular packed format. More...
 
class  myra::LowerMatrixRange< Number >
 Represents a mutable LowerMatrixRange. More...
 

Functions

void myra::psyr2k_inplace (const MatrixRange< NumberS > &C, char uplo, const CMatrixRange< NumberS > &A, const CMatrixRange< NumberS > &B, char op='N', NumberS alpha=1, NumberS beta=0, pdense::Options options=pdense::Options::create())
 Updates C = beta*C + alpha*op(A)*transpose(op(B)) + alpha*op(B)*transpose(op(A)), touching only the specified triangle of C.
 
void myra::psyr2k_inplace (const MatrixRange< NumberD > &C, char uplo, const CMatrixRange< NumberD > &A, const CMatrixRange< NumberD > &B, char op, NumberD alpha, NumberD beta, pdense::Options options)
 Updates C = beta*C + alpha*op(A)*transpose(op(B)) + alpha*op(B)*transpose(op(A)), touching only the specified triangle of C.
 
void myra::psyr2k_inplace (const MatrixRange< NumberC > &C, char uplo, const CMatrixRange< NumberC > &A, const CMatrixRange< NumberC > &B, char op, NumberC alpha, NumberC beta, pdense::Options options)
 Updates C = beta*C + alpha*op(A)*transpose(op(B)) + alpha*op(B)*transpose(op(A)), touching only the specified triangle of C.
 
void myra::psyr2k_inplace (const MatrixRange< NumberZ > &C, char uplo, const CMatrixRange< NumberZ > &A, const CMatrixRange< NumberZ > &B, char op, NumberZ alpha, NumberZ beta, pdense::Options options)
 Updates C = beta*C + alpha*op(A)*transpose(op(B)) + alpha*op(B)*transpose(op(A)), touching only the specified triangle of C.
 
void myra::psyr2k_inplace (const LowerMatrixRange< NumberS > &C, const CMatrixRange< NumberS > &A, const CMatrixRange< NumberS > &B, char op='N', NumberS alpha=1, NumberS beta=0, pdense::Options options=pdense::Options::create())
 Updates C = beta*C + alpha*op(A)*transpose(op(B)) + alpha*op(B)*transpose(op(A))
 
void myra::psyr2k_inplace (const LowerMatrixRange< NumberD > &C, const CMatrixRange< NumberD > &A, const CMatrixRange< NumberD > &B, char op, NumberD alpha, NumberD beta, pdense::Options options)
 Updates C = beta*C + alpha*op(A)*transpose(op(B)) + alpha*op(B)*transpose(op(A))
 
void myra::psyr2k_inplace (const LowerMatrixRange< NumberC > &C, const CMatrixRange< NumberC > &A, const CMatrixRange< NumberC > &B, char op, NumberC alpha, NumberC beta, pdense::Options options)
 Updates C = beta*C + alpha*op(A)*transpose(op(B)) + alpha*op(B)*transpose(op(A))
 
void myra::psyr2k_inplace (const LowerMatrixRange< NumberZ > &C, const CMatrixRange< NumberZ > &A, const CMatrixRange< NumberZ > &B, char op, NumberZ alpha, NumberZ beta, pdense::Options options)
 Updates C = beta*C + alpha*op(A)*transpose(op(B)) + alpha*op(B)*transpose(op(A))
 
LowerMatrix< NumberS > myra::psyr2k (const CMatrixRange< NumberS > &A, const CMatrixRange< NumberS > &B, char op='N', NumberS alpha=1, pdense::Options options=pdense::Options::create())
 Returns alpha*op(A)*transpose(op(B)) + alpha*op(B)*transpose(op(A))
 
LowerMatrix< NumberD > myra::psyr2k (const CMatrixRange< NumberD > &A, const CMatrixRange< NumberD > &B, char op, NumberD alpha, pdense::Options options)
 Returns alpha*op(A)*transpose(op(B)) + alpha*op(B)*transpose(op(A))
 
LowerMatrix< NumberC > myra::psyr2k (const CMatrixRange< NumberC > &A, const CMatrixRange< NumberC > &B, char op, NumberC alpha, pdense::Options options)
 Returns alpha*op(A)*transpose(op(B)) + alpha*op(B)*transpose(op(A))
 
LowerMatrix< NumberZ > myra::psyr2k (const CMatrixRange< NumberZ > &A, const CMatrixRange< NumberZ > &B, char op, NumberZ alpha, pdense::Options options)
 Returns alpha*op(A)*transpose(op(B)) + alpha*op(B)*transpose(op(A))
 
JobGraph myra::psyr2k_jobgraph (const MatrixRange< NumberS > &C, char uplo, const CMatrixRange< NumberS > &A, const CMatrixRange< NumberS > &B, char op='N', NumberS alpha=1, NumberS beta=0, pdense::Options options=pdense::Options::create())
 Returns a JobGraph that fulfills psyr2k_inplace(MatrixRange)
 
JobGraph myra::psyr2k_jobgraph (const MatrixRange< NumberD > &C, char uplo, const CMatrixRange< NumberD > &A, const CMatrixRange< NumberD > &B, char op, NumberD alpha, NumberD beta, pdense::Options options)
 Returns a JobGraph that fulfills psyr2k_inplace(MatrixRange)
 
JobGraph myra::psyr2k_jobgraph (const MatrixRange< NumberC > &C, char uplo, const CMatrixRange< NumberC > &A, const CMatrixRange< NumberC > &B, char op, NumberC alpha, NumberC beta, pdense::Options options)
 Returns a JobGraph that fulfills psyr2k_inplace(MatrixRange)
 
JobGraph myra::psyr2k_jobgraph (const MatrixRange< NumberZ > &C, char uplo, const CMatrixRange< NumberZ > &A, const CMatrixRange< NumberZ > &B, char op, NumberZ alpha, NumberZ beta, pdense::Options options)
 Returns a JobGraph that fulfills psyr2k_inplace(MatrixRange)
 
JobGraph myra::psyr2k_jobgraph (const LowerMatrixRange< NumberS > &C, const CMatrixRange< NumberS > &A, const CMatrixRange< NumberS > &B, char op='N', NumberS alpha=1, NumberS beta=0, pdense::Options options=pdense::Options::create())
 Returns a JobGraph that fulfills psyr2k_inplace(LowerMatrixRange)
 
JobGraph myra::psyr2k_jobgraph (const LowerMatrixRange< NumberD > &C, const CMatrixRange< NumberD > &A, const CMatrixRange< NumberD > &B, char op, NumberD alpha, NumberD beta, pdense::Options options)
 Returns a JobGraph that fulfills psyr2k_inplace(LowerMatrixRange)
 
JobGraph myra::psyr2k_jobgraph (const LowerMatrixRange< NumberC > &C, const CMatrixRange< NumberC > &A, const CMatrixRange< NumberC > &B, char op, NumberC alpha, NumberC beta, pdense::Options options)
 Returns a JobGraph that fulfills psyr2k_inplace(LowerMatrixRange)
 
JobGraph myra::psyr2k_jobgraph (const LowerMatrixRange< NumberZ > &C, const CMatrixRange< NumberZ > &A, const CMatrixRange< NumberZ > &B, char op, NumberZ alpha, NumberZ beta, pdense::Options options)
 Returns a JobGraph that fulfills psyr2k_inplace(LowerMatrixRange)
 

Detailed Description

Thread parallel version of dense/syr2k.h, symmetric rank-2k updates.