MCPcopy Create free account
hub / github.com/OpenPTrack/open_ptrack_v2 / observe_innovation

Method observe_innovation

bayes/src/infFlt.cpp:185–213  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

183}
184
185Bayes_base::Float
186 Information_scheme::observe_innovation (Linrz_correlated_observe_model& h, const FM::Vec& s)
187/* Correlated innovation observe
188 */
189{
190 // Size consistency, z to model
191 if (s.size() != h.Z.size1())
192 error (Logic_exception("observation and model size inconsistent"));
193 observe_size (s.size());// Dynamic sizing
194
195 Vec zz(s + prod(h.Hx,x)); // Strange EIF observation object
196
197 // Observation Information
198 Float rcond = UdUinversePD (ZI, h.Z);
199 rclimit.check_PD(rcond, "Z not PD in observe");
200
201 RowMatrix HxT (trans(h.Hx));
202 RowMatrix HxTZI (prod(HxT, ZI));
203 // Calculate EIF i = Hx'*ZI*zz
204 noalias(i) = prod(HxTZI, zz);
205 // Calculate EIF I = Hx'*ZI*Hx
206 noalias(I) = prod(HxTZI, trans(HxT)); // use column matrix trans(HxT)
207
208 noalias(y) += i;
209 noalias(Y) += I;
210 update_required = true;
211
212 return rcond;
213}
214
215Bayes_base::Float
216 Information_scheme::observe_innovation (Linrz_uncorrelated_observe_model& h, const FM::Vec& s)

Callers

nothing calls this directly

Calls 6

errorFunction · 0.85
Logic_exceptionClass · 0.85
UdUinversePDFunction · 0.85
UdUrcondFunction · 0.85
check_PDMethod · 0.80
sizeMethod · 0.45

Tested by

no test coverage detected