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.