Skip to content

Commit

Permalink
Change eigensolver initial iterate (bugfix)
Browse files Browse the repository at this point in the history
- Previously initial iterate was {1,1,1} for eigensolver in
  determining tangent plane. If the normal happens to be {1,1,1}
  this causes undesired behavior (becomes leading tangent
  direction). Now the initial iterate is chosen as a random vector.
  • Loading branch information
kuberry committed Oct 15, 2022
1 parent ae7dedf commit c9effa6
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 2 deletions.
2 changes: 1 addition & 1 deletion cmake/Compadre_Version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.5.2
1.5.3
2 changes: 1 addition & 1 deletion src/Compadre_LinearAlgebra_Definitions.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ void largestTwoEigenvectorsThreeByThreeSymmetric(const member_type& teamMember,
double eigenvalue_relative_tolerance = 1e-6; // TODO: use something smaller, but really anything close is acceptable for this manifold


double v[3] = {1,1,1};
double v[3] = {rand_gen.drand(maxRange),rand_gen.drand(maxRange),rand_gen.drand(maxRange)};
double v_old[3] = {v[0], v[1], v[2]};

double error = 1;
Expand Down

0 comments on commit c9effa6

Please sign in to comment.