Returning empty noise model from QR and fix for backwards-compatibility in old code
							parent
							
								
									073679f831
								
							
						
					
					
						commit
						941cd93bf6
					
				| 
						 | 
					@ -476,6 +476,11 @@ namespace gtsam {
 | 
				
			||||||
    // Use in-place QR dense Ab appropriate to NoiseModel
 | 
					    // Use in-place QR dense Ab appropriate to NoiseModel
 | 
				
			||||||
    gttic(QR);
 | 
					    gttic(QR);
 | 
				
			||||||
    SharedDiagonal noiseModel = model_->QR(matrix_);
 | 
					    SharedDiagonal noiseModel = model_->QR(matrix_);
 | 
				
			||||||
 | 
					    // In the new unordered code, empty noise model indicates unit noise model, and I already
 | 
				
			||||||
 | 
					    // modified QR to return an empty noise model.  This just creates a unit noise model in that
 | 
				
			||||||
 | 
					    // case because this old code does not handle empty noise models.
 | 
				
			||||||
 | 
					    if(!noiseModel)
 | 
				
			||||||
 | 
					      noiseModel = noiseModel::Unit::Create(std::min(matrix_.rows(), matrix_.cols() - 1));
 | 
				
			||||||
    gttoc(QR);
 | 
					    gttoc(QR);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Zero the lower-left triangle.  todo: not all of these entries actually
 | 
					    // Zero the lower-left triangle.  todo: not all of these entries actually
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -131,7 +131,7 @@ SharedDiagonal Gaussian::QR(Matrix& Ab) const {
 | 
				
			||||||
  // TODO: necessary to isolate last column?
 | 
					  // TODO: necessary to isolate last column?
 | 
				
			||||||
//  householder(Ab, maxRank);
 | 
					//  householder(Ab, maxRank);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  return Unit::Create(maxRank);
 | 
					  return SharedDiagonal();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void Gaussian::WhitenSystem(vector<Matrix>& A, Vector& b) const {
 | 
					void Gaussian::WhitenSystem(vector<Matrix>& A, Vector& b) const {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue