Example #1
0
 def test_d(self):
     for case in all_cases:
         sc = simplicial_complex(case)
         N  = sc.complex_dimension()
         for p in range(sc.complex_dimension()):
             df = d(sc.get_cochain_basis(p))
             assert_equal( (df.v - sc[p].d).nnz, 0)
             
             # test exactness
             assert_equal(d(df).v.nnz,0)
Example #2
0
 def test_dual_d(self):
     for case in all_cases:
         sc = simplicial_complex(case)
         N  = sc.complex_dimension()
         for p in range(sc.complex_dimension()):
             df = d(sc.get_cochain_basis(p, is_primal=False))
             assert_equal( (df.v - (-1)**p*sc[N-p].boundary).nnz, 0)
             
             # test exactness
             assert_equal(d(df).v.nnz,0)
Example #3
0
def test_three_edges():
    V = array([[0],[1],[2],[3]])  
    S = array([[0,1],[1,2],[2,3]]) 
    sc = simplicial_complex((V,S))
    f0 = sc.get_cochain(0)
    
    assert_equal(f0.complex,sc)
    assert_equal(f0.k,0)
    assert_equal(f0.is_primal,True)
    assert_equal(f0.v,array([0,0,0,0]))
            
    f0.v[:] = 10
    f1 = d(f0)
   
    assert_equal(f1.complex,sc)
    assert_equal(f1.k,1)
    assert_equal(f1.is_primal,True)
    assert_equal(f1.v,array([0,0,0]))