Virtual Testbed
Ship dynamics simulator for extreme conditions
Public Member Functions | List of all members
vtb::linalg::Symmetric_matrix< T > Class Template Reference
Inheritance diagram for vtb::linalg::Symmetric_matrix< T >:
[legend]
Collaboration diagram for vtb::linalg::Symmetric_matrix< T >:
[legend]

Public Member Functions

Lower_triangular_matrix_ldlt< T > cholesky_indefinite () const
 
Vector< T > eigen_values (T eps, int nsweeps) const
 Compute eigen values. More...
 
- Public Member Functions inherited from vtb::linalg::Matrix< T >
 Matrix (base_type rhs)
 
bool is_square () const
 
bool is_symmetric () const
 
bool is_symmetric (T eps) const
 
bool is_positive_definite () const
 
bool is_toeplitz () const
 
bool is_toeplitz (T eps) const
 
Square_matrix< T > inverse () const
 
Square_matrix< T > & inverse_self ()
 
Matrix< T > transpose () const
 
void transpose_self ()
 

Detailed Description

template<class T>
class vtb::linalg::Symmetric_matrix< T >

Definition at line 179 of file linear_algebra.hh.

Member Function Documentation

◆ eigen_values()

template<class T >
auto vtb::linalg::Symmetric_matrix< T >::eigen_values ( eps,
int  nsweeps 
) const

Compute eigen values.

Date
2019-02-08
Author
Ivan Gankevich
  • Uses Jacobi algorithm for symmetric real matrices [golub2000eigen], [wang2018eigen].

Find \(a_{ij}\) with the greatest absolute value that do not lie on the diagonal.

Find sine and cosine by solving \(t^2 + 2\omega t - 1 = 0\), where \(\omega = (a_jj - a_ii) / 2a_ij\).

Rotate matrix.

Definition at line 159 of file linear_algebra.cc.