Registered Member
|
Hi,
Eigen 3.1.0-alpha2 feature a new rankUpdate method to update the LLT decomposition. It was added to the LLT class. As far as I can tell, that means that after successfully decomposing a matrix into LLT, one can use the rankUpdate method. In contrast, Matlab's cholupdate procedure is performed on the L factor of the decomposition. My problem with Eigens implementation is, that my LLT does not result from a decomposition of a matrix. Instead, the L is computed directly. Since I cannot instantiate an LLT object, already having the L factor of the decomposition, I can not use the rankUpdate method. So far I am using "internal::llt_inplace<double,Lower>::rankUpdate" which appears to do pretty much the same as cholupdate as far as I can tell. Am I missing something or is there simply a public interface for this function missing? Thanks, Frank |
Moderator
|
You are right, there is no pubic API yet for such low level use cases. A workaround would also to const-cast the Matrix<> object returned by .matrixLLT() to overwrite its content, but this might be dangerous.
|
Registered Member
|
Ok thanks! I will stick to my solution for now then and patiently wait for a public function in some later release.
|
Registered users: Bing [Bot], claydoh, Google [Bot], rblackwell, Yahoo [Bot]