• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

ml_anasazi.h

Go to the documentation of this file.
00001 
00019 /* ******************************************************************** */
00020 /* See the file COPYRIGHT for a complete copyright notice, contact      */
00021 /* person and disclaimer.                                               */        
00022 /* ******************************************************************** */
00023 
00024 #ifndef _ML_ANASAZI_H_
00025 #define _ML_ANASAZI_H_
00026 
00027 #include "ml_include.h"
00028 #include "ml_struct.h"
00029 #include "ml_smoother.h"
00030 
00031 #if defined(HAVE_ML_EPETRA) && defined(HAVE_ML_TEUCHOS) && defined(HAVE_ML_ANASAZI)
00032 
00033 // anasazi interface
00034 
00035 #include "Teuchos_ParameterList.hpp"
00036 
00038 
00039 namespace ML_Anasazi {
00040 
00042 
00092  int Interface(const Epetra_RowMatrix * RowMatrix, Epetra_MultiVector & EigenVectors,
00093          double RealEigenvalues[], double ImagEigenvalues[],
00094          Teuchos::ParameterList & List,
00095          double RealEigenvectors[] = 0, double ImagEigenvectors[] = 0,
00096          int * NumRealEigenvectors = 0, int * NumImagEigenvectors = 0,
00097          ML * ml = 0);
00098 
00100  int GetFieldOfValuesBox(const Epetra_RowMatrix * RowMatrix, 
00101              double & MaxReal, double & MaxImag,
00102              Teuchos::ParameterList & AnasaziList);
00103 
00104 }
00105 
00106 #endif
00107 
00108 #ifndef ML_CPP
00109 #ifdef __cplusplus
00110 extern "C"
00111 {  
00112 #endif
00113 #endif
00114 
00116   extern int ML_Anasazi_Get_FieldOfValuesBox_Interface(ML_Operator * Amat,
00117                    struct ML_Field_Of_Values * fov );
00118 
00120   extern int ML_Anasazi_Get_SpectralNorm_Anasazi(ML_Operator* Amat,
00121                                                  ML_Smoother* smoother,
00122              int MaxIters, double Tolerance,
00123              int IsProblemSymmetric,
00124              int UseDiagonalScaling,
00125              double* LambdaMax );
00126 #ifndef ML_CPP
00127 #ifdef __cplusplus
00128 }
00129 #endif
00130 #endif
00131 
00132 #endif /* #ifndef _ML_ANASAZI_H_ */