def test_parametric_ellipsoid(self): M2 = discretize.TensorMesh([np.ones(10), np.ones(20)], "CC") block = maps.ParametricEllipsoid(M2) self.assertTrue( block.test( m=np.hstack( [ np.random.rand(2), np.r_[M2.x0[0], 2 * M2.hx.min()], np.r_[M2.x0[1], 4 * M2.hy.min()], ] ) ) ) M3 = discretize.TensorMesh([np.ones(10), np.ones(20), np.ones(30)], "CCC") block = maps.ParametricEllipsoid(M3) self.assertTrue( block.test( m=np.hstack( [ np.random.rand(2), np.r_[M3.x0[0], 2 * M3.hx.min()], np.r_[M3.x0[1], 4 * M3.hy.min()], np.r_[M3.x0[2], 5 * M3.hz.min()], ] ) ) )
def test_sum(self): M2 = discretize.TensorMesh([np.ones(10), np.ones(20)], "CC") block = maps.ParametricEllipsoid(M2) * maps.Projection( 7, np.r_[1, 2, 3, 4, 5, 6]) background = (maps.ExpMap(M2) * maps.SurjectFull(M2) * maps.Projection(7, np.r_[0])) summap0 = maps.SumMap([block, background]) summap1 = block + background m0 = np.hstack([ np.random.rand(3), np.r_[M2.x0[0], 2 * M2.hx.min()], np.r_[M2.x0[1], 4 * M2.hy.min()], ]) self.assertTrue(np.all(summap0 * m0 == summap1 * m0)) self.assertTrue(summap0.test(m0)) self.assertTrue(summap1.test(m0))