Example #1
0
def covariance_exact(Cl, Kk, Gk):
    """ Covariance update for exact constraints """
    # Rlk = et.mtxabat(Gk, Cl)
    # return Cl - et.mtxab(Kk, 2*et.mtxab(Gk, Cl) - et.mtxabt(Rlk, Kk))
    return et.mtxabat(np.eye(Cl.shape[-1]) - et.mtxab(Kk, Gk), Cl)
Example #2
0
def covariance_normal(Cl, Kk, Hk, Rlk):
    """ Simplified, but numerically stable covariance update """
    return Cl - et.mtxab(Kk, 2 * et.mtxab(Hk, Cl) - et.mtxabt(Rlk, Kk))
Example #3
0
def covariance_full(Cl, Kk, Hk, Vk):
    """ Full expression for covariance update """
    return et.mtxabat(np.eye(Cl.shape[-1]) - et.mtxab(Kk, Hk),
                      Cl) + et.mtxabat(Kk, Vk)
Example #4
0
def covariance_fast(Cl, Kk, Hk):
    """ Simple but numerically unstable covariance update """
    return et.mtxab(np.eye(Cl.shape[-1]) - et.mtxab(Kk, Hk), Cl)
Example #5
0
def covariance_exact(Cl, Kk, Gk):
    """ Covariance update for exact constraints """
    return et.mtxabat(np.eye(Cl.shape[-1]) - et.mtxab(Kk, Gk), Cl)