Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
Namespaces | Functions
self_adjoint_eigh.hpp File Reference

LAPACK backend for dense symmetric and Hermitian eigensystems. More...

#include "common.hpp"
#include <uni20/backend/blas/blas_int.hpp>
#include <uni20/backend/lapack/lapack.hpp>
#include <uni20/common/trace.hpp>
#include <uni20/core/scalar_concepts.hpp>
#include <uni20/linalg/blas/mdspan_matrix.hpp>
#include <uni20/linalg/blas/mdspan_vector.hpp>
#include <uni20/linalg/dispatch.hpp>
#include <uni20/linalg/operation_tags.hpp>
#include <uni20/tensor/access.hpp>
#include <uni20/tensor/concepts.hpp>
#include <algorithm>
#include <concepts>
#include <cstddef>
#include <type_traits>
#include <utility>
#include <vector>
Include dependency graph for backends/lapack/self_adjoint_eigh.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  uni20
 
namespace  uni20::linalg
 
namespace  uni20::linalg::lapack_detail
 

Functions

template<uni20::MutableRankedStridedMdspecLike< 1 > EigenvalueMdspan, uni20::MutableRankedStridedMdspecLike< 2 > MatrixMdspan>
requires LapackScalar<typename MatrixMdspan::value_type> && uni20::HostWritableMdspec<EigenvalueMdspan> && uni20::HostWritableMdspec<MatrixMdspan>
consteval auto uni20::linalg::kernel_accepts_types (LapackBackend const &, self_adjoint_eigh_op const &, EigenvalueMdspan &, MatrixMdspan &)
 Report eligibility for host-accessible mdspec self-adjoint eigenanalysis.
 
char uni20::linalg::lapack_detail::lapack_triangle (MatrixTriangle triangle)
 
template<uni20::MutableRankedStridedMdspanLike< 1 > EigenvalueMdspan, uni20::MutableRankedStridedMdspanLike< 2 > MatrixMdspan>
consteval auto uni20::linalg::lapack_detail::self_adjoint_eigh_acceptance ()
 Report compile-time eligibility for resolved LAPACK self-adjoint eigenanalysis.
 
template<uni20::MutableRankedStridedMdspecLike< 1 > EigenvalueMdspan, uni20::MutableRankedStridedMdspecLike< 2 > MatrixMdspan>
requires LapackScalar<typename MatrixMdspan::value_type> && uni20::HostWritableMdspec<EigenvalueMdspan> && uni20::HostWritableMdspec<MatrixMdspan>
KernelAttempt uni20::linalg::try_kernel (LapackBackend, self_adjoint_eigh_op const &operation, EigenvalueMdspan &eigenvalues, MatrixMdspan &matrix_work)
 Resolve host access and run LAPACK self-adjoint eigenanalysis.
 
template<uni20::MutableRankedStridedMdspanLike< 1 > EigenvalueMdspan, uni20::MutableRankedStridedMdspanLike< 2 > MatrixMdspan>
KernelAttempt uni20::linalg::lapack_detail::try_self_adjoint_eigh (self_adjoint_eigh_op const &op, EigenvalueMdspan &eigenvalues, MatrixMdspan &matrix_work)
 Compute an in-place symmetric or Hermitian eigensystem through syev or heev.
 

Detailed Description

LAPACK backend for dense symmetric and Hermitian eigensystems.