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

Async Tensor wrappers for dense matrix norms. More...

#include <uni20/async/async.hpp>
#include <uni20/async/awaiters.hpp>
#include <uni20/async/debug_scheduler.hpp>
#include <uni20/common/trace.hpp>
#include <uni20/linalg/async/detail/output.hpp>
#include <uni20/linalg/ops/matrix_norm.hpp>
#include <memory>
#include <tuple>
#include <type_traits>
#include <utility>
Include dependency graph for async/matrix_norm.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  uni20
 
namespace  uni20::linalg
 

Functions

template<uni20::RankedTensorView< 2 > MatrixTensor>
requires uni20::RealOrComplex<uni20::tensor_element_t<MatrixTensor>> && requires(MatrixTensor const& matrix) { uni20::norm(matrix); }
auto uni20::linalg::matrix_norm (async::Async< MatrixTensor > const &matrix, MatrixNorm kind)
 Schedule a storage-preserving dense matrix norm using static Tensor policy.
 
template<uni20::AsyncTensorOutput OutputTensor, uni20::RankedTensorView< 2 > MatrixTensor>
requires uni20::MutableScalarTensorView<OutputTensor> && uni20::RealOrComplex<uni20::tensor_element_t<MatrixTensor>> && std::same_as<uni20::tensor_element_t<OutputTensor>, uni20::make_real_t<uni20::tensor_element_t<MatrixTensor>>>
void uni20::linalg::matrix_norm (async::Async< OutputTensor > &output, async::Async< MatrixTensor > const &matrix, MatrixNorm kind)
 Schedule a matrix norm into an explicit async scalar Tensor using storage policy.
 
template<KernelBackendSelector BackendSelector, uni20::RankedTensorView< 2 > MatrixTensor>
requires uni20::RealOrComplex<uni20::tensor_element_t<MatrixTensor>> && requires(MatrixTensor const& matrix) { uni20::norm(matrix); }
auto uni20::linalg::matrix_norm (BackendSelector selector, async::Async< MatrixTensor > const &matrix, MatrixNorm kind)
 Schedule a storage-preserving dense matrix norm through an explicit selector.
 
template<KernelBackendSelector BackendSelector, uni20::AsyncTensorOutput OutputTensor, uni20::RankedTensorView< 2 > MatrixTensor>
requires uni20::MutableScalarTensorView<OutputTensor> && uni20::RealOrComplex<uni20::tensor_element_t<MatrixTensor>> && std::same_as<uni20::tensor_element_t<OutputTensor>, uni20::make_real_t<uni20::tensor_element_t<MatrixTensor>>>
void uni20::linalg::matrix_norm (BackendSelector selector, async::Async< OutputTensor > &output, async::Async< MatrixTensor > const &matrix, MatrixNorm kind)
 Schedule a matrix norm into an explicit async scalar Tensor.
 
template<uni20::RankedTensorView< 2 > MatrixTensor>
requires uni20::RealOrComplex<uni20::tensor_element_t<MatrixTensor>>
auto uni20::linalg::matrix_norm_host (async::Async< MatrixTensor > const &matrix, MatrixNorm kind)
 Schedule a dense matrix norm returning a host C++ scalar using static Tensor policy.
 
template<KernelBackendSelector BackendSelector, uni20::RankedTensorView< 2 > MatrixTensor>
requires uni20::RealOrComplex<uni20::tensor_element_t<MatrixTensor>>
auto uni20::linalg::matrix_norm_host (BackendSelector selector, async::Async< MatrixTensor > const &matrix, MatrixNorm kind)
 Schedule a dense matrix norm returning a host C++ scalar through an explicit selector.
 

Detailed Description

Async Tensor wrappers for dense matrix norms.