| 92 | } |
| 93 | |
| 94 | void Information_root_scheme::update () |
| 95 | /* Recompute x,X from r,R |
| 96 | * Precondition: |
| 97 | * r(k|k),R(k|k) |
| 98 | * Postcondition: |
| 99 | * r(k|k),R(k|k) |
| 100 | * x = inv(R)*r |
| 101 | * X = inv(R)*inv(R)' |
| 102 | */ |
| 103 | { |
| 104 | UTriMatrix RI (R); // Invert Cholesky factor |
| 105 | bool singular = UTinverse (RI); |
| 106 | if (singular) |
| 107 | error (Numeric_exception("R not PD")); |
| 108 | |
| 109 | noalias(X) = prod_SPD(RI); // X = RI*RI' |
| 110 | noalias(x) = prod(RI,r); |
| 111 | } |
| 112 | |
| 113 | void Information_root_info_scheme::update_yY () |
| 114 | /* Recompute y,Y from r,R |
nothing calls this directly
no test coverage detected