Auxiliary data structure for compatibility of symmetric matrix.  
 More...
#include <JKatoomba_t.hh>
 | 
| void  | resize (const size_t size) | 
|   | Resize matrix.  
  | 
|   | 
| void  | reset () | 
|   | Set matrix to the null matrix.  
  | 
|   | 
| void  | invert () | 
|   | Invert matrix according SVD decomposition.  
  | 
|   | 
| template<class JVectorND_t >  | 
| void  | solve (JVectorND_t &u) | 
|   | Get solution of equation A x = b.  
  | 
|   | 
 | 
| static constexpr double  | TOLERANCE = 1.0e-8 | 
|   | Tolerance for SVD.  
  | 
|   | 
| static std::mutex  | mtx | 
|   | TDecompSVD.  
  | 
|   | 
Auxiliary data structure for compatibility of symmetric matrix. 
Inversion is based on SVD algorithm. 
Definition at line 355 of file JKatoomba_t.hh.
 
◆ resize()
  
  
      
        
          | void JACOUSTICS::TMatrixDS::resize  | 
          ( | 
          const size_t |           size | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
Resize matrix. 
Definition at line 363 of file JKatoomba_t.hh.
  364    {
  365      ResizeTo(size, size);
  366    }
 
 
 
◆ reset()
  
  
      
        
          | void JACOUSTICS::TMatrixDS::reset  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
 
◆ invert()
  
  
      
        
          | void JACOUSTICS::TMatrixDS::invert  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
Invert matrix according SVD decomposition. 
Definition at line 379 of file JKatoomba_t.hh.
  380    {
  381#ifdef THREAD_SAFE
  383 
  384      unique_lock<mutex> lock(
mtx);
 
  385#endif
  387 
  388      Bool_t status;
  389 
  390      static_cast<TMatrixD&>(*this) = svd.Invert(status);
  391    }
static std::mutex mtx
TDecompSVD.
 
static constexpr double TOLERANCE
Tolerance for SVD.
 
 
 
 
◆ solve()
template<class JVectorND_t > 
  
  
      
        
          | void JACOUSTICS::TMatrixDS::solve  | 
          ( | 
          JVectorND_t & |           u | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
Get solution of equation A x = b. 
- Parameters
 - 
  
    | u | column vector; b on input, x on output(I/O)  | 
  
   
Definition at line 399 of file JKatoomba_t.hh.
  400    {
  401#ifdef THREAD_SAFE
  403 
  404      unique_lock<mutex> lock(
mtx);
 
  405#endif
  407 
  408      TVectorD b(u.size());
  409 
  410      for (size_t i = 0; i != u.size(); ++i) {
  411        b[i] = u[i];
  412      }
  413 
  414      svd.Solve(b);
  415 
  416      for (size_t i = 0; i != u.size(); ++i) {
  417        u[i] = b[i];
  418      }
  419    }
 
 
 
◆ TOLERANCE
  
  
      
        
          | double JACOUSTICS::TMatrixDS::TOLERANCE = 1.0e-8 | 
         
       
   | 
  
staticconstexpr   | 
  
 
 
◆ mtx
  
  
      
        
          | std::mutex JACOUSTICS::TMatrixDS::mtx | 
         
       
   | 
  
static   | 
  
 
 
The documentation for this struct was generated from the following files: