|
Uni20
Asynchronous tensor and runtime library.
|
Destructive-workspace and value-producing dense general solves. More...
#include <uni20/common/trace.hpp>#include <uni20/core/scalar_concepts.hpp>#include <uni20/linalg/backends/cpu/linear_solve.hpp>#include <uni20/linalg/backends/lapack/linear_solve.hpp>#include <uni20/linalg/dispatch.hpp>#include <uni20/linalg/operation_tags.hpp>#include <uni20/linalg/precision.hpp>#include <uni20/linalg/solve_info.hpp>#include <uni20/tensor/concepts.hpp>#include <uni20/tensor/copy.hpp>#include <uni20/tensor/precision.hpp>#include <uni20/tensor/tensor.hpp>#include <concepts>#include <type_traits>#include <utility>Go to the source code of this file.
Namespaces | |
| namespace | uni20 |
| namespace | uni20::linalg |
Functions | |
| template<KernelBackendSelector BackendSelector, uni20::RankedTensorView< 2 > CoefficientTensor, uni20::RankedTensorView< 2 > RhsTensor> requires uni20::RealOrComplex<uni20::tensor_element_t<CoefficientTensor>> && std::same_as<uni20::tensor_element_t<CoefficientTensor>, uni20::tensor_element_t<RhsTensor>> | |
| auto | uni20::linalg::solve (BackendSelector &&selector, CoefficientTensor const &coefficients, RhsTensor const &right_hand_sides, std::optional< Precision > requested={}) |
| Preserve inputs and return the dense solution through an explicit selector. | |
| template<uni20::RankedTensorView< 2 > CoefficientTensor, uni20::RankedTensorView< 2 > RhsTensor> requires uni20::RealOrComplex<uni20::tensor_element_t<CoefficientTensor>> && std::same_as<uni20::tensor_element_t<CoefficientTensor>, uni20::tensor_element_t<RhsTensor>> | |
| auto | uni20::linalg::solve (CoefficientTensor const &coefficients, RhsTensor const &right_hand_sides, std::optional< Precision > requested={}) |
| Preserve inputs and return an owning column-major host solution. | |
| template<KernelBackendSelector BackendSelector, class CoefficientTensor , class RhsTensor > requires detail::CompatibleLinearSolveTensors<CoefficientTensor, RhsTensor> | |
| void | uni20::linalg::solve_inplace (BackendSelector &&selector, CoefficientTensor &&coefficients, RhsTensor &&right_hand_sides, std::optional< Precision > requested={}) |
| Solve a general system in destructive coefficient and RHS workspaces. | |
| template<class CoefficientTensor , class RhsTensor > requires detail::CompatibleLinearSolveTensors<CoefficientTensor, RhsTensor> | |
| void | uni20::linalg::solve_inplace (CoefficientTensor &&coefficients, RhsTensor &&right_hand_sides, std::optional< Precision > p={}) |
| Solve a general system in destructive workspaces using storage policy. | |
| template<class A , class B > requires detail::CompatibleLinearSolveTensors<A, B> | |
| SolveInfo | uni20::linalg::solve_inplace_with_info (A &&a, B &&b, Precision p, SolveOptions< make_real_t< tensor_element_t< A > > > const &options={}) |
| Solve at explicit precision using storage-selected backends. | |
| template<KernelBackendSelector BackendSelector, class A , class B > requires detail::CompatibleLinearSolveTensors<A, B> | |
| SolveInfo | uni20::linalg::solve_inplace_with_info (BackendSelector &&selector, A &&a, B &&b, Precision p, SolveOptions< make_real_t< tensor_element_t< A > > > const &options={}) |
| Solve in place at an explicit operation precision, independent of workspace defaults. | |
| template<KernelBackendSelector BackendSelector, class CoefficientTensor , class RhsTensor > requires detail::CompatibleLinearSolveTensors<CoefficientTensor, RhsTensor> | |
| SolveInfo | uni20::linalg::solve_inplace_with_info (BackendSelector &&selector, CoefficientTensor &&coefficients, RhsTensor &&right_hand_sides, SolveOptions< uni20::make_real_t< uni20::tensor_element_t< CoefficientTensor > > > const &options={}) |
| Solve in destructive workspaces and return numerical diagnostics. | |
| template<class CoefficientTensor , class RhsTensor > requires detail::CompatibleLinearSolveTensors<CoefficientTensor, RhsTensor> | |
| SolveInfo | uni20::linalg::solve_inplace_with_info (CoefficientTensor &&coefficients, RhsTensor &&right_hand_sides, SolveOptions< uni20::make_real_t< uni20::tensor_element_t< CoefficientTensor > > > const &options={}) |
| Return numerical solve diagnostics using storage-selected backends. | |
Destructive-workspace and value-producing dense general solves.