Rename and small fix.

release/4.3a0
jingwuOUO 2020-08-25 14:47:08 -04:00
parent df73414b1c
commit 491405a5f1
2 changed files with 6 additions and 7 deletions

View File

@ -643,19 +643,18 @@ bool ShonanAveraging<d>::checkOptimality(const Values &values) const {
}
/* ************************************************************************* */
/// Create a VectorValues with eigenvector v
template <size_t d>
VectorValues ShonanAveraging<d>::MakeATangentVectorValues(size_t p,
const Vector &v) {
VectorValues ShonanAveraging<d>::TangentVectorValues(size_t p,
const Vector &v) {
VectorValues delta;
// Create a tangent direction xi with eigenvector segment v_i
const size_t dimension = SOn::Dimension(p);
double sign0 = pow(-1.0, round((p + 1) / 2) + 1);
for (size_t i = 0; i < v.size() / d; i++) {
// Create a tangent direction xi with eigenvector segment v_i
// Assumes key is 0-based integer
const auto v_i = v.segment<d>(d * i);
Vector xi = Vector::Zero(dimension);
double sign = pow(-1.0, round((p + 1) / 2) + 1);
double sign = sign0;
for (size_t j = 0; j < d; j++) {
xi(j + p - d - 1) = sign * v_i(d - j - 1);
sign = -sign;
@ -696,7 +695,7 @@ template <size_t d>
Values ShonanAveraging<d>::LiftwithDescent(size_t p, const Values &values,
const Vector &minEigenVector) {
Values lifted = LiftTo<SOn>(p, values);
VectorValues delta = MakeATangentVectorValues(p, minEigenVector);
VectorValues delta = TangentVectorValues(p, minEigenVector);
return lifted.retract(delta);
}

View File

@ -202,7 +202,7 @@ public:
Values roundSolutionS(const Matrix &S) const;
/// Create a VectorValues with eigenvector v_i
static VectorValues MakeATangentVectorValues(size_t p, const Vector &v);
static VectorValues TangentVectorValues(size_t p, const Vector &v);
/// Calculate the riemannian gradient of F(values) at values
Matrix riemannianGradient(size_t p, const Values &values) const;