Пример #1
0
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)
Пример #2
0
    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] )
Пример #3
0
    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])
Пример #4
0
 def test_matrix_random_init(self):
     m = Matrix(10,10)
     rng = RandomNumberGenerator(RngAlgTypeEnum.MZRAN, RngInitModeEnum.INIT_DEFAULT)
     m.randomInit( rng )