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

LAPACK backend for dense nonsymmetric 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/dispatch.hpp>
#include <uni20/linalg/operation_tags.hpp>
#include <uni20/tensor/access.hpp>
#include <uni20/tensor/concepts.hpp>
#include <algorithm>
#include <concepts>
#include <span>
#include <type_traits>
#include <vector>
Include dependency graph for backends/lapack/nonsymmetric_eigen.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< 2 > MatrixMdspan, class EigenScalar , uni20::MutableRankedMdspecLike< 2 > RightEigenvectorMdspan>
requires LapackScalar<typename MatrixMdspan::value_type> && uni20::HostWritableMdspec<MatrixMdspan> && uni20::HostWritableMdspec<RightEigenvectorMdspan>
consteval auto uni20::linalg::kernel_accepts_types (LapackBackend const &, nonsymmetric_eigen_op const &, MatrixMdspan &, std::span< EigenScalar > &, RightEigenvectorMdspan &)
 Report eligibility for host-accessible mdspec nonsymmetric eigenanalysis.
 
template<uni20::MutableRankedStridedMdspanLike< 2 > MatrixMdspan, class EigenScalar , uni20::MutableRankedMdspanLike< 2 > RightEigenvectorMdspan>
consteval auto uni20::linalg::lapack_detail::nonsymmetric_eigen_acceptance ()
 Report compile-time eligibility for resolved LAPACK nonsymmetric eigenanalysis.
 
template<uni20::MutableRankedStridedMdspecLike< 2 > MatrixMdspan, class EigenScalar , uni20::MutableRankedMdspecLike< 2 > RightEigenvectorMdspan>
requires LapackScalar<typename MatrixMdspan::value_type> && uni20::HostWritableMdspec<MatrixMdspan> && uni20::HostWritableMdspec<RightEigenvectorMdspan>
KernelAttempt uni20::linalg::try_kernel (LapackBackend, nonsymmetric_eigen_op const &operation, MatrixMdspan &matrix_work, std::span< EigenScalar > eigenvalues, RightEigenvectorMdspan &right_eigenvectors)
 Resolve host access and run LAPACK nonsymmetric eigenanalysis.
 
template<uni20::MutableRankedStridedMdspanLike< 2 > MatrixMdspan, class EigenScalar , uni20::MutableRankedMdspanLike< 2 > RightEigenvectorMdspan>
KernelAttempt uni20::linalg::lapack_detail::try_nonsymmetric_eigen (nonsymmetric_eigen_op const &op, MatrixMdspan &matrix_work, std::span< EigenScalar > eigenvalues, RightEigenvectorMdspan &right_eigenvectors)
 Compute eigenvalues and optional right eigenvectors through LAPACK geev.
 

Detailed Description

LAPACK backend for dense nonsymmetric eigensystems.