def update(rng, mask, module, ert, meas_data, obs_data, state_size): S = meas_data.createS() R = obs_data.createR() dObs = obs_data.createDObs() E = obs_data.createE(rng, meas_data.getActiveEnsSize()) D = obs_data.createD(E, S) obs_data.scale(S, E=E, D=D, R=R, D_obs=dObs) A = Matrix(state_size, meas_data.getActiveEnsSize()) A.randomInit(rng) module.initUpdate(mask, S, R, dObs, E, D) module.updateA(A, S, R, dObs, E, D)
def test_matrix_copy_column(self): m = Matrix(10, 2) rng = RandomNumberGenerator(RngAlgTypeEnum.MZRAN, RngInitModeEnum.INIT_DEFAULT) m.randomInit(rng) with self.assertRaises(ValueError): m.copyColumn(0, 2) with self.assertRaises(ValueError): m.copyColumn(2, 0) with self.assertRaises(ValueError): m.copyColumn(-2, 0) m.copyColumn(1, 0) for i in range(m.rows()): self.assertEqual(m[i, 0], m[i, 1])
def test_sub_copy(self): m1 = Matrix(3, 3) rng = RandomNumberGenerator(RngAlgTypeEnum.MZRAN, RngInitModeEnum.INIT_DEFAULT) m1.randomInit(rng) with self.assertRaises(ValueError): m2 = m1.subCopy(0, 0, 4, 2) with self.assertRaises(ValueError): m2 = m1.subCopy(0, 0, 2, 4) with self.assertRaises(ValueError): m2 = m1.subCopy(4, 0, 1, 1) with self.assertRaises(ValueError): m2 = m1.subCopy(0, 2, 1, 2) m2 = m1.subCopy(0, 0, 2, 2) for i in range(2): for j in range(2): self.assertEqual(m1[i, j], m2[i, j])
def test_matrix_random_init(self): m = Matrix(10, 10) rng = RandomNumberGenerator(RngAlgTypeEnum.MZRAN, RngInitModeEnum.INIT_DEFAULT) m.randomInit(rng)