|
Uni20
Asynchronous tensor and runtime library.
|
Destructive-workspace and value-producing reduced real or complex LQ factorizations. More...
#include <uni20/core/scalar_concepts.hpp>#include <uni20/linalg/backends/lapack/lq.hpp>#include <uni20/linalg/decomposition_precision.hpp>#include <uni20/linalg/dispatch.hpp>#include <uni20/linalg/operation_tags.hpp>#include <uni20/tensor/concepts.hpp>#include <uni20/tensor/copy.hpp>#include <uni20/tensor/output.hpp>#include <uni20/tensor/tensor.hpp>#include <algorithm>#include <concepts>#include <type_traits>#include <utility>Go to the source code of this file.
Classes | |
| struct | uni20::linalg::LqResult< LTensor, QTensor > |
Owning reduced factors returned by lq. More... | |
Namespaces | |
| namespace | uni20 |
| namespace | uni20::linalg |
Functions | |
| template<KernelBackendSelector BackendSelector, class MatrixTensor > requires uni20::OwningTensor<MatrixTensor> && uni20::MutableRankedTensorView<MatrixTensor, 2> && detail::DecompositionScalar<uni20::tensor_element_t<MatrixTensor>> && (!std::is_lvalue_reference_v<MatrixTensor>) && (!std::is_const_v<std::remove_reference_t<MatrixTensor>>) | |
| auto | uni20::linalg::lq (BackendSelector &&selector, MatrixTensor &&matrix, std::optional< Precision > requested={}) |
| Consume an owning real or complex matrix and return its reduced LQ factorization through an explicit selector. | |
| template<KernelBackendSelector BackendSelector, uni20::RankedTensorView< 2 > MatrixTensor> requires detail::DecompositionScalar<uni20::tensor_element_t<MatrixTensor>> | |
| auto | uni20::linalg::lq (BackendSelector &&selector, MatrixTensor const &matrix, std::optional< Precision > requested={}) |
| Preserve a real or complex matrix and return its reduced LQ factorization through an explicit selector. | |
| template<class MatrixTensor > requires uni20::OwningTensor<MatrixTensor> && uni20::MutableRankedTensorView<MatrixTensor, 2> && detail::DecompositionScalar<uni20::tensor_element_t<MatrixTensor>> && (!std::is_lvalue_reference_v<MatrixTensor>) && (!std::is_const_v<std::remove_reference_t<MatrixTensor>>) | |
| auto | uni20::linalg::lq (MatrixTensor &&matrix, std::optional< Precision > requested={}) |
| Consume an owning real or complex matrix and return its reduced LQ factorization. | |
| template<uni20::RankedTensorView< 2 > MatrixTensor> requires detail::DecompositionScalar<uni20::tensor_element_t<MatrixTensor>> | |
| auto | uni20::linalg::lq (MatrixTensor const &matrix, std::optional< Precision > requested={}) |
| Preserve a real or complex matrix and return its reduced LQ factorization. | |
| template<KernelBackendSelector BackendSelector, class LTensor , class QTensor , class MatrixTensor > requires detail::CompatibleLqTensors<LTensor, QTensor, MatrixTensor> | |
| void | uni20::linalg::lq_factorization (BackendSelector &&selector, LTensor &&l, QTensor &&q, MatrixTensor &&matrix_work, std::optional< Precision > requested={}) |
| Compute reduced LQ in a destructive input workspace through an explicit selector. | |
| template<class LTensor , class QTensor , class MatrixTensor > requires detail::CompatibleLqTensors<LTensor, QTensor, MatrixTensor> | |
| void | uni20::linalg::lq_factorization (LTensor &&l, QTensor &&q, MatrixTensor &&matrix_work, std::optional< Precision > requested={}) |
| Compute reduced LQ in a destructive workspace using tensor storage policy. | |
Destructive-workspace and value-producing reduced real or complex LQ factorizations.
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.