Skip to content
Snippets Groups Projects
Commit 3b1e0540 authored by Oliver Sander's avatar Oliver Sander Committed by sander
Browse files

Avoid one redundant computation of the energy

[[Imported from SVN: r9563]]
parent 4176c2d9
No related branches found
No related tags found
No related merge requests found
...@@ -54,6 +54,8 @@ void TargetSpaceRiemannianTRSolver<TargetSpace>::solve() ...@@ -54,6 +54,8 @@ void TargetSpaceRiemannianTRSolver<TargetSpace>::solve()
MaxNormTrustRegion<blocksize,field_type> trustRegion(1, // we have only one block MaxNormTrustRegion<blocksize,field_type> trustRegion(1, // we have only one block
initialTrustRegionRadius_); initialTrustRegionRadius_);
field_type energy = assembler_->value(x_);
// ///////////////////////////////////////////////////// // /////////////////////////////////////////////////////
// Trust-Region Solver // Trust-Region Solver
// ///////////////////////////////////////////////////// // /////////////////////////////////////////////////////
...@@ -63,7 +65,7 @@ void TargetSpaceRiemannianTRSolver<TargetSpace>::solve() ...@@ -63,7 +65,7 @@ void TargetSpaceRiemannianTRSolver<TargetSpace>::solve()
std::cout << "----------------------------------------------------" << std::endl; std::cout << "----------------------------------------------------" << std::endl;
std::cout << " Trust-Region Step Number: " << i std::cout << " Trust-Region Step Number: " << i
<< ", radius: " << trustRegion.radius() << ", radius: " << trustRegion.radius()
<< ", energy: " << assembler_->value(x_) << std::endl; << ", energy: " << energy << std::endl;
std::cout << "----------------------------------------------------" << std::endl; std::cout << "----------------------------------------------------" << std::endl;
} }
...@@ -112,8 +114,7 @@ void TargetSpaceRiemannianTRSolver<TargetSpace>::solve() ...@@ -112,8 +114,7 @@ void TargetSpaceRiemannianTRSolver<TargetSpace>::solve()
TargetSpace newIterate = x_; TargetSpace newIterate = x_;
newIterate = TargetSpace::exp(newIterate, corr[0]); newIterate = TargetSpace::exp(newIterate, corr[0]);
/** \todo Don't always recompute oldEnergy */ field_type oldEnergy = energy;
field_type oldEnergy = assembler_->value(x_);
field_type energy = assembler_->value(newIterate); field_type energy = assembler_->value(newIterate);
// compute the model decrease // compute the model decrease
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment