27 #include "Epetra_Comm.h" 28 #include "Teuchos_ParameterList.hpp" 30 #include "Epetra_CrsMatrix.h" 31 #include "Epetra_Map.h" 32 #include "Epetra_Vector.h" 33 #include "Epetra_LinearProblem.h" 53 double &maxrelresidual,
59 const Epetra_Comm& Comm = Amat->Comm();
66 Teuchos::ParameterList ParamList ;
67 ParamList.set(
"MaxProcs", 100000 );
90 std::cout <<
"Amesos_Scalapack failed with error code " << Errors<< std::endl ;
95 maxrelerror = EPETRA_MAX( relerror, maxrelerror ) ;
96 maxrelresidual = EPETRA_MAX( relresidual, maxrelresidual ) ;
100 if (
verbose) std::cout <<
" TestScalapack NumErrors = " << NumErrors
101 << __FILE__ <<
"::" << __LINE__
104 std::cout <<
"Amesos_Scalapack" <<
" failed with transpose = " <<
105 (transpose?
"true":
"false") << std::endl ;
112 Teuchos::ParameterList ParamList ;
113 ParamList.set(
"MaxProcs", 2 );
114 ParamList.set(
"ComputeTrueResidual",
true );
115 ParamList.set(
"OutputLevel", 0 );
134 if (
verbose ) std::cout <<
"Amesos_Scalapack" <<
" not built in this executable " << std::endl ;
137 NumErrors += Errors ;
139 maxrelerror = EPETRA_MAX( relerror, maxrelerror ) ;
140 maxrelresidual = EPETRA_MAX( relresidual, maxrelresidual ) ;
144 if (
verbose) std::cout <<
" TestScalapack NumErrors = " << NumErrors
145 << __FILE__ <<
"::" << __LINE__
148 std::cout <<
"Amesos_Scalapack" <<
" failed with transpose = " <<
149 (transpose?
"true":
"false") << std::endl ;
160 Teuchos::ParameterList ParamList ;
161 ParamList.set(
"MaxProcs", 2 );
162 ParamList.set(
"ComputeTrueResidual",
true );
163 ParamList.set(
"OutputLevel", 0 );
165 Teuchos::ParameterList& ScalapackParams = ParamList.sublist(
"Scalapack") ;
167 ScalapackParams.set(
"grid_nb", 2 );
185 if (
verbose ) std::cout <<
"Amesos_Scalapack" <<
" not built in this executable " << std::endl ;
188 NumErrors += Errors ;
190 maxrelerror = EPETRA_MAX( relerror, maxrelerror ) ;
191 maxrelresidual = EPETRA_MAX( relresidual, maxrelresidual ) ;
195 if (
verbose) std::cout <<
" TestScalapack NumErrors = " << NumErrors <<
" " 196 << __FILE__ <<
"::" << __LINE__
199 std::cout <<
"Amesos_Scalapack" <<
" failed with transpose = " <<
200 (transpose?
"true":
"false") << std::endl ;
206 Teuchos::ParameterList ParamList ;
207 ParamList.set(
"MaxProcs", 1000 );
208 ParamList.set(
"ComputeTrueResidual",
true );
209 ParamList.set(
"OutputLevel", 0 );
210 Teuchos::ParameterList& ScalapackParams = ParamList.sublist(
"Scalapack") ;
212 ScalapackParams.set(
"grid_nb", 3 );
230 if (
verbose ) std::cout <<
"Amesos_Scalapack" <<
" not built in this executable " << std::endl ;
233 NumErrors += Errors ;
235 maxrelerror = EPETRA_MAX( relerror, maxrelerror ) ;
236 maxrelresidual = EPETRA_MAX( relresidual, maxrelresidual ) ;
241 << __FILE__ <<
"::" << __LINE__
242 <<
" TestScalapack NumErrors = " << NumErrors << std::endl ;
244 std::cout <<
"Amesos_Scalapack" <<
" failed with transpose = " <<
245 (transpose?
"true":
"false") << std::endl ;
252 Teuchos::ParameterList ParamList ;
253 ParamList.set(
"MaxProcs", 1000 );
254 ParamList.set(
"ComputeTrueResidual",
true );
255 ParamList.set(
"OutputLevel", 0 );
256 Teuchos::ParameterList& ScalapackParams = ParamList.sublist(
"Scalapack") ;
257 ScalapackParams.set(
"2D distribution",
false );
276 if (
verbose ) std::cout <<
"Amesos_Scalapack" <<
" not built in this executable " << std::endl ;
279 NumErrors += Errors ;
281 maxrelerror = EPETRA_MAX( relerror, maxrelerror ) ;
282 maxrelresidual = EPETRA_MAX( relresidual, maxrelresidual ) ;
287 << __FILE__ <<
"::" << __LINE__
288 <<
" TestScalapack NumErrors = " << NumErrors << std::endl ;
290 std::cout <<
"Amesos_Scalapack" <<
" failed with transpose = " <<
291 (transpose?
"true":
"false") << std::endl ;
301 Teuchos::ParameterList ParamList ;
318 if (
verbose ) std::cout <<
"Amesos_Scalapack" <<
" not built in this executable " << std::endl ;
321 NumErrors += Errors ;
323 maxrelerror = EPETRA_MAX( relerror, maxrelerror ) ;
324 maxrelresidual = EPETRA_MAX( relresidual, maxrelresidual ) ;
329 << __FILE__ <<
"::" << __LINE__
330 <<
" TestScalapack NumErrors = " << NumErrors << std::endl ;
332 std::cout <<
"Amesos_Scalapack" <<
" failed with transpose = " <<
333 (transpose?
"true":
"false") << std::endl ;
int TestScalapack(Epetra_CrsMatrix *&Amat, int EpetraMatrixType, bool transpose, bool verbose, int Levels, const double Rcond, double &maxrelerror, double &maxrelresidual, int &NumTests)