ampsci
c++ program for high-precision atomic structure calculations of single-valence systems
Loading...
Searching...
No Matches
Solvers.hpp
1#pragma once
2#include "Matrix.hpp"
3#include "Vector.hpp"
4
5namespace LinAlg {
6
8template <typename T>
9Vector<T> solve_Axeqb(Matrix<T> Am, const Vector<T> &b);
10
14template <typename T>
15std::pair<Vector<double>, Matrix<T>> symmhEigensystem(Matrix<T> A);
16
18template <typename T>
19std::pair<Vector<double>, Matrix<T>> symmhEigensystem(Matrix<T> A, int number);
20
24template <typename T>
25std::pair<Vector<double>, Matrix<T>> symmhEigensystem(Matrix<T> A, Matrix<T> B);
26
31template <typename T>
32std::pair<Vector<std::complex<double>>, Matrix<std::complex<double>>>
33genEigensystem(Matrix<T> A, bool sort);
34
35//==============================================================================
36//==============================================================================
37} // namespace LinAlg
38
39#include "Solvers.ipp"
Defines Matrix, Vector classes, and linear some algebra functions.
Definition Matrix.hpp:26
std::pair< Vector< std::complex< double > >, Matrix< std::complex< double > > > genEigensystem(Matrix< T > A, bool sort)
Solves Av = ev for eigenvalues e and eigenvectors v of non-symmetric real matrix A....
Definition Solvers.ipp:228
Vector< T > solve_Axeqb(Matrix< T > Am, const Vector< T > &b)
Solves matrix equation Ax=b for x, for known square matrix A and vector b.
Definition Solvers.ipp:31
std::pair< Vector< double >, Matrix< T > > symmhEigensystem(Matrix< T > A)
Solves Av = ev for eigenvalues e and eigenvectors v of symmetric/Hermetian matrix A....
Definition Solvers.ipp:65