|
Uni20
Asynchronous tensor and runtime library.
|
Fixed-output dense Schur decomposition and reordering operations. More...
#include <uni20/linalg/backends/lapack/schur.hpp>#include <uni20/linalg/dispatch.hpp>#include <uni20/linalg/operation_tags.hpp>#include <uni20/tensor/concepts.hpp>#include <span>#include <utility>Go to the source code of this file.
Namespaces | |
| namespace | uni20 |
| namespace | uni20::linalg |
Functions | |
| template<class BackendSelector , uni20::MutableRankedTensorView< 2 > MatrixTensor, class EigenScalar , uni20::MutableRankedTensorView< 2 > SchurVectorTensor> | |
| void | uni20::linalg::hessenberg_schur (BackendSelector &&selector, MatrixTensor &&matrix_work, std::span< EigenScalar > eigenvalues, SchurVectorTensor &&schur_vectors, bool compute_vectors) |
| Replace a real upper-Hessenberg matrix by its real Schur form. | |
| template<uni20::MutableRankedTensorView< 2 > MatrixTensor, class EigenScalar , uni20::MutableRankedTensorView< 2 > SchurVectorTensor> | |
| void | uni20::linalg::hessenberg_schur (MatrixTensor &&matrix_work, std::span< EigenScalar > eigenvalues, SchurVectorTensor &&schur_vectors, bool compute_vectors) |
Apply the destructive hessenberg_schur contract using tensor storage policy. | |
| template<class BackendSelector , uni20::MutableRankedTensorView< 2 > SchurFormTensor, uni20::MutableRankedTensorView< 2 > SchurVectorTensor> | |
| void | uni20::linalg::reorder_schur (BackendSelector &&selector, SchurFormTensor &&schur_form, SchurVectorTensor &&schur_vectors, std::size_t from, std::size_t to, bool update_vectors) |
| Reorder a Schur form in place, optionally updating its Schur vectors. | |
| template<uni20::MutableRankedTensorView< 2 > SchurFormTensor, uni20::MutableRankedTensorView< 2 > SchurVectorTensor> | |
| void | uni20::linalg::reorder_schur (SchurFormTensor &&schur_form, SchurVectorTensor &&schur_vectors, std::size_t from, std::size_t to, bool update_vectors) |
Apply the in-place reorder_schur contract using tensor storage policy. | |
| template<class BackendSelector , uni20::MutableRankedTensorView< 2 > MatrixTensor, class EigenScalar , uni20::MutableRankedTensorView< 2 > SchurVectorTensor> | |
| void | uni20::linalg::schur (BackendSelector &&selector, MatrixTensor &&matrix_work, std::span< EigenScalar > eigenvalues, SchurVectorTensor &&schur_vectors, bool compute_vectors) |
| Replace a square matrix by its Schur form and optionally return Schur vectors. | |
| template<uni20::MutableRankedTensorView< 2 > MatrixTensor, class EigenScalar , uni20::MutableRankedTensorView< 2 > SchurVectorTensor> | |
| void | uni20::linalg::schur (MatrixTensor &&matrix_work, std::span< EigenScalar > eigenvalues, SchurVectorTensor &&schur_vectors, bool compute_vectors) |
Apply the destructive schur contract using tensor storage policy. | |
Fixed-output dense Schur decomposition and reordering operations.