Commit 7cbbd6b5 authored by MIJIEUX Thomas's avatar MIJIEUX Thomas

change enum names

parent 38f2e1b7
......@@ -53,7 +53,7 @@ private:
int max_mvp;
std::vector<primary_type> tolerance;
int max_krylov_space_size;
OrthoChoice ortho;
OrthoScheme ortho;
Block<U> sol; // Solution storage
Logger<primary_type> log;
......@@ -63,7 +63,7 @@ public:
max_mvp(0),
tolerance(0),
max_krylov_space_size(0),
ortho(OrthoChoice::MGS)
ortho(OrthoScheme::MGS)
{
}
......@@ -103,14 +103,14 @@ public:
void set_ortho_process(fabulous_orthoproc orthoproc) override
{
switch (orthoproc) {
case FABULOUS_MGS: ortho = OrthoChoice::MGS; break;
case FABULOUS_CGS: ortho = OrthoChoice::CGS; break;
case FABULOUS_IMGS: ortho = OrthoChoice::IMGS; break;
case FABULOUS_ICGS: ortho = OrthoChoice::ICGS; break;
case FABULOUS_MGS: ortho = OrthoScheme::MGS; break;
case FABULOUS_CGS: ortho = OrthoScheme::CGS; break;
case FABULOUS_IMGS: ortho = OrthoScheme::IMGS; break;
case FABULOUS_ICGS: ortho = OrthoScheme::ICGS; break;
default:
::fabulous::warning("Value for Ortho is not part of {0,1,2,3}\n"
"Ortho process used will be MGS\n");
ortho = OrthoChoice::MGS;
ortho = OrthoScheme::MGS;
break;
}
}
......@@ -129,7 +129,7 @@ public:
return BGMRes<ARNOLDI>(matrix, B, X0,
max_mvp, max_krylov_space_size,
sol, log, tolerance,
ortho, ArnOrtho::RUHE );
ortho, OrthoType::RUHE );
}
// Solve method : RHS and X0 have the same size
......
......@@ -26,7 +26,7 @@ namespace fabulous {
* @param epsilon : tolerance for Residual
* @param log : logger
* @param DR : Struct holding what we need to deflate at restart (see DR_param)
* @param ArnOrtho : Choose between block wise arnoldi (through QR
* @param OrthoType : Choose between block wise arnoldi (through QR
* factorization) or vector wise arnoldi. (In distributed, only the vector wise
* will works)
* @param ortho : Choice of orthogonalization
......@@ -50,8 +50,8 @@ struct Arnoldi {
std::vector<P> &epsilon,
Logger<P> &log,
DRParam &DR,
OrthoChoice ortho = OrthoChoice::MGS,
ArnOrtho ArnChoice = ArnOrtho::BLOCK)
OrthoScheme ortho = OrthoScheme::MGS,
OrthoType ArnChoice = OrthoType::BLOCK)
{
std::cout<<"#######################################################\n";
std::cout<<"################# Arnoldi standard ##################\n";
......
......@@ -95,7 +95,7 @@ static int InexactBreakDown_on_R0(Block &r0, Block &q0, Base &base,
* @param log : logger
* @param DR_struct : Struct holding what we need to deflate at restart (see DR_param)
* @param ortho : Choice of orthogonalization
* @param ArnOrtho : Choose between block wise arnoldi (through QR
* @param OrthoType : Choose between block wise arnoldi (through QR
* factorization) or vector wise arnoldi.
* (In distributed, only the vector wise will works)
*
......@@ -120,8 +120,8 @@ struct Arnoldi_IB
std::vector<P> &epsilon,
Logger<P> &log,
DRParam &DR_struct,
OrthoChoice ortho = OrthoChoice::MGS,
ArnOrtho ArnChoice = ArnOrtho::BLOCK)
OrthoScheme ortho = OrthoScheme::MGS,
OrthoType ArnChoice = OrthoType::BLOCK)
{
std::cout<<"#######################################################\n";
......
......@@ -24,11 +24,11 @@
template< class Hess, class Base, class Matrix, class Block >
void Arnoldi_Ortho(Hess &H, Base &base, Block &W,
ArnOrtho choice, OrthoChoice ortho, Matrix &A)
OrthoType choice, OrthoScheme ortho, Matrix &A)
{
switch (choice) {
case ArnOrtho::RUHE: ArnoldiRuhe(H, base, W, ortho, A); break;
case ArnOrtho::BLOCK: ArnoldiBlock(H, base, W, ortho); break;
case OrthoType::RUHE: ArnoldiRuhe(H, base, W, ortho, A); break;
case OrthoType::BLOCK: ArnoldiBlock(H, base, W, ortho); break;
default:
FABULOUS_FATAL_ERROR(
"Choose between blockwise or Ruhe orthogonalization, "
......
......@@ -12,7 +12,7 @@ template<class Hess,
class = typename std::enable_if<not Block::IB_supported::value>::type,
class = void
>
void ArnoldiBlock(Hess &H, Base &base, Block &Wj, OrthoChoice ortho)
void ArnoldiBlock(Hess &H, Base &base, Block &Wj, OrthoScheme ortho)
{
const int SizeBlock = Wj.getSizeBlock();
const int dim = base.getLeadingDim();
......
......@@ -11,7 +11,7 @@ template<class Hess,
class BlockWP,
class = typename std::enable_if<BlockWP::IB_supported::value>::type
>
void ArnoldiBlock(Hess &L, Base &base, BlockWP &WP, OrthoChoice ortho)
void ArnoldiBlock(Hess &L, Base &base, BlockWP &WP, OrthoScheme ortho)
{
// We already test if there was room to augment Hessenberg
auto *ptrToHess = L.getNewStartingCol(WP.getSizeW());
......
......@@ -5,7 +5,7 @@
* @brief Enum over the two different approach to ortho phase during Arnoldi.
*
*/
enum class ArnOrtho {
enum class OrthoType {
RUHE = 0, /*!< Arnoldi-Ruhe : otrtho vector by vector*/
BLOCK = 1, /*!< Block Arnoldi Ortho block wise followed by a a QR factorization*/
};
......@@ -13,7 +13,7 @@ enum class ArnOrtho {
/**
* @brief Enum over different available Orthogonalization scheme.
*/
enum class OrthoChoice {
enum class OrthoScheme {
MGS = 0, /*!< Modified Gram Schmidt */
CGS = 1, /*!< Classical Gram Schmidt */
IMGS = 2, /*!< Iterated Modified Gram Schmidt */
......@@ -22,23 +22,23 @@ enum class OrthoChoice {
/* **************** STRING CONVERSION ******************** */
static std::unordered_map<ArnOrtho, std::string>
static std::unordered_map<OrthoType, std::string>
arnortho_names = {
{ ArnOrtho::BLOCK, "BLOCK" },
{ ArnOrtho::RUHE, "RUHE" },
{ OrthoType::BLOCK, "BLOCK" },
{ OrthoType::RUHE, "RUHE" },
};
static std::unordered_map<OrthoChoice, std::string>
static std::unordered_map<OrthoScheme, std::string>
ortho_choice_names = {
{ OrthoChoice::MGS, "MGS" },
{ OrthoChoice::CGS, "CGS" },
{ OrthoChoice::IMGS, "IMGS" },
{ OrthoChoice::ICGS, "ICGS" },
{ OrthoScheme::MGS, "MGS" },
{ OrthoScheme::CGS, "CGS" },
{ OrthoScheme::IMGS, "IMGS" },
{ OrthoScheme::ICGS, "ICGS" },
};
/* **************** OPERATOR<< OVERLOAD ********************* */
inline std::ostream& operator<<(std::ostream& os, const ArnOrtho ortho)
inline std::ostream& operator<<(std::ostream& os, const OrthoType ortho)
{
auto it = arnortho_names.find(ortho);
if (it == arnortho_names.end())
......@@ -48,7 +48,7 @@ inline std::ostream& operator<<(std::ostream& os, const ArnOrtho ortho)
return os;
}
inline std::ostream& operator<<(std::ostream& os, const OrthoChoice ortho)
inline std::ostream& operator<<(std::ostream& os, const OrthoScheme ortho)
{
auto it = ortho_choice_names.find(ortho);
if (it == ortho_choice_names.end())
......
......@@ -228,13 +228,13 @@ void ArnoldiRuhe_IMGS(Hess &H, Base &base, Block<U> &Wj, Matrix &A)
template< class Hess, class Matrix, class Block, class Base,
class = typename std::enable_if<not Block::IB_supported::value>::type >
void ArnoldiRuhe(Hess &H, Base &base, Block &W, OrthoChoice ortho, Matrix &A)
void ArnoldiRuhe(Hess &H, Base &base, Block &W, OrthoScheme ortho, Matrix &A)
{
switch (ortho) {
case OrthoChoice::MGS: ArnoldiRuhe_MGS(H, base, W, A); break;
case OrthoChoice::IMGS: ArnoldiRuhe_IMGS(H, base, W, A); break;
case OrthoChoice::CGS: ArnoldiRuhe_CGS(H, base, W, A); break;
case OrthoChoice::ICGS: ArnoldiRuhe_ICGS(H, base, W, A); break;
case OrthoScheme::MGS: ArnoldiRuhe_MGS(H, base, W, A); break;
case OrthoScheme::IMGS: ArnoldiRuhe_IMGS(H, base, W, A); break;
case OrthoScheme::CGS: ArnoldiRuhe_CGS(H, base, W, A); break;
case OrthoScheme::ICGS: ArnoldiRuhe_ICGS(H, base, W, A); break;
default:
::fabulous::fatal_error("No Ortho scheme choosen, Exiting\n");
break;
......
......@@ -357,13 +357,13 @@ void ArnoldiRuheIB_IMGS(Hess &L, Base<U> &base, BlockWP<U> &WP, Matrix &A)
template<class Matrix, class Hess, class BlockWP, class Base,
class = typename std::enable_if<BlockWP::IB_supported::value>::type,
class = void>
void ArnoldiRuhe(Hess& H, Base &base, BlockWP &W, OrthoChoice ortho, Matrix& A)
void ArnoldiRuhe(Hess& H, Base &base, BlockWP &W, OrthoScheme ortho, Matrix& A)
{
switch(ortho) {
case OrthoChoice::MGS: ArnoldiRuheIB_MGS(H,base,W,A); break;
case OrthoChoice::IMGS: ArnoldiRuheIB_IMGS(H,base,W,A); break;
case OrthoChoice::CGS: ArnoldiRuheIB_CGS(H,base,W,A); break;
case OrthoChoice::ICGS: ArnoldiRuheIB_ICGS(H,base,W,A); break;
case OrthoScheme::MGS: ArnoldiRuheIB_MGS(H,base,W,A); break;
case OrthoScheme::IMGS: ArnoldiRuheIB_IMGS(H,base,W,A); break;
case OrthoScheme::CGS: ArnoldiRuheIB_CGS(H,base,W,A); break;
case OrthoScheme::ICGS: ArnoldiRuheIB_ICGS(H,base,W,A); break;
default: FABULOUS_FATAL_ERROR("No Ortho scheme choosen, Exiting\n");
break;
}
......
......@@ -25,7 +25,7 @@ namespace fabulous {
* @param epsilon : tolerance for Residual
* @param log : logger
* @param DR : Struct holding what we need to deflate at restart (see DR_param)
* @param ArnOrtho : Choose between block wise arnoldi (through QR
* @param OrthoType : Choose between block wise arnoldi (through QR
* factorization) or vector wise arnoldi. (In distributed, only the vector wise
* will works)
* @param ortho : Choice of orthogonalization
......@@ -52,8 +52,8 @@ public:
std::vector<P> &epsilon,
Logger<P> &log,
DRParam &DR_struct,
OrthoChoice ortho = OrthoChoice::MGS,
ArnOrtho ArnChoice = ArnOrtho::BLOCK)
OrthoScheme ortho = OrthoScheme::MGS,
OrthoType ArnChoice = OrthoType::BLOCK)
{
std::cout<<"#######################################################\n";
std::cout<<"################# Arnoldi with QR Inc ################\n";
......
......@@ -26,7 +26,7 @@ namespace fabulous {
* @param Sol : Block to store the solution
* @param epsilon : Target accuracy
* @param ortho : Choice of orthogonalization
* @param ArnOrtho : Choose between block wise arnoldi (through QR
* @param OrthoType : Choose between block wise arnoldi (through QR
* factorization) or vector wise arnoldi. (In distributed, only the vector wise
* will works) @return KrylovSpaceSpanned : Total Number of Matrix vector
* product done
......@@ -35,19 +35,18 @@ namespace fabulous {
* Ref : IB-BGMRES-DR (Giraud Jing Agullo): p.21
*/
template< class ARNOLDI=Arnoldi, class Matrix, class Block,
class U = typename Block::value_type,
class P = typename Block::primary_type
>
int BGMRes(Matrix &A,
Block &B,
Block &X0,
const int MaxMVP,
const int MaxKrylovSpaceSize,
Block &Sol,
Logger<P> &log,
std::vector<P> &epsilon,
OrthoChoice ortho = OrthoChoice::MGS,
ArnOrtho arnChoice = ArnOrtho::BLOCK)
class U = typename Block::value_type,
class P = typename Block::primary_type >
int BGMRes( Matrix &A,
Block &B,
Block &X0,
const int MaxMVP,
const int MaxKrylovSpaceSize,
Block &Sol,
Logger<P> &log,
std::vector<P> &epsilon,
OrthoScheme ortho = OrthoScheme::MGS,
OrthoType arnChoice = OrthoType::BLOCK)
{
const int SizeBlock = B.getSizeBlock(); // Cste Size
const int dim = A.size();
......
......@@ -4,14 +4,13 @@
#include <algorithm>
#include <iomanip>
#include "Block.hpp"
#include "Utils.hpp"
#include "Arnoldi.hpp"
#include "HessStorage.hpp"
#include "DeflatedRestart.hpp"
#include "Arithmetic.hpp"
#include "Error.hpp"
#include "Color.hpp"
namespace fabulous {
......@@ -31,7 +30,7 @@ namespace fabulous {
* @param target : target eigen value for restart (the nearest to target NbEigenVector
* eigen vectors will be kept during DR)
* @param ortho : Choice of orthogonalization
* @param ArnOrtho : Choose between block wise arnoldi (through QR
* @param OrthoType : Choose between block wise arnoldi (through QR
* factorization) or vector wise arnoldi. (In distributed, only the vector wise
* will works) @return KrylovSpaceSpanned : Total Number of Matrix vector
* product done
......@@ -66,7 +65,7 @@ template<class U, class P>
void print_start_info(const std::string &methodName,
int dim, int SizeBlock, int MaxMVP,
int MaxKrylovSpaceSize,
OrthoChoice ortho, ArnOrtho arnChoice,
OrthoScheme ortho, OrthoType arnChoice,
const std::vector<P>& epsilon)
{
std::ostream &o = std::cout;
......@@ -113,12 +112,9 @@ static void print_precond(const Matrix &A)
<<Color::red<< "NOT USED"<<Color::reset<<"]\n\n";
}
template<class ARNOLDI=Arnoldi,
class Matrix,
class Block,
template<class ARNOLDI=Arnoldi, class Matrix, class Block,
class U = typename Block::value_type,
class P = typename Block::primary_type
>
class P = typename Block::primary_type >
int BGMResDR(Matrix &A,
Block &B,
Block &X0,
......@@ -129,10 +125,10 @@ int BGMResDR(Matrix &A,
std::vector<P> &epsilon,
const int NbEigenVector,
U target,
OrthoChoice ortho = OrthoChoice::MGS,
ArnOrtho arnChoice = ArnOrtho::BLOCK)
OrthoScheme ortho = OrthoScheme::MGS,
OrthoType arnChoice = OrthoType::BLOCK)
{
const int SizeBlock = B.getSizeBlock(); // Cste Size
const int SizeBlock = B.getSizeBlock();
const int dim = A.size();
std::cout << std::scientific;
......
......@@ -196,27 +196,27 @@ public:
*
* Choice is an input, but may be moved as a flag, set at Base construction.
*/
void ComputeOrtho( OrthoChoice choice,
void ComputeOrtho( OrthoScheme choice,
Block<U> &Wj,
U *HessToWrite,
int ldHess,
int idxToStart = 0 )
{
switch(choice) {
case OrthoChoice::MGS:{ //Modified Gram Schmidt
case OrthoScheme::MGS:{ //Modified Gram Schmidt
ComputeMGSOrtho(Wj,HessToWrite,ldHess,idxToStart);
break;
}
case OrthoChoice::CGS:{ //Classical Gram Schmidt
case OrthoScheme::CGS:{ //Classical Gram Schmidt
ComputeCGSOrtho(Wj,HessToWrite,ldHess,idxToStart);
break;
}
case OrthoChoice::ICGS:{//Iterated Classical Gram Schmidt
case OrthoScheme::ICGS:{//Iterated Classical Gram Schmidt
ComputeICGSOrtho(Wj,HessToWrite,ldHess,idxToStart);
ComputeICGSOrtho(Wj,HessToWrite,ldHess,idxToStart);
break;
}
case OrthoChoice::IMGS:{//Iterated Modified Gram Schmidt
case OrthoScheme::IMGS:{//Iterated Modified Gram Schmidt
ComputeIMGSOrtho(Wj,HessToWrite,ldHess,idxToStart);
ComputeIMGSOrtho(Wj,HessToWrite,ldHess,idxToStart);
break;
......
......@@ -182,11 +182,11 @@ public:
<<"\tnbLineUsed :: "<<nbLineUsed<<"\n"
<<"\tcurrentSize * SizeBlock :: "<<nbCols<<"\n";
int gels = ChameleonKernI::gels(nbLineUsed, nbCols, _SizeBlock,
workingCopy, nbLineUsed, r, nbLineUsed);
if (0 != gels) {
int err = ChameleonKernI::gels(nbLineUsed, nbCols, _SizeBlock,
workingCopy, nbLineUsed, r, nbLineUsed);
if (err != 0) {
std::cout<<"Something went wrong with gels in Least square computation\n";
std::cout<<"Gels output : "<<gels<<"\n";
std::cout<<"Gels output : "<<err<<"\n";
}
//copy inside Yj
......
......@@ -72,10 +72,10 @@ template<class ARNOLDI,
class P = typename Block::primary_type
>
static Logger<P> runTest_BGMRES(Matrix &mat, Block &RHS, Block &X_Exact,
int maxMVP, int restart,
std::vector<P> &epsilon,
OrthoChoice scheme = OrthoChoice::MGS,
ArnOrtho ortho = ArnOrtho::BLOCK )
int maxMVP, int restart,
std::vector<P> &epsilon,
OrthoScheme scheme = OrthoScheme::MGS,
OrthoType ortho = OrthoType::BLOCK )
{
const int SizeBlock = RHS.getSizeBlock();
const int dim = RHS.getLeadingDim();
......@@ -100,11 +100,11 @@ template<class ARNOLDI,
class P = typename Block::primary_type
>
static Logger<P> runTest_BGMRES_DR(Matrix &mat, Block &RHS, Block &X_Exact,
int maxMVP, int restart,
std::vector<P> &epsilon,
int nbEigenVector, U target,
OrthoChoice scheme = OrthoChoice::MGS,
ArnOrtho ortho = ArnOrtho::BLOCK )
int maxMVP, int restart,
std::vector<P> &epsilon,
int nbEigenVector, U target,
OrthoScheme scheme = OrthoScheme::MGS,
OrthoType ortho = OrthoType::BLOCK )
{
const int SizeBlock = RHS.getSizeBlock();
const int dim = RHS.getLeadingDim();
......@@ -141,8 +141,8 @@ static void print_logs(Logger<P> &log, const std::string &test_name)
/* *********************** TEST (matrixMarket) *************************** */
template<class P>
struct TestRet {
template<class P> struct TestRet
{
double elapsed;
int nb;
std::pair<P, P> minmax;
......@@ -159,11 +159,10 @@ TestRet<P> runTest_BGMRES_filelog(
Matrix &mat,
Block &RHS,
Block &XExact,
int restart,
int maxMVP,
int maxMVP, int restart,
std::vector<P> &epsilon,
OrthoChoice scheme = OrthoChoice::CGS,
ArnOrtho ortho = ArnOrtho::BLOCK )
OrthoScheme scheme = OrthoScheme::CGS,
OrthoType ortho = OrthoType::BLOCK )
{
const int SizeBlock = RHS.getSizeBlock();
const int dim = RHS.getLeadingDim();
......@@ -206,23 +205,19 @@ TestRet<P> runTest_BGMRES_filelog(
return TestRet<P>{elapsed, nb, minmax, maxMVP};
}
template<class ARNOLDI,
class Matrix,
class Block,
template<class ARNOLDI, class Matrix, class Block,
class U = typename Block::value_type,
class P = typename Block::primary_type
>
class P = typename Block::primary_type >
TestRet<P> runTest_BGMRES_DR_filelog(
const std::string &filename,
Matrix &mat,
Block &RHS,
Block &XExact,
int restart,
int maxMVP,
int maxMVP, int restart,
std::vector<P> &epsilon,
int nbEigenVector, U target,
OrthoChoice scheme = OrthoChoice::CGS,
ArnOrtho ortho = ArnOrtho::BLOCK )
OrthoScheme scheme = OrthoScheme::CGS,
OrthoType ortho = OrthoType::BLOCK )
{
const int SizeBlock = RHS.getSizeBlock();
const int dim = RHS.getLeadingDim();
......@@ -233,8 +228,9 @@ TestRet<P> runTest_BGMRES_DR_filelog(
double tic = Logger<P>::GetTime();
int nb = BGMResDR<ARNOLDI>(mat, RHS, X0, maxMVP,
restart, sol, log, epsilon,
int nb = BGMResDR<ARNOLDI>(mat, RHS, X0,
maxMVP, restart,
sol, log, epsilon,
nbEigenVector, target,
scheme, ortho );
......@@ -244,7 +240,7 @@ TestRet<P> runTest_BGMRES_DR_filelog(
std::stringstream ss;
ss << "../data/res/"<< filename <<"_"
<< (ortho == ArnOrtho::RUHE ? "ruhe" : "block")
<< (ortho == OrthoType::RUHE ? "ruhe" : "block")
<< ".res";
std::ofstream fileRes{ss.str(), std::ios::out};
......
......@@ -50,6 +50,6 @@ int main(int argc, char *argv[])
runTest_BGMRES<Arnoldi>(mat, RHS, X_Exact,
dim+SizeBlock, restart, epsilon,
OrthoChoice::ICGS, ArnOrtho::BLOCK);
OrthoScheme::ICGS, OrthoType::BLOCK);
return 0;
}
......@@ -45,11 +45,11 @@ int main(int argc, char *argv[])
RHS.displayBlock("RHS");
auto r1 = runTest_BGMRES<Arnoldi>(mat, RHS, X_Exact, maxMVP, restart, epsilon,
OrthoChoice::CGS, ArnOrtho::RUHE);
OrthoScheme::CGS, OrthoType::RUHE);
// auto r2 = runTest_BGMRES_DR<Arnoldi>(mat, RHS, X_Exact, maxMVP, restart, epsilon,
// nbEigenVector, target,
// OrthoChoice::MGS, ArnOrtho::RUHE);
// OrthoScheme::MGS, OrthoType::RUHE);
print_logs(r1, "Standard");
// print_logs(r2, "Standard + DR");
......
......@@ -72,7 +72,7 @@ int main(int argc, char *argv[])
RHS.displayBlock("RHS");
runTest_BGMRES<Arnoldi>(mat, RHS, X_Exact, restart, restart, epsilon,
OrthoChoice::ICGS, ArnOrtho::RUHE);
OrthoScheme::ICGS, OrthoType::RUHE);
return 0;
}
......@@ -52,7 +52,7 @@ int main(int argc, char *argv[])
mat, RHS, XExact,
max_ite, restart,
epsilon,
OrthoChoice::MGS, ArnOrtho::BLOCK
OrthoScheme::MGS, OrthoType::BLOCK
);
print_elapsed_time(r1, "Standard version");
......@@ -65,7 +65,7 @@ int main(int argc, char *argv[])
mat, RHS, XExact,
max_ite, restart, epsilon,
nbEigenVector, Scalar{0.0},
OrthoChoice::MGS, ArnOrtho::BLOCK
OrthoScheme::MGS, OrthoType::BLOCK
);
ss.str("");
......
......@@ -34,7 +34,7 @@ int main(int argc, char *argv[])
// "MatCone",
// mat, RHS, XExact,
// max_ite, restart, epsilon,
// OrthoChoice::MGS, ArnOrtho::RUHE
// OrthoScheme::MGS, OrthoType::RUHE
// );
MARK_AS_USED(SizeBlock);
......@@ -44,14 +44,14 @@ int main(int argc, char *argv[])
"MatCone_IB",
mat, RHS, XExact,
maxiteIB, restart, epsilon,
OrthoChoice::MGS, ArnOrtho::RUHE
OrthoScheme::MGS, OrthoType::RUHE
);
// auto r3 = runTest_BGMRES_filelog<Arnoldi_QRInc>(
// "MatCone_QR",
// mat, RHS, XExact,
// maxiterIB, restart, epsilon,
// OrthoChoice::MGS, ArnOrtho::RUHE
// OrthoScheme::MGS, OrthoType::RUHE
// );
//Display timers
......
......@@ -50,7 +50,7 @@ int main(int argc, char *argv[])
"MatCone",
mat, RHS, XExact,
max_ite, restart, epsilon,
OrthoChoice::IMGS, ArnOrtho::BLOCK
OrthoScheme::IMGS, OrthoType::BLOCK
);
auto r2 = runTest_BGMRES_DR_filelog<Arnoldi>(
......@@ -58,7 +58,7 @@ int main(int argc, char *argv[])
mat, RHS, XExact,
max_ite, restart, epsilon,
nbEigenVector, U{0.0},
OrthoChoice::IMGS, ArnOrtho::BLOCK
OrthoScheme::IMGS, OrthoType::BLOCK
);
......@@ -89,7 +89,7 @@ int main(int argc, char *argv[])
"MatCone_IB",
mat, RHS, XExact,
max_ite, restart, epsilon,
OrthoChoice::IMGS, ArnOrtho::BLOCK
OrthoScheme::IMGS, OrthoType::BLOCK
);
// CheckSolution(...)
......
......@@ -45,28 +45,28 @@ int main(int argc, char *argv[])
// "MatCone",
// mat, RHS, XExact,
// max_ite, restart, epsilon,
// OrthoChoice::ICGS, ArnOrtho::BLOCK
// OrthoScheme::ICGS, OrthoType::BLOCK
// );
// auto r2 = runTest_BGMRES_DR_filelog<Arnoldi>(
// "MatCone_DR",
// mat, RHS, XExact,
// max_ite, restart, epsilon,
// 12, Scalar{0.0},
// OrthoChoice::ICGS, ArnOrtho::BLOCK
// OrthoScheme::ICGS, OrthoType::BLOCK
// );
auto r3 = runTest_BGMRES_filelog<Arnoldi_IB>(
"MatCone_IB",
mat, RHS, XExact,
max_ite, restart, epsilon,
OrthoChoice::ICGS, ArnOrtho::BLOCK
OrthoScheme::ICGS, OrthoType::BLOCK
);
auto r4 = runTest_BGMRES_filelog<Arnoldi_QRInc>(
"MatCone_QR",
mat, RHS, XExact,
max_ite, restart, epsilon,
OrthoChoice::ICGS, ArnOrtho::BLOCK
OrthoScheme::ICGS, OrthoType::BLOCK
);
// CheckSolution(...)
......
......@@ -11,8 +11,8 @@ int main(int argc, char *argv[])
for (auto arg : args)
std::cout << arg << "\n";
MORSE_Init(2, 0);
MORSE_user_tag_size(31, 16);
// MORSE_Init(2, 0);
// MORSE_user_tag_size(31, 16);
using Primary = double;
using Scalar = std::complex<Primary>;
......@@ -51,17 +51,17 @@ int main(int argc, char *argv[])
"young1c",
mat, RHS, XExact,
restart, maxMVP, epsilon,
OrthoChoice::IMGS, ArnOrtho::BLOCK
OrthoScheme::IMGS, OrthoType::BLOCK
);
// auto r2 = runTest_BGMRES_filelog<Arnoldi_IB>(
// "young1c",
// mat, RHS, XExact,
// restart, maxMVP, epsilon,
// OrthoChoice::CGS, ArnOrtho::BLOCK
// OrthoScheme::CGS, OrthoType::BLOCK
// );
//Display timers
print_elapsed_time(r1, "IB- Arnoldi BLOCK");
print_elapsed_time(r1, "IncQR IMGS BLOCK");
//print_elapsed_time(r2, "IB- Arnoldi BLOCK");
MORSE_Finalize();
......
......@@ -52,21 +52,21 @@ int main(int argc, char *argv[])
"sherman4",
mat, RHS, XExact,
restart, maxNbMatVect, epsilon,
OrthoChoice::MGS, ArnOrtho::BLOCK
OrthoScheme::MGS, OrthoType::BLOCK
);
// auto r2 = runTest_BGMRES_filelog<Arnoldi_IB>(
// "sherman4_IB",
// mat, RHS, XExact,
// restart, maxNbMatVect, epsilon,
// OrthoChoice::MGS, ArnOrtho::BLOCK
// OrthoScheme::MGS, OrthoType::BLOCK
// );
//
// auto r3 = runTest_BGMRES_filelog<Arnoldi_QRInc>(
// "sherman4_QR",
// mat, RHS, XExact,
// restart, maxNbMatVect, epsilon,
// OrthoChoice::MGS, ArnOrtho::BLOCK
// OrthoScheme::MGS, OrthoType::BLOCK
// );
//
// auto r4 = runTest_BGMRES_DR_filelog<Arnoldi>(
......@@ -74,7 +74,7 @@ int main(int argc, char *argv[])
// mat, RHS, XExact,
// restart, maxNbMatVect, epsilon,
// nbEigenVector, target,
// OrthoChoice::MGS, ArnOrtho::BLOCK
// OrthoScheme::MGS, OrthoType::BLOCK
// );
......
......@@ -52,7 +52,7 @@ int main(int argc, char *argv[])
"young1c_IB",
mat, RHS, XExact,
max_ite, restart, epsilon,
OrthoChoice::CGS, ArnOrtho::BLOCK
OrthoScheme::CGS, OrthoType::BLOCK
);
MARK_AS_USED(nbEigenVector);
......@@ -61,7 +61,7 @@ int main(int argc, char *argv[])
// mat, RHS, XExact,
// max_ite, restart, epsilon,
// nbEigenVector, Scalar{0.0},
// OrthoChoice::CGS, ArnOrtho::RUHE
// OrthoScheme::CGS, OrthoType::RUHE
// );