|
Uni20
Asynchronous tensor and runtime library.
|
Canonical contracted and surviving axes for two fixed-rank operands. More...
#include <contraction_axes.hpp>
Public Attributes | |
| std::array< std::size_t, contracted_rank > | lhs_contracted {} |
| std::array< std::size_t, lhs_surviving_rank > | lhs_surviving {} |
| std::array< std::size_t, contracted_rank > | rhs_contracted {} |
| std::array< std::size_t, rhs_surviving_rank > | rhs_surviving {} |
Static Public Attributes | |
| static constexpr std::size_t | contracted_rank = ContractedRank |
| static constexpr std::size_t | lhs_rank = LhsRank |
| static constexpr std::size_t | lhs_surviving_rank = lhs_rank - contracted_rank |
| static constexpr std::size_t | output_rank = lhs_surviving_rank + rhs_surviving_rank |
| static constexpr std::size_t | rhs_rank = RhsRank |
| static constexpr std::size_t | rhs_surviving_rank = rhs_rank - contracted_rank |
Canonical contracted and surviving axes for two fixed-rank operands.
Contracted pairs are ordered by the left operand axis. Surviving axes retain their original order. The corresponding output order is all surviving left axes followed by all surviving right axes.
|
staticconstexpr |
| std::array<std::size_t, contracted_rank> uni20::linalg::ContractionAxes< LhsRank, RhsRank, ContractedRank >::lhs_contracted {} |
|
staticconstexpr |
| std::array<std::size_t, lhs_surviving_rank> uni20::linalg::ContractionAxes< LhsRank, RhsRank, ContractedRank >::lhs_surviving {} |
|
staticconstexpr |
|
staticconstexpr |
| std::array<std::size_t, contracted_rank> uni20::linalg::ContractionAxes< LhsRank, RhsRank, ContractedRank >::rhs_contracted {} |
|
staticconstexpr |
| std::array<std::size_t, rhs_surviving_rank> uni20::linalg::ContractionAxes< LhsRank, RhsRank, ContractedRank >::rhs_surviving {} |
|
staticconstexpr |