Update the documentation for Covariance.

Remove some of the dire warnings about instability
as the implementation is reasonably stable.

Change-Id: I3b64cab04e4cda54c671fcf8a2ca5d95c15037bf
This commit is contained in:
Sameer Agarwal
2013-06-04 21:52:12 -07:00
parent d48feb838e
commit f3e1267aa1
+11 -12
View File
@@ -45,17 +45,19 @@ namespace internal {
class CovarianceImpl;
} // namespace internal
// WARNINGS
// ========
// WARNING
// =======
// It is very easy to use this class incorrectly without understanding
// the underlying mathematics. Please read and understand the
// documentation completely before attempting to use this class.
//
// 1. This is experimental code and the API WILL CHANGE before
// release.
//
// 2. It is very easy to use this class incorrectly without
// understanding the underlying mathematics. Please read and
// understand the documentation completely before attempting to use
// this class.
// This class allows the user to evaluate the covariance for a
// non-linear least squares problem and provides random access to its
// blocks
//
// Background
// ==========
// One way to assess the quality of the solution returned by a
// non-linear least squares solve is to analyze the covariance of the
// solution.
@@ -83,9 +85,6 @@ class CovarianceImpl;
//
// C(x*) = pseudoinverse[J'(x*)J(x*)]
//
// WARNING
// =======
//
// Note that in the above, we assumed that the covariance
// matrix for y was identity. This is an important assumption. If this
// is not the case and we have
@@ -123,7 +122,7 @@ class CovarianceImpl;
// and store those parts of the covariance matrix.
//
// Rank of the Jacobian
// ====================
// --------------------
// As we noted above, if the jacobian is rank deficient, then the
// inverse of J'J is not defined and instead a pseudo inverse needs to
// be computed.