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 )