cuquantum.custatevec.apply_matrix_batched_get_workspace_size¶
- cuquantum.custatevec.apply_matrix_batched_get_workspace_size(intptr_t handle, int sv_data_type, uint32_t n_index_bits, uint32_t n_svs, _Index sv_stride, int map_type, matrix_indices, intptr_t matrices, int matrix_data_type, int layout, int32_t adjoint, uint32_t n_matrices, uint32_t n_targets, uint32_t n_controls, int compute_type) size_t[source]¶
Computes the required workspace size for
apply_matrix_batched().- Parameters
handle (intptr_t) – The library handle.
sv_data_type (cuquantum.cudaDataType) – The data type of the statevector.
n_index_bits (uint32_t) – The number of index bits.
n_svs (uint32_t) – The number of batched statevectors.
sv_stride (int64_t) – The stride between each state vector in the batch.
map_type (MatrixMapType) – Specify the way to assign matrices.
matrix_indices –
An array of matrix indices to indicate, in order, which matrix is to be applied to the statevectors in the batch. It can be
an
intas the pointer address to the array (on host or device)a Python sequence of bits on host
matrices (intptr_t) – The pointer address (as Python
int) to the matrices (on either host or device).matrix_data_type (cuquantum.cudaDataType) – The data type of the matrix.
layout (MatrixLayout) – The memory layout the the matrix.
adjoint (int32_t) – Whether the adjoint of the matrix would be applied.
n_matrices (uint32_t) – The number of matrices.
n_targets (uint32_t) – The length of
targets.n_controls (uint32_t) – The length of
controls.compute_type (cuquantum.ComputeType) – The compute type of matrix multiplication.
- Returns
The required workspace size (in bytes).
- Return type
size_t