AdjointContract

Perform \(B := \sum_i A_i^H\), where the summation is performed over the local data of each member of the process team that was redundantly assigned entries of \(A\) but is not redundantly assigned entries of \(B\). Thus, in the general case where each column and row of \(A\) is respectively distributed over the process sets \(U_0 \times U_1\) and \(V_0 \times V_1\), while each column and row of \(B\) is respectively distributed over \(U_0\) and \(V_0\), then the result is of the form

\[B = \sum_{i \in U_1 \times V_1} A_i^H.\]

C++ API

void AdjointContract(const ElementalMatrix<T> &A, ElementalMatrix<T> &B)
void AdjointContract(const BlockMatrix<T> &A, BlockMatrix<T> &B)

C API

TODO

Python API

TODO