big huge changes in LU!

* continue the decomposition until a pivot is exactly zero;
  don't try to compute the rank in the decomposition itself.
* Instead, methods such as rank() use a new internal parameter
  called 'threshold' to determine which pivots are to be
  considered nonzero.
* The threshold is by default determined by defaultThreshold()
  but the user can override that by calling useThreshold(value).
* In solve/kernel/image, don't assume that the diagonal of U
  is sorted in decreasing order, because that's only approximately
  true. Additional work was needed to extract the right pivots.
This commit is contained in:
Benoit Jacob
2009-10-18 00:47:40 -04:00
parent 3c4a025a54
commit 8332c232db
3 changed files with 205 additions and 80 deletions

View File

@@ -258,6 +258,11 @@ namespace {
EIGEN_UNUSED NoChange_t NoChange;
}
struct Default_t {};
namespace {
EIGEN_UNUSED Default_t Default;
}
enum {
IsDense = 0,
IsSparse = SparseBit,