| 
    "MarlinReco"
    1.16.0
    
   | 
 
Public Member Functions | |
| Eigenvalue (float A[3][3]) | |
| Check for symmetry, then construct the eigenvalue decomposition.  More... | |
| void | getV (float V_[3][3]) | 
| Return the eigenvector matrix.  More... | |
| void | getRealEigenvalues (float d_[3]) | 
| Return the real parts of the eigenvalues.  More... | |
| void | getImagEigenvalues (float e_[3]) | 
| Return the imaginary parts of the eigenvalues in parameter e_.  More... | |
| void | getD (float D[3][3]) | 
| Computes the block diagonal eigenvalue matrix.  More... | |
      
  | 
  inline | 
Check for symmetry, then construct the eigenvalue decomposition.
| A | Square real (non-complex) matrix | 
      
  | 
  inline | 
Computes the block diagonal eigenvalue matrix.
If the original matrix A is not symmetric, then the eigenvalue matrix D is block diagonal with the real eigenvalues in 1-by-1 blocks and any complex eigenvalues, a + i*b, in 2-by-2 blocks, [a, b; -b, a]. That is, if the complex eigenvalues look like
          u + iv     .        .          .      .    .
            .      u - iv     .          .      .    .
            .        .      a + ib       .      .    .
            .        .        .        a - ib   .    .
            .        .        .          .      x    .
            .        .        .          .      .    y
then D looks like
            u        v        .          .      .    .
           -v        u        .          .      .    . 
            .        .        a          b      .    .
            .        .       -b          a      .    .
            .        .        .          .      x    .
            .        .        .          .      .    y
This keeps V a real matrix in both symmetric and non-symmetric cases, and A*V = V*D.
@param D: upon return, the matrix is filled with the block diagonal eigenvalue matrix.
      
  | 
  inline | 
Return the imaginary parts of the eigenvalues in parameter e_.
e_: new matrix with imaginary parts of the eigenvalues.
      
  | 
  inline | 
Return the real parts of the eigenvalues.
      
  | 
  inline | 
Return the eigenvector matrix.
 1.8.6