Skip to content

Commit e3dbbe1

Browse files
committed
Merge branch 'handle_trends' into develop
2 parents e5be248 + eb11556 commit e3dbbe1

1 file changed

Lines changed: 8 additions & 7 deletions

File tree

include/sparsepc/contiguoussupport/solver.hpp

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#pragma once
22

33
#include <concepts>
4+
#include <cstdlib>
45

56
#include <sparsepc/eigen/solver.hpp>
67
#include <sparsepc/generic/solver.hpp>
@@ -110,21 +111,21 @@ namespace Sparsepc
110111
return cmponent;
111112
}
112113

113-
const Vectori indices = Vectori::LinSpaced(n, 0, n - 1);
114-
auto lambdaMax = 0.0;
115-
Index iMax = 0;
116-
for (Index i = 0; i < n - k + 1; ++i)
114+
auto lambdaMax = static_cast<Scalar>(-1);
115+
Vectori subMax;
116+
Vectori sub = Vectori::LinSpaced(k, 0, k - 1);
117+
for (Index i = 0; i < n; ++i)
117118
{
118-
const auto sub = indices.segment(i, k);
119119
const auto lambda = eigenSolver.maximumValue(sigma(sub, sub));
120120
if (lambda > lambdaMax)
121121
{
122122
lambdaMax = lambda;
123-
iMax = i;
123+
subMax = sub;
124124
}
125+
126+
sub[std::div(i, k).rem] = std::div(k + i, n).rem;
125127
}
126128

127-
const auto subMax = indices.segment(iMax, k);
128129
auto subDimEigenElement =
129130
eigenSolver.maximumValueElement(sigma(subMax, subMax));
130131

0 commit comments

Comments
 (0)