|
Uni20
Asynchronous tensor and runtime library.
|
CPU dense matrix exponential interface and dispatch adapter. More...
#include <uni20/config.hpp>#include <uni20/common/trace.hpp>#include <uni20/core/scalar_concepts.hpp>#include <uni20/linalg/dispatch.hpp>#include <uni20/linalg/operation_tags.hpp>#include <uni20/mdspan/concepts.hpp>#include <uni20/tensor/access.hpp>#include <uni20/tensor/concepts.hpp>#include <uni20/tensor/tensor.hpp>#include <complex>#include <concepts>#include <type_traits>Go to the source code of this file.
Namespaces | |
| namespace | uni20 |
| namespace | uni20::linalg |
| namespace | uni20::linalg::backends |
| namespace | uni20::linalg::backends::cpu |
Functions | |
| template<uni20::MutableRankedMdspecLike< 2 > OutputMdspan, uni20::RankedMdspecLike< 2 > InputMdspan, class TimeScalar > requires uni20::HostWritableMdspec<OutputMdspan> && uni20::HostReadableMdspec<InputMdspan> | |
| consteval auto | uni20::linalg::kernel_accepts_types (CpuReferenceBackend const &, matrix_exponential_op const &, OutputMdspan &, InputMdspan &, TimeScalar const &) |
| Report eligibility for host-accessible mdspec matrix exponentiation. | |
| template<uni20::RealOrComplex Scalar> | |
| uni20::DenseMatrix< uni20::complex< uni20::make_real_t< Scalar > > > | uni20::linalg::backends::cpu::matrix_exponential (uni20::DenseMatrix< Scalar > const &matrix, uni20::complex< uni20::make_real_t< Scalar > > t) |
| Compute a complex-coefficient matrix exponential, promoting real matrices to complex output. | |
| template<uni20::RealOrComplex Scalar> | |
| uni20::DenseMatrix< Scalar > | uni20::linalg::backends::cpu::matrix_exponential (uni20::DenseMatrix< Scalar > const &matrix, uni20::make_real_t< Scalar > t) |
| Compute the matrix exponential using the adaptive scaling-and-squaring algorithm. | |
| template<uni20::MutableRankedMdspecLike< 2 > OutputMdspan, uni20::RankedMdspecLike< 2 > InputMdspan, class TimeScalar > requires uni20::HostWritableMdspec<OutputMdspan> && uni20::HostReadableMdspec<InputMdspan> | |
| KernelAttempt | uni20::linalg::try_kernel (CpuReferenceBackend, matrix_exponential_op const &, OutputMdspan &output, InputMdspan &input, TimeScalar time) |
| Resolve host access and compute a matrix exponential. | |
CPU dense matrix exponential interface and dispatch adapter.