I've noticed self.m is not used. The following changes fixed my problem: self.m = H.shape[**0**] self.R = np.eye(self.**m**) if R is None else R Thanks.