mirror of
https://github.com/triqs/dft_tools
synced 2024-10-31 19:23:45 +01:00
Attempt to fix gelss call in fit_tail.
uncommenting the resize fix the issue on linux. valgrind reports no error any more. What was the problem ?
This commit is contained in:
parent
d85cf0b4d2
commit
8045598534
@ -66,7 +66,7 @@
|
||||
... Order 2 =
|
||||
[[(1,0)]]
|
||||
... Order 3 =
|
||||
[[(0.999247,0)]]
|
||||
[[(0.999251,0)]]
|
||||
... Order 4 =
|
||||
[[(0.998655,0)]]
|
||||
|
||||
@ -80,7 +80,7 @@
|
||||
... Order 2 =
|
||||
[[(1,0)]]
|
||||
... Order 3 =
|
||||
[[(0.999186,0)]]
|
||||
[[(0.999236,0)]]
|
||||
... Order 4 =
|
||||
[[(0.998631,0)]]
|
||||
|
||||
@ -94,7 +94,7 @@
|
||||
... Order 2 =
|
||||
[[(1,0)]]
|
||||
... Order 3 =
|
||||
[[(0.999214,0)]]
|
||||
[[(0.999251,0)]]
|
||||
... Order 4 =
|
||||
[[(0.998655,0)]]
|
||||
|
||||
|
@ -82,6 +82,8 @@ namespace triqs { namespace arrays { namespace lapack {
|
||||
|
||||
f77::gelss ( get_n_rows(Ca()), get_n_cols(Ca()), nrhs , Ca().data_start(), get_ld(Ca()),
|
||||
Cb().data_start(), get_ld(Cb()), Cs().data_start(), rcond, rank, work.data_start(), lwork, info);
|
||||
|
||||
if (info) TRIQS_RUNTIME_ERROR << "Error in gelss : info = "<< info;
|
||||
return info;
|
||||
}
|
||||
|
||||
|
@ -35,8 +35,8 @@ namespace triqs { namespace gfs { namespace local {
|
||||
for (int j = 0; j < get_target_shape(gf)[1]; j++) {
|
||||
|
||||
// fit the odd moments
|
||||
// S.resize(size_odd);
|
||||
// A.resize(size1,size_odd); //when resizing, gelss segfaults
|
||||
S.resize(size_odd);
|
||||
A.resize(size1,size_odd); //when resizing, gelss segfaults
|
||||
for (int k = 0; k < size1; k++) {
|
||||
auto n = n_min + k;
|
||||
auto iw = std::complex<double>(gf.mesh().index_to_point(n));
|
||||
@ -58,8 +58,8 @@ namespace triqs { namespace gfs { namespace local {
|
||||
}
|
||||
|
||||
// fit the even moments
|
||||
// S.resize(size_even);
|
||||
// A.resize(size1,size_even); //when resizing, gelss segfaults
|
||||
S.resize(size_even);
|
||||
A.resize(size1,size_even); //when resizing, gelss segfaults
|
||||
for (int k = 0; k < size1; k++) {
|
||||
auto n = n_min + k;
|
||||
auto iw = std::complex<double>(gf.mesh().index_to_point(n));
|
||||
|
Loading…
Reference in New Issue
Block a user