33template <
class BackendSelector, uni20::LapackReal Scalar, uni20::MutableRankedTensorView<2> EigenvectorTensor>
35 EigenvectorTensor&& eigenvectors,
bool compute_vectors)
40 eigenvector_descriptor);
44template <uni20::LapackReal Scalar, uni20::MutableRankedTensorView<2> EigenvectorTensor>
46 EigenvectorTensor&& eigenvectors,
bool compute_vectors)
LAPACK backend for real symmetric tridiagonal eigensystems.
Operation-tag backend dispatch over tensor-view operands.
Definition linalg/async.hpp:28
constexpr auto select_backend(Operation const &operation, FirstTensor const &, RestTensors const &...)
Select the default backend list for an operation on Tensor operands.
Definition backend_selector.hpp:252
void dispatch_kernel(BackendSelector &&selector, Op op, Args &&... args)
Normalize a selector and dispatch or report that every eligible backend declined.
Definition dispatch.hpp:374
void symmetric_tridiagonal_eigen(BackendSelector &&selector, std::span< Scalar > diagonal, std::span< Scalar > subdiagonal, EigenvectorTensor &&eigenvectors, bool compute_vectors)
Overwrite a real symmetric tridiagonal matrix with its eigensystem.
Definition ops/tridiagonal_eigen.hpp:34
constexpr decltype(auto) mdspec_of(Tensor &tensor) noexcept(noexcept(tensor.mdspec()))
Return a tensor's immediate or descriptor-backed multidimensional metadata.
Definition tensor/concepts.hpp:50
Symmetric tridiagonal eigensystem operation tag.
Definition operation_tags.hpp:301
bool compute_vectors
Definition operation_tags.hpp:303
Concepts for tensor-level objects that resolve mdspan kernel operands.