|
Uni20
Asynchronous tensor and runtime library.
|
Normalized axis metadata for fixed-rank pairwise tensor contractions. More...
#include <uni20/common/trace.hpp>#include <uni20/core/types.hpp>#include <uni20/mdspan/mdspan.hpp>#include <algorithm>#include <array>#include <cstddef>#include <utility>Go to the source code of this file.
Classes | |
| struct | uni20::linalg::ContractionAxes< LhsRank, RhsRank, ContractedRank > |
| Canonical contracted and surviving axes for two fixed-rank operands. More... | |
Namespaces | |
| namespace | uni20 |
| namespace | uni20::linalg |
Functions | |
| template<std::size_t LhsRank, std::size_t RhsRank, std::size_t ContractedRank> | |
| constexpr bool | uni20::linalg::contraction_axes_are_valid (ContractionAxes< LhsRank, RhsRank, ContractedRank > const &axes) noexcept |
| Return whether contraction axes form canonical partitions of both inputs. | |
| template<class Lhs , class Rhs , std::size_t LhsRank, std::size_t RhsRank, std::size_t ContractedRank> | |
| auto | uni20::linalg::contraction_output_extents (Lhs const &lhs, Rhs const &rhs, ContractionAxes< LhsRank, RhsRank, ContractedRank > const &axes) -> stdex::dextents< uni20::index_type, ContractionAxes< LhsRank, RhsRank, ContractedRank >::output_rank > |
| Validate paired extents and return the canonical contraction output shape. | |
| template<std::size_t LhsRank, std::size_t RhsRank, std::size_t ContractedRank> | |
| auto | uni20::linalg::make_contraction_axes (std::array< std::pair< std::size_t, std::size_t >, ContractedRank > requested_axes) -> ContractionAxes< LhsRank, RhsRank, ContractedRank > |
| Normalize and validate a fixed-size array of contraction-axis pairs. | |
Normalized axis metadata for fixed-rank pairwise tensor contractions.