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 )