|
Point Cloud Library (PCL) 1.15.1-dev
|
Lightweight Anderson acceleration helper used to speed up fixed-point iterations in FRICP. More...
#include <pcl/registration/anderson_acceleration.h>
Public Member Functions | |
| AndersonAcceleration ()=default | |
| void | init (std::size_t history, std::size_t dimension, const double *initial_state) |
| Initialise the accelerator with a circular buffer of size history. | |
| bool | isInitialized () const |
| std::size_t | history () const |
| std::size_t | dimension () const |
| void | replace (const double *state) |
| void | reset (const double *state) |
| const Eigen::VectorXd & | compute (const double *next_state) |
| Apply one Anderson acceleration update. | |
Lightweight Anderson acceleration helper used to speed up fixed-point iterations in FRICP.
The class stores a short history of the most recent residuals and solves the normal equations following the scheme described in "Fast and Robust Iterative Closest Point", Zhang et al., 2022.
Only double precision is supported internally to maximise numerical stability.
Definition at line 25 of file anderson_acceleration.h.
|
default |
|
inline |
Apply one Anderson acceleration update.
| [in] | next_state | Flattened state obtained from the fixed-point iteration. |
Definition at line 105 of file anderson_acceleration.h.
|
inline |
Definition at line 75 of file anderson_acceleration.h.
Referenced by init().
|
inline |
Definition at line 69 of file anderson_acceleration.h.
Referenced by init().
|
inline |
Initialise the accelerator with a circular buffer of size history.
| [in] | history | Number of previous iterates to keep (m in the paper). |
| [in] | dimension | Dimensionality of the flattened state vector. |
| [in] | initial_state | Pointer to the initial state (expects dimension doubles). |
Definition at line 38 of file anderson_acceleration.h.
References dimension(), and history().
|
inline |
Definition at line 63 of file anderson_acceleration.h.
|
inline |
Definition at line 81 of file anderson_acceleration.h.
|
inline |
Definition at line 89 of file anderson_acceleration.h.