示例#1
0
 def test_init(self):
     v = np.arange(6)
     A = lo.linop_from_ndarray(np.outer(v, v), symmetric=True)
     R = lo.SymmetricallyReducedLinearOperator(A, [1, 2, 3])
     self.assertTrue(R.symmetric)
     self.assertTrue(R.hermitian)
     A = lo.linop_from_ndarray(np.outer(v, v))
     R = lo.SymmetricallyReducedLinearOperator(A, [1, 2, 3])
     self.assertFalse(R.symmetric)
     self.assert_(R.shape == (3, 3))
示例#2
0
 def test_init(self):
     v = np.arange(6)
     A = lo.linop_from_ndarray(np.outer(v, v), symmetric=True)
     R = lo.SymmetricallyReducedLinearOperator(A, [1, 2, 3])
     self.assertTrue(R.symmetric)
     self.assertTrue(R.hermitian)
     A = lo.linop_from_ndarray(np.outer(v, v))
     R = lo.SymmetricallyReducedLinearOperator(A, [1, 2, 3])
     self.assertFalse(R.symmetric)
     self.assert_(R.shape == (3, 3))
示例#3
0
def test_linop_from_ndarray():
    A = np.array([[1, 2, 3], [4, 5, 6]])
    A_as_op = lo.linop_from_ndarray(A)
    assert_(isinstance(A_as_op, lo.LinearOperator))
    x = np.array([1, 1, 1])
    assert_equal(A_as_op * x, A.dot(x))
    x = np.array([1, 1])
    assert_equal(A_as_op.T * x, A.T.dot(x))
    assert_equal(A_as_op.H * x, A.T.dot(x))

    init_Aop = lambda s, h: lo.linop_from_ndarray(A, symmetric=s, hermitian=h)
    assert_raises(ValueError, init_Aop, True, False)
示例#4
0
def test_linop_from_ndarray():
    A = np.array([[1, 2, 3],
                 [4, 5, 6]])
    A_as_op = lo.linop_from_ndarray(A)
    assert_(isinstance(A_as_op, lo.LinearOperator))
    x = np.array([1, 1, 1])
    assert_equal(A_as_op * x, A.dot(x))
    x = np.array([1, 1])
    assert_equal(A_as_op.T * x, A.T.dot(x))
    assert_equal(A_as_op.H * x, A.T.dot(x))

    init_Aop = lambda s, h: lo.linop_from_ndarray(A, symmetric=s, hermitian=h)
    assert_raises(ValueError, init_Aop, True, False)
示例#5
0
 def test_runtime(self):
     v = np.arange(6)
     A_mat = np.outer(v, v)
     A = lo.linop_from_ndarray(A_mat)
     sym_idx = [1, 2, 3]
     R = lo.SymmetricallyReducedLinearOperator(A, sym_idx)
     vmask = np.zeros(v.size); vmask[sym_idx] = 1
     assert_equal(R * v[sym_idx], A_mat.dot(v * vmask)[sym_idx])
示例#6
0
 def test_runtime(self):
     v = np.arange(6)
     A_mat = np.outer(v, v)
     A = lo.linop_from_ndarray(A_mat)
     row_idx = [2, 4]
     col_idx = [1, 2, 3]
     R = lo.ReducedLinearOperator(A, row_idx, col_idx)
     vmask = np.zeros(v.size); vmask[col_idx] = 1
     assert_equal(R * v[col_idx], A_mat.dot(v * vmask)[row_idx])
示例#7
0
 def test_runtime(self):
     v = np.arange(6)
     A_mat = np.outer(v, v)
     A = lo.linop_from_ndarray(A_mat)
     sym_idx = [1, 2, 3]
     R = lo.SymmetricallyReducedLinearOperator(A, sym_idx)
     vmask = np.zeros(v.size)
     vmask[sym_idx] = 1
     assert_equal(R * v[sym_idx], A_mat.dot(v * vmask)[sym_idx])
示例#8
0
 def test_runtime(self):
     v = np.arange(6)
     A_mat = np.outer(v, v)
     A = lo.linop_from_ndarray(A_mat)
     row_idx = [2, 4]
     col_idx = [1, 2, 3]
     R = lo.ReducedLinearOperator(A, row_idx, col_idx)
     vmask = np.zeros(v.size)
     vmask[col_idx] = 1
     assert_equal(R * v[col_idx], A_mat.dot(v * vmask)[row_idx])
示例#9
0
 def setUp(self):
     self.A = lo.IdentityOperator(2)
     self.B = lo.linop_from_ndarray(np.arange(1, 7).reshape([2, 3]))
     self.C = lo.DiagonalOperator(np.arange(3))
     self.D = lo.linop_from_ndarray(np.arange(6, 0, -1).reshape([3, 2]))
示例#10
0
 def test_init(self):
     v = np.arange(6)
     A = lo.linop_from_ndarray(np.outer(v, v))
     R = lo.ReducedLinearOperator(A, [1, 2, 3], [4, 5])
     self.assertFalse(R.symmetric)
     self.assert_(R.shape == (3, 2))
示例#11
0
 def setUp(self):
     self.A = lo.IdentityOperator(2)
     self.B = lo.linop_from_ndarray(np.arange(1, 7).reshape([2, 3]))
     self.C = lo.DiagonalOperator(np.arange(3))
     self.D = lo.linop_from_ndarray(np.arange(6, 0, -1).reshape([3, 2]))
示例#12
0
 def test_init(self):
     v = np.arange(6)
     A = lo.linop_from_ndarray(np.outer(v, v))
     R = lo.ReducedLinearOperator(A, [1, 2, 3], [4, 5])
     self.assertFalse(R.symmetric)
     self.assert_(R.shape == (3, 2))