| 89 | } |
| 90 | |
| 91 | void Information_scheme::update () |
| 92 | /* Recompute x,X from y,Y |
| 93 | * Optimised using update_required (postcondition met iff update_required false) |
| 94 | * Precondition: |
| 95 | * y, Y is PD |
| 96 | * Postcondition: |
| 97 | * x=X*y, X=inv(Y) is PSD |
| 98 | * y, Y is PD |
| 99 | */ |
| 100 | { |
| 101 | if (update_required) |
| 102 | { // Covariance |
| 103 | Float rcond = UdUinversePD (X, Y); |
| 104 | rclimit.check_PD(rcond, "Y not PD in update"); |
| 105 | |
| 106 | noalias(x) = prod(X,y); |
| 107 | update_required = false; |
| 108 | } |
| 109 | } |
| 110 | |
| 111 | Bayes_base::Float |
| 112 | Information_scheme::predict (Linrz_predict_model& f) |
nothing calls this directly
no test coverage detected