Sparse covariance estimation.

Add a Covariance object to the API.

Given a Problem object and a set of parameter block pairs the
Covariance object computes a sparse covariance matrix corresponding
to those block pairs and provides random access to them.

Constant parameter blocks and parameter blocks with local parameterizations
are correctly handled.

Sparse and dense implementations are provided. With the dense implementation
rank deficient Jacobians can also be handled.

Parts of the code are threaded using OpenMP if available.

Change-Id: I5b49583b3d79579df3e0f334c22567acb23ed4ad
This commit is contained in:
Sameer Agarwal
2013-05-12 22:07:55 -07:00
parent f956615ef1
commit 02706c1906
10 changed files with 1623 additions and 10 deletions
+2 -2
View File
@@ -206,11 +206,11 @@ int Problem::NumResiduals() const {
return problem_impl_->NumResiduals();
}
int Problem::ParameterBlockSize(double* parameter_block) const {
int Problem::ParameterBlockSize(const double* parameter_block) const {
return problem_impl_->ParameterBlockSize(parameter_block);
};
int Problem::ParameterBlockLocalSize(double* parameter_block) const {
int Problem::ParameterBlockLocalSize(const double* parameter_block) const {
return problem_impl_->ParameterBlockLocalSize(parameter_block);
};