bug fixed
This commit is contained in:
parent
c84efac24b
commit
330c1f6b0d
@ -125,12 +125,12 @@ int main(int argc, char const *argv[])
|
|||||||
test.LCG_Minimize(m, B, gctl::LCG_CG, ofile);
|
test.LCG_Minimize(m, B, gctl::LCG_CG, ofile);
|
||||||
ofile << "maximal difference: " << max_diff(fm, m) << std::endl;
|
ofile << "maximal difference: " << max_diff(fm, m) << std::endl;
|
||||||
|
|
||||||
m.assign_all(0.0);
|
m.assign(0.0);
|
||||||
|
|
||||||
test.LCG_Minimize(m, B, gctl::LCG_PCG, ofile);
|
test.LCG_Minimize(m, B, gctl::LCG_PCG, ofile);
|
||||||
ofile << "maximal difference: " << max_diff(fm, m) << std::endl;
|
ofile << "maximal difference: " << max_diff(fm, m) << std::endl;
|
||||||
|
|
||||||
m.assign_all(0.0);
|
m.assign(0.0);
|
||||||
|
|
||||||
test.LCG_Minimize(m, B, gctl::LCG_CGS, ofile);
|
test.LCG_Minimize(m, B, gctl::LCG_CGS, ofile);
|
||||||
ofile << "maximal difference: " << max_diff(fm, m) << std::endl;
|
ofile << "maximal difference: " << max_diff(fm, m) << std::endl;
|
||||||
@ -138,12 +138,12 @@ int main(int argc, char const *argv[])
|
|||||||
|
|
||||||
test.set_lcg_message(gctl::LCG_SOLUTION);
|
test.set_lcg_message(gctl::LCG_SOLUTION);
|
||||||
|
|
||||||
m.assign_all(0.0);
|
m.assign(0.0);
|
||||||
|
|
||||||
test.LCG_Minimize(m, B, gctl::LCG_BICGSTAB);
|
test.LCG_Minimize(m, B, gctl::LCG_BICGSTAB);
|
||||||
std::clog << "maximal difference: " << max_diff(fm, m) << std::endl;
|
std::clog << "maximal difference: " << max_diff(fm, m) << std::endl;
|
||||||
|
|
||||||
m.assign_all(0.0);
|
m.assign(0.0);
|
||||||
|
|
||||||
test.LCG_Minimize(m, B, gctl::LCG_BICGSTAB2);
|
test.LCG_Minimize(m, B, gctl::LCG_BICGSTAB2);
|
||||||
std::clog << "maximal difference: " << max_diff(fm, m) << std::endl;
|
std::clog << "maximal difference: " << max_diff(fm, m) << std::endl;
|
||||||
@ -151,12 +151,12 @@ int main(int argc, char const *argv[])
|
|||||||
gctl::array<double> low(N, 1.0);
|
gctl::array<double> low(N, 1.0);
|
||||||
gctl::array<double> hig(N, 2.0);
|
gctl::array<double> hig(N, 2.0);
|
||||||
|
|
||||||
m.assign_all(0.0);
|
m.assign(0.0);
|
||||||
|
|
||||||
test.LCG_MinimizeConstrained(m, B, low, hig, gctl::LCG_PG);
|
test.LCG_MinimizeConstrained(m, B, low, hig, gctl::LCG_PG);
|
||||||
std::clog << "maximal difference: " << max_diff(fm, m) << std::endl;
|
std::clog << "maximal difference: " << max_diff(fm, m) << std::endl;
|
||||||
|
|
||||||
m.assign_all(0.0);
|
m.assign(0.0);
|
||||||
|
|
||||||
test.LCG_MinimizeConstrained(m, B, low, hig, gctl::LCG_SPG);
|
test.LCG_MinimizeConstrained(m, B, low, hig, gctl::LCG_SPG);
|
||||||
std::clog << "maximal difference: " << max_diff(fm, m) << std::endl;
|
std::clog << "maximal difference: " << max_diff(fm, m) << std::endl;
|
||||||
|
@ -121,15 +121,15 @@ int main(int argc, char const *argv[])
|
|||||||
test.CLCG_Minimize(m, B, gctl::CLCG_BICG_SYM);
|
test.CLCG_Minimize(m, B, gctl::CLCG_BICG_SYM);
|
||||||
std::clog << "maximal difference: " << max_diff(fm, m) << std::endl;
|
std::clog << "maximal difference: " << max_diff(fm, m) << std::endl;
|
||||||
|
|
||||||
m.assign_all(std::complex<double>(0.0, 0.0));
|
m.assign(std::complex<double>(0.0, 0.0));
|
||||||
test.CLCG_Minimize(m, B, gctl::CLCG_BICG);
|
test.CLCG_Minimize(m, B, gctl::CLCG_BICG);
|
||||||
std::clog << "maximal difference: " << max_diff(fm, m) << std::endl;
|
std::clog << "maximal difference: " << max_diff(fm, m) << std::endl;
|
||||||
|
|
||||||
m.assign_all(std::complex<double>(0.0, 0.0));
|
m.assign(std::complex<double>(0.0, 0.0));
|
||||||
test.CLCG_Minimize(m, B, gctl::CLCG_CGS);
|
test.CLCG_Minimize(m, B, gctl::CLCG_CGS);
|
||||||
std::clog << "maximal difference: " << max_diff(fm, m) << std::endl;
|
std::clog << "maximal difference: " << max_diff(fm, m) << std::endl;
|
||||||
|
|
||||||
m.assign_all(std::complex<double>(0.0, 0.0));
|
m.assign(std::complex<double>(0.0, 0.0));
|
||||||
test.CLCG_Minimize(m, B, gctl::CLCG_BICGSTAB);
|
test.CLCG_Minimize(m, B, gctl::CLCG_BICGSTAB);
|
||||||
std::clog << "maximal difference: " << max_diff(fm, m) << std::endl;
|
std::clog << "maximal difference: " << max_diff(fm, m) << std::endl;
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -213,7 +213,7 @@ double gctl::grad_norm::GradNormLoss(array<double> &g)
|
|||||||
|
|
||||||
fx_c_ = 0;
|
fx_c_ = 0;
|
||||||
multi_fx_ = 0.0;
|
multi_fx_ = 0.0;
|
||||||
grad_.assign_all(0.0);
|
grad_.assign(0.0);
|
||||||
return fx;
|
return fx;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -129,8 +129,8 @@ void gctl::svd::decompose(const matrix<double> &src_mat)
|
|||||||
|
|
||||||
for(int iter=0; diff >= epsilon && iter < maxi_iteration; iter++)
|
for(int iter=0; diff >= epsilon && iter < maxi_iteration; iter++)
|
||||||
{
|
{
|
||||||
next_left_vector.assign_all(0.0);
|
next_left_vector.assign(0.0);
|
||||||
next_right_vector.assign_all(0.0);
|
next_right_vector.assign(0.0);
|
||||||
|
|
||||||
for(int i=0;i<M;i++)
|
for(int i=0;i<M;i++)
|
||||||
for(int j=0;j<N;j++)
|
for(int j=0;j<N;j++)
|
||||||
|
Loading…
Reference in New Issue
Block a user