Sequential Quantum Gate Decomposer  v1.9.3
Powerful decomposition of general unitarias into one- and two-qubit gates gates
List of all members | Public Member Functions | Public Attributes
zgemm_Task_serial Class Reference

Class to calculate a matrix product C=A*B in serial. More...

#include <dot.h>

Inheritance diagram for zgemm_Task_serial:
Inheritance graph
[legend]

Public Member Functions

void print (const std::stringstream &sstream, int verbose_level=1) const
 Call to print output messages in the function of the verbosity level. More...
 
void set_debugfile (std::string debugfile)
 Call to set the debugfile name. More...
 
void set_verbose (int verbose_in)
 Call to set the verbose attribute. More...
 
void zgemm_chunk ()
 Call to calculate the product of matrix chunks defined by attributes rows, cols. More...
 
 zgemm_Task_serial (Matrix &A_in, Matrix &B_in, Matrix &C_in)
 Constructor of the class. More...
 
 zgemm_Task_serial (Matrix &A_in, Matrix &B_in, Matrix &C_in, row_indices &rows_in, col_indices &cols_in)
 Constructor of the class. More...
 

Public Attributes

Matrix A
 The matrix A. More...
 
Matrix B
 The matrix B. More...
 
Matrix C
 The matrix C. More...
 
col_indices cols
 Structure containing column limits for the partitioning of the matrix product calculations. More...
 
bool debug
 Logical variable. Set true to write output messages to the 'debug.txt' file. More...
 
std::string debugfile_name
 String variable. Set the debug file name. More...
 
CBLAS_ORDER order
 CBLAS storage order. More...
 
row_indices rows
 Structure containing row limits for the partitioning of the matrix product calculations. More...
 
int verbose
 Set the verbosity level of the output messages. More...
 

Detailed Description

Class to calculate a matrix product C=A*B in serial.

This class is used to divide the multiplication into chunks for parallel calculations.

Definition at line 147 of file dot.h.

Constructor & Destructor Documentation

◆ zgemm_Task_serial() [1/2]

zgemm_Task_serial::zgemm_Task_serial ( Matrix A_in,
Matrix B_in,
Matrix C_in 
)

Constructor of the class.

(In this case the row/col limits are extracted from matrices A,B,C).

Parameters
A_inThe object representing matrix A.
B_inThe object representing matrix B.
C_inThe object representing matrix C.

Definition at line 244 of file dot.cpp.

◆ zgemm_Task_serial() [2/2]

zgemm_Task_serial::zgemm_Task_serial ( Matrix A_in,
Matrix B_in,
Matrix C_in,
row_indices rows_in,
col_indices cols_in 
)

Constructor of the class.

Parameters
A_inThe object representing matrix A.
B_inThe object representing matrix B.
C_inThe object representing matrix C.
rows_inStructure containing row limits for the partitioning of the matrix product calculations.
cols_inStructure containing column limits for the partitioning of the matrix product calculations.

Definition at line 284 of file dot.cpp.

Member Function Documentation

◆ print()

void logging::print ( const std::stringstream &  sstream,
int  verbose_level = 1 
) const
inherited

Call to print output messages in the function of the verbosity level.

Parameters
sstreamThe stringstream input to store the output messages.
verbose_levelInteger input. High level means write more to the standart output, 0 means write nothing. The default value is set to 1.

Definition at line 55 of file logging.cpp.

◆ set_debugfile()

void logging::set_debugfile ( std::string  debugfile)
inherited

Call to set the debugfile name.

Parameters
debugfileString variable. Set the debugfile name.

Definition at line 95 of file logging.cpp.

Here is the caller graph for this function:

◆ set_verbose()

void logging::set_verbose ( int  verbose_in)
inherited

Call to set the verbose attribute.

Parameters
verbose_inInteger variable. Set the number to specify the verbosity level for output messages.

Definition at line 85 of file logging.cpp.

Here is the caller graph for this function:

◆ zgemm_chunk()

void zgemm_Task_serial::zgemm_chunk ( )

Call to calculate the product of matrix chunks defined by attributes rows, cols.

The result is stored in the corresponding chunk of matrix C.

Definition at line 301 of file dot.cpp.

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

Member Data Documentation

◆ A

Matrix zgemm_Task_serial::A

The matrix A.

Definition at line 151 of file dot.h.

◆ B

Matrix zgemm_Task_serial::B

The matrix B.

Definition at line 153 of file dot.h.

◆ C

Matrix zgemm_Task_serial::C

The matrix C.

Definition at line 155 of file dot.h.

◆ cols

col_indices zgemm_Task_serial::cols

Structure containing column limits for the partitioning of the matrix product calculations.

Definition at line 159 of file dot.h.

◆ debug

bool logging::debug
inherited

Logical variable. Set true to write output messages to the 'debug.txt' file.

Definition at line 53 of file logging.h.

◆ debugfile_name

std::string logging::debugfile_name
inherited

String variable. Set the debug file name.

Definition at line 56 of file logging.h.

◆ order

CBLAS_ORDER zgemm_Task_serial::order

CBLAS storage order.

Definition at line 161 of file dot.h.

◆ rows

row_indices zgemm_Task_serial::rows

Structure containing row limits for the partitioning of the matrix product calculations.

Definition at line 157 of file dot.h.

◆ verbose

int logging::verbose
inherited

Set the verbosity level of the output messages.

Definition at line 50 of file logging.h.


The documentation for this class was generated from the following files: