|
Uni20
Asynchronous tensor and runtime library.
|
#include "lu_common.hpp"#include <uni20/linalg/backends/packed_matrix.hpp>#include <uni20/linalg/operation_tags.hpp>#include <uni20/tensor/access.hpp>Go to the source code of this file.
Namespaces | |
| namespace | uni20 |
| namespace | uni20::linalg |
Functions | |
| template<MutableRankedMdspecLike< 2 > A, class... P> requires HostWritableMdspec<A> && RealOrComplex<typename A::value_type> && detail::cpu_reference::LuPrecisionArgs<typename A::value_type, P...> | |
| consteval auto | uni20::linalg::kernel_accepts_types (CpuReferenceBackend, lu_factor_op const &, A &, std::span< std::size_t >, LuNorms< make_real_t< typename A::value_type > > *, SolveInfo &, SolveOptions< make_real_t< typename A::value_type > > const &, P...) |
| Accept real/complex LU on mutable logical host elements. | |
| template<RankedMdspecLike< 2 > A, MutableRankedMdspecLike< 2 > B, class... P> requires HostReadableMdspec<A> && HostWritableMdspec<B> && RealOrComplex<typename A::value_type> && std::same_as<typename A::value_type, typename B::value_type> && detail::cpu_reference::LuPrecisionArgs<typename A::value_type, P...> | |
| consteval auto | uni20::linalg::kernel_accepts_types (CpuReferenceBackend, lu_solve_op const &, A &, std::span< std::size_t const >, B &, SolveInfo &, P...) |
| Accept host solves from read-only factors at their working precision. | |
| template<MutableRankedMdspecLike< 2 > A, class... P> requires HostWritableMdspec<A> && RealOrComplex<typename A::value_type> && detail::cpu_reference::LuPrecisionArgs<typename A::value_type, P...> | |
| KernelAttempt | uni20::linalg::try_kernel (CpuReferenceBackend, lu_factor_op const &, A &a, std::span< std::size_t > pivots, LuNorms< make_real_t< typename A::value_type > > *norms, SolveInfo &info, SolveOptions< make_real_t< typename A::value_type > > const &options, P... precision) |
| Factor with partial row pivoting, converting runtime values to finite working precision. | |
| template<RankedMdspecLike< 2 > A, MutableRankedMdspecLike< 2 > B, class... P> requires HostReadableMdspec<A> && HostWritableMdspec<B> && RealOrComplex<typename A::value_type> && std::same_as<typename A::value_type, typename B::value_type> && detail::cpu_reference::LuPrecisionArgs<typename A::value_type, P...> | |
| KernelAttempt | uni20::linalg::try_kernel (CpuReferenceBackend, lu_solve_op const &, A &a, std::span< std::size_t const > pivots, B &b, SolveInfo &info, P... precision) |
| Apply row swaps and triangular substitution, converting runtime RHS values to factor precision. | |