- class cuquantum.cutensornet.experimental.ContractDecomposeAlgorithm(qr_method: Optional[Union[cuquantum.cutensornet.tensor.QRMethod, Literal[False, None], Dict]] = <factory>, svd_method: Optional[Union[cuquantum.cutensornet.tensor.SVDMethod, Literal[False, None], Dict]] = False)¶
A data class for specifying the algorithm to use for the contract and decompose operations. Three choices are supported, as listed below:
False, this amounts to QR-assisted contraction with singular value decomposition. QR decomposition will first be applied onto certain input tensors to reduce the network size. The resulting R tensors along with the remaining tensors form a new network that will be contracted and decomposed using SVD. The Q tensors from the first QR operations along with the SVD outputs are then subject to two more contractions to yield the final output.
The third choice above (QR-assisted contract and SVD) is currently only supported for ternary operands that are fully connected to each other with un-contracted modes on each tensor. The results from the third choice is expected to be equivalent to that from the second choice but typically at lower computational cost.
The QR method used for the decomposition. See
The SVD method used for the decomposition. See