def test_weak_form(self,real_operator,complex_operator): blocked_operator = BlockedBoundaryOperator(3,2) blocked_operator[0,0] = real_operator with pytest.raises(ValueError): weak_form = blocked_operator.weak_form() blocked_operator[1,1] = complex_operator blocked_operator[2,0] = real_operator weak_form = blocked_operator.weak_form() assert weak_form.ndims == (3,2)
def test_weak_form(self, real_operator, complex_operator): blocked_operator = BlockedBoundaryOperator(3, 2) blocked_operator[0, 0] = real_operator with pytest.raises(ValueError): weak_form = blocked_operator.weak_form() blocked_operator[1, 1] = complex_operator blocked_operator[2, 0] = real_operator weak_form = blocked_operator.weak_form() assert weak_form.ndims == (3, 2)
def test_add_blocked_boundary_operator(self,real_operator,complex_operator): blocked_operator = BlockedBoundaryOperator(2,2) blocked_operator[0,0] = real_operator blocked_operator[1,0] = complex_operator blocked_operator[1,1] = real_operator result = blocked_operator+blocked_operator expected = 2*blocked_operator.weak_form().as_matrix() actual = result.weak_form().as_matrix() assert np.linalg.norm(expected-actual)<_eps
def test_add_blocked_boundary_operator(self, real_operator, complex_operator): blocked_operator = BlockedBoundaryOperator(2, 2) blocked_operator[0, 0] = real_operator blocked_operator[1, 0] = complex_operator blocked_operator[1, 1] = real_operator result = blocked_operator + blocked_operator expected = 2 * blocked_operator.weak_form().as_matrix() actual = result.weak_form().as_matrix() assert np.linalg.norm(expected - actual) < _eps