Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
Classes | Namespaces | Enumerations | Functions
operation_tags.hpp File Reference

Backend-independent operation values used with normalized kernel operands. More...

#include <uni20/linalg/contraction_axes.hpp>
#include <uni20/linalg/reduction_axes.hpp>
#include <cstddef>
#include <string_view>
#include <type_traits>
Include dependency graph for operation_tags.hpp:

Go to the source code of this file.

Classes

struct  uni20::linalg::assign_product_op
 Replaceable-output dense matrix product operation tag. More...
 
struct  uni20::linalg::conjugate_inplace_op
 Accessor-respecting in-place scalar conjugation operation tag. More...
 
struct  uni20::linalg::contract_op< LhsRank, RhsRank, ContractedRank >
 Fixed-output pairwise tensor contraction operation. More...
 
struct  uni20::linalg::copy_op
 Accessor-respecting element copy operation tag. More...
 
struct  uni20::linalg::gemm_op
 Fixed-output dense matrix multiplication operation tag. More...
 
struct  uni20::linalg::gemv_op
 Dense matrix-vector multiplication operation tag. More...
 
struct  uni20::linalg::hessenberg_schur_op
 Schur decomposition of an already upper-Hessenberg real matrix. More...
 
struct  uni20::linalg::inner_product_op
 Conjugate-linear-left tensor inner-product operation tag. More...
 
struct  uni20::linalg::least_squares_op
 Preserving full-column-rank least squares with fixed solution and diagnostic outputs. More...
 
struct  uni20::linalg::linear_solve_op
 Destructive dense general linear-system solve operation tag. More...
 
struct  uni20::linalg::lq_op
 Reduced dense real LQ factorization operation tag. More...
 
struct  uni20::linalg::lu_factor_op
 Fixed-output packed LU factorization with zero-based row-swap pivots. More...
 
struct  uni20::linalg::lu_rcond_op
 Reciprocal condition estimate from successful packed LU and an original matrix norm. More...
 
struct  uni20::linalg::lu_solve_op
 Solve using read-only packed LU factors, overwriting an existing RHS. More...
 
struct  uni20::linalg::matrix_exponential_op
 Dense matrix exponential operation tag. More...
 
struct  uni20::linalg::matrix_norm_op
 Dense rank-two matrix norm operation tag. More...
 
struct  uni20::linalg::matrix_set_op
 Structured dense matrix initialization operation tag. More...
 
struct  uni20::linalg::nonsymmetric_eigen_op
 Dense nonsymmetric eigensystem operation tag. More...
 
struct  uni20::linalg::norm_op
 Euclidean tensor norm operation tag. More...
 
struct  uni20::linalg::qr_op
 Reduced dense real QR factorization operation tag. More...
 
struct  uni20::linalg::schur_op
 Dense Schur decomposition operation tag. More...
 
struct  uni20::linalg::schur_reorder_op
 Move one Schur block or entry to a requested position. More...
 
struct  uni20::linalg::self_adjoint_eigh_op
 Dense symmetric or Hermitian eigensystem operation tag. More...
 
struct  uni20::linalg::SelfAdjointEighOptions
 Options for a dense symmetric or Hermitian eigensystem. More...
 
struct  uni20::linalg::singular_values_op
 Exact dense singular-values-only operation tag. More...
 
struct  uni20::linalg::sum_reduction_op< InputRank, ReducedRank >
 Sum reduction over one or more fixed-rank input axes. More...
 
struct  uni20::linalg::svd_least_squares_op
 Preserving minimum-norm SVD least squares with explicit rank diagnostics. More...
 
struct  uni20::linalg::svd_left_op
 Exact dense left singular-vector operation tag. More...
 
struct  uni20::linalg::svd_op
 Exact dense singular value decomposition operation tag. More...
 
struct  uni20::linalg::svd_right_op
 Exact dense right singular-vector operation tag. More...
 
struct  uni20::linalg::SvdOptions
 Output-shape options for an exact singular value decomposition. More...
 
struct  uni20::linalg::symmetric_tridiagonal_eigen_op
 Symmetric tridiagonal eigensystem operation tag. More...
 
struct  uni20::linalg::transform_inplace_op< Function >
 Callable-carrying elementwise update operation. More...
 
struct  uni20::linalg::transform_op< Function >
 Callable-carrying elementwise overwrite operation. More...
 

Namespaces

namespace  uni20
 
namespace  uni20::linalg
 

Enumerations

enum class  uni20::linalg::MatrixNorm { uni20::linalg::MaxAbs , uni20::linalg::One , uni20::linalg::Infinity , uni20::linalg::Frobenius }
 Matrix norm selected by matrix_norm_op. More...
 
enum class  uni20::linalg::MatrixRegion { uni20::linalg::All , uni20::linalg::Upper , uni20::linalg::Lower }
 Matrix region selected by structured initialization operations. More...
 
enum class  uni20::linalg::MatrixTriangle { uni20::linalg::Upper , uni20::linalg::Lower }
 Triangle of a symmetric or Hermitian matrix supplied to an operation. More...
 
enum class  uni20::linalg::SvdOverwrite { uni20::linalg::None , uni20::linalg::Left , uni20::linalg::Right }
 Input allocation overwritten by a singular-vector factor. More...
 
enum class  uni20::linalg::SvdVectorExtent { uni20::linalg::Reduced , uni20::linalg::Full }
 Extent policy for one side of an exact singular value decomposition. More...
 

Functions

template<class Function >
 uni20::linalg::transform_inplace_op (Function) -> transform_inplace_op< std::decay_t< Function > >
 Deduce an update operation that owns a decayed callable value.
 
template<class Function >
 uni20::linalg::transform_op (Function) -> transform_op< std::decay_t< Function > >
 Deduce an overwrite operation that owns a decayed callable value.
 

Detailed Description

Backend-independent operation values used with normalized kernel operands.