|
Sequential Quantum Gate Decomposer
v1.9.6
Powerful decomposition of general unitarias into one- and two-qubit gates gates
|
Single-precision complex matrix (float32). More...
#include <matrix_float.h>

Public Member Functions | |
| void | conjugate () |
| Call to conjugate (or un-conjugate) the matrix for CBLAS functions. More... | |
| Matrix_float | copy () const |
| Call to create a copy of the matrix. More... | |
| void | copy_to (matrix_base< QGD_Complex8 > &target) const |
| Copy the current matrix storage into a reusable target matrix. More... | |
| void | ensure_aligned () |
| QGD_Complex8 * | get_data () const |
| Call to get the pointer to the stored data. More... | |
| bool | is_conjugated () const |
| Call to get whether the matrix should be conjugated in CBLAS functions or not. More... | |
| bool | is_transposed () const |
| Call to get whether the matrix should be conjugated in CBLAS functions or not. More... | |
| bool | isnan () |
| Matrix_float ()=default | |
| Matrix_float (Matrix_T< QGD_Complex8 > &&base) noexcept | |
| Matrix_float (const Matrix_float &)=default | |
| Matrix_float (Matrix_float &&) noexcept=default | |
| bool | operator< (const matrix_base< QGD_Complex8 > &other) const |
| Matrix_float & | operator= (const Matrix_float &)=default |
| Matrix_float & | operator= (Matrix_float &&) noexcept=default |
| QGD_Complex8 & | operator[] (int idx) const |
| Operator [] to access elements in array style (does not check the boundaries of the stored array) More... | |
| void | print_matrix () const |
| void | release_data () |
| Call to release the data stored by the matrix. More... | |
| void | replace_data (QGD_Complex8 *data_in, bool owner_in) |
| Call to replace the stored data by an another data array. More... | |
| void | set_owner (bool owner_in) |
| Call to set the current class instance to be (or not to be) the owner of the stored data array. More... | |
| int | size () const |
| Call to get the number of the allocated elements. More... | |
| Matrix | to_float64 () const |
| Convert to double precision. More... | |
| void | transpose () |
| Call to transpose (or un-transpose) the matrix for CBLAS functions. More... | |
| ~Matrix_float ()=default | |
Public Attributes | |
| int | cols |
| The number of columns. More... | |
| QGD_Complex8 * | data |
| pointer to the stored data More... | |
| int | rows |
| The number of rows. More... | |
| int | stride |
| The column stride of the array. (The array elements in one row are a_0, a_1, ... a_{cols-1}, 0, 0, 0, 0. The number of zeros is stride-cols) More... | |
Protected Attributes | |
| bool | conjugated |
| logical variable indicating whether the matrix needs to be conjugated in CBLAS operations More... | |
| bool | owner |
| logical value indicating whether the class instance is the owner of the stored data or not. (If true, the data array is released in the destructor) More... | |
| std::atomic< int64_t > * | references |
| the number of the current references of the present object More... | |
| bool | transposed |
| logical variable indicating whether the matrix needs to be transposed in CBLAS operations More... | |
Single-precision complex matrix (float32).
Class to store data of single-precision complex arrays and its properties.
Definition at line 41 of file matrix_float.h.
|
default |
|
inlineexplicitnoexcept |
Definition at line 47 of file matrix_float.h.
|
default |
|
defaultnoexcept |
|
default |
|
inlineinherited |
Call to conjugate (or un-conjugate) the matrix for CBLAS functions.
Definition at line 252 of file matrix_base.hpp.
|
inline |
Call to create a copy of the matrix.
Definition at line 60 of file matrix_float.h.

|
inlineinherited |
Copy the current matrix storage into a reusable target matrix.
The target is reallocated when dimensions or stride differ; otherwise its existing allocation is reused.
| target | The matrix receiving a deep copy of the current storage. |
Definition at line 433 of file matrix_base.hpp.
|
inlineinherited |
Definition at line 448 of file matrix_base.hpp.
|
inlineinherited |
Call to get the pointer to the stored data.
Definition at line 285 of file matrix_base.hpp.
|
inlineinherited |
Call to get whether the matrix should be conjugated in CBLAS functions or not.
Definition at line 245 of file matrix_base.hpp.
|
inlineinherited |
Call to get whether the matrix should be conjugated in CBLAS functions or not.
Definition at line 263 of file matrix_base.hpp.
|
inherited |
Definition at line 60 of file matrix_template.cpp.
|
inlineinherited |
Definition at line 394 of file matrix_base.hpp.
|
default |
|
defaultnoexcept |
|
inlineinherited |
Operator [] to access elements in array style (does not check the boundaries of the stored array)
| idx | the index of the element |
Definition at line 382 of file matrix_base.hpp.
|
inherited |
Definition at line 70 of file matrix_template.cpp.
|
inlineinherited |
Call to release the data stored by the matrix.
(If the class instance was not the owner of the data, then the data pointer is simply set to NULL pointer.)
Definition at line 311 of file matrix_base.hpp.
|
inlineinherited |
Call to replace the stored data by an another data array.
If the class was the owner of the original data array, then it is released.
| data_in | The data array to be set as a new storage. |
| owner_in | Set true to set the current class instance to be the owner of the data array, or false otherwise. |
Definition at line 297 of file matrix_base.hpp.
|
inlineinherited |
Call to set the current class instance to be (or not to be) the owner of the stored data array.
| owner_in | Set true to set the current class instance to be the owner of the data array, or false otherwise. |
Definition at line 337 of file matrix_base.hpp.
|
inlineinherited |
Call to get the number of the allocated elements.
Definition at line 461 of file matrix_base.hpp.
| Matrix Matrix_float::to_float64 | ( | ) | const |
Convert to double precision.
| std::bad_alloc | if memory allocation fails |
Definition at line 8 of file matrix_float.cpp.


|
inlineinherited |
Call to transpose (or un-transpose) the matrix for CBLAS functions.
Definition at line 273 of file matrix_base.hpp.
|
inherited |
The number of columns.
Definition at line 44 of file matrix_base.hpp.
|
protectedinherited |
logical variable indicating whether the matrix needs to be conjugated in CBLAS operations
Definition at line 53 of file matrix_base.hpp.
|
inherited |
pointer to the stored data
Definition at line 48 of file matrix_base.hpp.
|
protectedinherited |
logical value indicating whether the class instance is the owner of the stored data or not. (If true, the data array is released in the destructor)
Definition at line 57 of file matrix_base.hpp.
|
protectedinherited |
the number of the current references of the present object
Definition at line 59 of file matrix_base.hpp.
|
inherited |
The number of rows.
Definition at line 42 of file matrix_base.hpp.
|
inherited |
The column stride of the array. (The array elements in one row are a_0, a_1, ... a_{cols-1}, 0, 0, 0, 0. The number of zeros is stride-cols)
Definition at line 46 of file matrix_base.hpp.
|
protectedinherited |
logical variable indicating whether the matrix needs to be transposed in CBLAS operations
Definition at line 55 of file matrix_base.hpp.
1.8.13