|
Uni20
Asynchronous tensor and runtime library.
|
Async Tensor wrappers for complete self-adjoint eigensystems. More...
#include <uni20/async/async.hpp>#include <uni20/async/debug_scheduler.hpp>#include <uni20/linalg/ops/self_adjoint_eigh.hpp>#include <type_traits>#include <utility>Go to the source code of this file.
Namespaces | |
| namespace | uni20 |
| namespace | uni20::linalg |
Functions | |
| template<RankedTensorView< 2 > Matrix> | |
| auto | uni20::linalg::eigh (async::Async< Matrix > &&matrix, Precision p, MatrixTriangle triangle=MatrixTriangle::Upper) |
| Compute a self-adjoint eigensystem at explicit working precision with optional output settings. | |
| template<RankedTensorView< 2 > Matrix> | |
| auto | uni20::linalg::eigh (async::Async< Matrix > const &matrix, Precision p, MatrixTriangle triangle=MatrixTriangle::Upper) |
| Compute a self-adjoint eigensystem at explicit working precision with optional output settings. | |
| template<class MatrixTensor > requires uni20::OwningTensor<MatrixTensor> && uni20::MutableRankedTensorView<MatrixTensor, 2> | |
| auto | uni20::linalg::eigh (async::Async< MatrixTensor > &&matrix, MatrixTriangle triangle=MatrixTriangle::Upper, std::optional< Precision > requested={}) |
| Schedule a consuming self-adjoint eigensystem using the static Tensor selector. | |
| template<uni20::RankedTensorView< 2 > MatrixTensor> | |
| auto | uni20::linalg::eigh (async::Async< MatrixTensor > const &matrix, MatrixTriangle triangle=MatrixTriangle::Upper, std::optional< Precision > requested={}) |
| Schedule a preserving self-adjoint eigensystem using the static Tensor selector. | |
| template<KernelBackendSelector BackendSelector, class MatrixTensor > requires uni20::OwningTensor<MatrixTensor> && uni20::MutableRankedTensorView<MatrixTensor, 2> | |
| auto | uni20::linalg::eigh (BackendSelector selector, async::Async< MatrixTensor > &&matrix, MatrixTriangle triangle=MatrixTriangle::Upper, std::optional< Precision > requested={}) |
| Schedule a consuming self-adjoint eigensystem through an explicit selector. | |
| template<KernelBackendSelector BackendSelector, uni20::RankedTensorView< 2 > MatrixTensor> | |
| auto | uni20::linalg::eigh (BackendSelector selector, async::Async< MatrixTensor > const &matrix, MatrixTriangle triangle=MatrixTriangle::Upper, std::optional< Precision > requested={}) |
| Schedule a preserving self-adjoint eigensystem through an explicit selector. | |
| template<KernelBackendSelector Selector, RankedTensorView< 2 > Matrix> | |
| auto | uni20::linalg::eigh (Selector &&selector, async::Async< Matrix > &&matrix, Precision p, MatrixTriangle triangle=MatrixTriangle::Upper) |
| Compute a self-adjoint eigensystem at explicit working precision with optional output settings. | |
| template<KernelBackendSelector Selector, RankedTensorView< 2 > Matrix> | |
| auto | uni20::linalg::eigh (Selector &&selector, async::Async< Matrix > const &matrix, Precision p, MatrixTriangle triangle=MatrixTriangle::Upper) |
| Compute a self-adjoint eigensystem at explicit working precision with optional output settings. | |
Async Tensor wrappers for complete self-adjoint eigensystems.
Precision may be inferred from the input matrix or supplied explicitly. Fixed results require their native precision; runtime decompositions require finite precision. Owning results record the selected default. Inference occurs only after the input epoch is readable.