def func(cls, none): with rule_manager(none=none): op = cls([op1, op2]) if none: assert_is_instance(op, cls) else: assert_is_instance(op, DiagonalOperator)
def func(s1, s2, sm1, sm2): shapein = broadcast_shapes(s1 + sm2[1:], s2 + sm2[1:]) data1 = np.arange(product(s1 + sm1)).reshape(s1 + sm1) data2 = np.arange(product(s2 + sm2)).reshape(s2 + sm2) op1 = DenseBlockDiagonalOperator(data1) op2 = DenseBlockDiagonalOperator(data2) comp1 = op1 * op2 assert_is_instance(comp1, DenseBlockDiagonalOperator) with rule_manager(none=True): comp2 = op1 * op2 assert_equal(comp1.todense(shapein), comp2.todense(shapein))
def func(a, b, operation, apply_rule): p = operation([a, b]) if not apply_rule: if isinstance(a, IdentityOperator) or \ isinstance(b, IdentityOperator): return assert not isinstance(p, BlockDiagonalOperator) return assert_is_instance(p, BlockDiagonalOperator) with rule_manager(none=True): q = operation([a, b]) assert_equal(p.todense(), q.todense())
def test_manager2(): rule_manager['none'] = False assert not rule_manager['none'] with rule_manager(none=True) as new_rule_manager: assert rule_manager['none'] with new_rule_manager(none=False) as new_rule_manager2: assert not rule_manager['none'] rule_manager['none'] = True assert rule_manager['none'] with new_rule_manager2(): assert rule_manager['none'] rule_manager['none'] = False assert rule_manager['none'] assert not rule_manager['none']