Sequential Quantum Gate Decomposer  v1.9.3
Powerful decomposition of general unitarias into one- and two-qubit gates gates
Classes | Enumerations | Functions
dot.h File Reference
#include "matrix.h"
#include "logging.h"
#include <tbb/tbb.h>
Include dependency graph for dot.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  col_indices
 Structure containing column limits for the partitioning of the matrix product calculations. More...
 
struct  row_indices
 Structure containing row limits for the partitioning of the matrix product calculations. More...
 
class  zgemm_Task
 Class to calculate a matrix product C=A*B in parallel. More...
 
class  zgemm_Task_serial
 Class to calculate a matrix product C=A*B in serial. More...
 

Enumerations

enum  CBLAS_ORDER { CblasRowMajor =101, CblasColMajor =102 }
 
enum  CBLAS_TRANSPOSE { CblasNoTrans =111, CblasTrans =112, CblasConjTrans =113, CblasConjNoTrans =114 }
 

Functions

void cblas_zgemm (const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_TRANSPOSE TransB, const int M, const int N, const int K, const void *alpha, const void *A, const int lda, const void *B, const int ldb, const void *beta, void *C, const int ldc)
 Definition of the zgemm function from CBLAS. More...
 
void cblas_zgemv (const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, const int M, const int N, const void *alpha, const void *A, const int lda, const void *X, const int incX, const void *beta, void *Y, const int incY)
 Definition of the zgemv function from CBLAS to calculate matrix-vector product. More...
 
bool check_matrices (Matrix &A, Matrix &B)
 Call to check the shape of the matrices for method dot. More...
 
Matrix dot (Matrix &A, Matrix &B)
 Call to calculate the product of two complex matrices by calling method zgemm3m from the CBLAS library. More...
 
void get_cblas_transpose (Matrix &A, CBLAS_TRANSPOSE &transpose)
 Call to get the transpose properties of the input matrix for CBLAS calculations. More...
 

Enumeration Type Documentation

◆ CBLAS_ORDER

Enumerator
CblasRowMajor 
CblasColMajor 

Definition at line 33 of file dot.h.

◆ CBLAS_TRANSPOSE

Enumerator
CblasNoTrans 
CblasTrans 
CblasConjTrans 
CblasConjNoTrans 

Definition at line 34 of file dot.h.

Function Documentation

◆ cblas_zgemm()

void cblas_zgemm ( const enum CBLAS_ORDER  Order,
const enum CBLAS_TRANSPOSE  TransA,
const enum CBLAS_TRANSPOSE  TransB,
const int  M,
const int  N,
const int  K,
const void *  alpha,
const void *  A,
const int  lda,
const void *  B,
const int  ldb,
const void *  beta,
void *  C,
const int  ldc 
)

Definition of the zgemm function from CBLAS.

Here is the caller graph for this function:

◆ cblas_zgemv()

void cblas_zgemv ( const enum CBLAS_ORDER  Order,
const enum CBLAS_TRANSPOSE  TransA,
const int  M,
const int  N,
const void *  alpha,
const void *  A,
const int  lda,
const void *  X,
const int  incX,
const void *  beta,
void *  Y,
const int  incY 
)

Definition of the zgemv function from CBLAS to calculate matrix-vector product.

◆ check_matrices()

bool check_matrices ( Matrix A,
Matrix B 
)

Call to check the shape of the matrices for method dot.

(Called in DEBUG mode)

Parameters
AThe first matrix in the product of type matrix.
BThe second matrix in the product of type matrix
Returns
Returns with true if the test passed, false otherwise.

Definition at line 132 of file dot.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dot()

Matrix dot ( Matrix A,
Matrix B 
)

Call to calculate the product of two complex matrices by calling method zgemm3m from the CBLAS library.

Parameters
AThe first matrix in the product of type matrix.
BThe second matrix in the product of type matrix
Returns
Returns with the resulted matrix.
Parameters
AThe first matrix.
BThe second matrix
Returns
Returns with the resulted matrix.

Definition at line 38 of file dot.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_cblas_transpose()

void get_cblas_transpose ( Matrix A,
CBLAS_TRANSPOSE transpose 
)

Call to get the transpose properties of the input matrix for CBLAS calculations.

Parameters
AThe matrix of type matrix.
transposeThe returned vale of CBLAS_TRANSPOSE.

Definition at line 202 of file dot.cpp.

Here is the call graph for this function:
Here is the caller graph for this function: