Changeset 2556 in Sophya for trunk/SophyaExt/LinAlg/intflapack.h


Ignore:
Timestamp:
Jul 21, 2004, 5:52:36 PM (21 years ago)
Author:
cmv
Message:
  • Introduction de l'interface Lapack d'inversion des matrices symetriques
  • Introduction de l'interface Lapack de recherche de valeurs et vecteurs propres (cas general, symetrique et hermitique)
  • Introduction d'un fonction d'interface pour le calculateur de workspace (ilaenv_)
  • Commentaires sur les diverses methodes et sur les matrices FORTRAN
  • Pour tester cf Tests/tsttminv.cc

(cmv, 21/07/04)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaExt/LinAlg/intflapack.h

    r2554 r2556  
    44#include "machdefs.h"
    55#include "tarray.h"
     6#include "tvector.h"
    67
    78namespace SOPHYA {
     
    1819
    1920  virtual int SVD(TArray<T>& a, TArray<T> & s);
    20   virtual int SVD(TArray<T>& a, TArray<T> & s, TArray<T> & u, TArray<T> & vt);
     21  virtual int SVD(TArray<T>& a, TArray<T> & s, TArray<T> & u, TArray<T> & vt);
     22 
     23  virtual int LapackEigenSym(TArray<T>& a, TVector<r_8>& b, bool eigenvector=true);
     24  virtual int LapackEigen(TArray<T>& a, TVector< complex<r_8> >& eval, TMatrix<T>& evec, bool eigenvector);
    2125
    2226  //! Set the workspace size factor for LAPACK routines
     
    7882
    7983
     84/*! \ingroup LinAlg
     85    \fn LapackEigenSym(TArray<T>&, TArray<T> &)
     86    \brief Compute the eigenvalues and eigenvectors of A (symetric or hermitian).
     87*/
     88template <class T>
     89inline int LapackEigenSym(TArray<T>& a, TVector<r_8>& b, bool eigenvector=true)
     90{ LapackServer<T> lps; return( lps.LapackEigenSym(a,b,eigenvector) );  }
     91
     92/*! \ingroup LinAlg
     93    \fn LapackEigen(TArray<T>&, TArray<T> &)
     94    \brief Compute the eigenvalues and (right) eigenvectors of A (general square matrix).
     95*/
     96template <class T>
     97inline int LapackEigen(TArray<T>& a, TVector< complex<r_8> >& eval, TMatrix<T>& evec, bool eigenvector=true)
     98{ LapackServer<T> lps; return( lps.LapackEigen(a,eval,evec,eigenvector) );  }
     99
    80100} // Fin du namespace
    81101
Note: See TracChangeset for help on using the changeset viewer.