Update the documentation for Covariance.
Remove some of the dire warnings about instability
as the implementation is reasonably stable.
Change-Id: I3b64cab04e4cda54c671fcf8a2ca5d95c15037bf
diff --git a/include/ceres/covariance.h b/include/ceres/covariance.h
index b093026..0847357 100644
--- a/include/ceres/covariance.h
+++ b/include/ceres/covariance.h
@@ -45,17 +45,19 @@
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 @@
//
// 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 @@
// 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.