Exemplo n.º 1
0
 def test_intersection(self):
   self.message("Sparsity intersection")
   nza = set([  (0,0),
            (0,1),
            (2,0),
            (3,1),
            (2,3)])
   nzb = set([  (0,2),
            (0,0),
            (2,2),
            (2,3)])
   
   a = Sparsity(4,5)
   for i in nza:
     a.addNZ(i[0],i[1])
     
   b = Sparsity(4,5)  
   for i in nzb:
     b.addNZ(i[0],i[1])
   
   c,_=a.patternIntersection(b)
   for k in range(c.nnz()):
     ind = (c.row(k),c.getCol()[k])
     self.assertTrue(ind in nza and ind in nzb)
       
   c = a * b
   self.assertEquals(c.nnz(),len(nza.intersection(nzb)))
   for k in range(c.nnz()):
     ind = (c.row(k),c.getCol()[k])
     self.assertTrue(ind in nza and ind in nzb)
Exemplo n.º 2
0
 def test_union(self):
   self.message("Sparsity union")
   nza = set([  (0,0),
            (0,1),
            (2,0),
            (3,1)])
   nzb = set([  (0,2),
            (0,0),
            (2,2)])
   
   a = Sparsity(4,5)
   for i in nza:
     a.addNZ(i[0],i[1])
     
   b = Sparsity(4,5)  
   for i in nzb:
     b.addNZ(i[0],i[1])
     
   c,w =a.patternUnion(b)
   self.assertEquals(len(w),len(nza.union(nzb)))
   for k in range(len(w)):
     ind = (c.row(k),c.getCol()[k])
     if (ind in nza and ind in nzb):
       self.assertEquals(w[k],1 | 2)
     elif (ind in nza):
       self.assertEquals(w[k],1)
     elif (ind in nzb):
       self.assertEquals(w[k],2)
       
   c = a + b
   self.assertEquals(c.nnz(),len(nza.union(nzb)))
   for k in range(c.nnz()):
     ind = (c.row(k),c.getCol()[k])
     self.assertTrue(ind in nza or ind in nzb)
Exemplo n.º 3
0
 def test_intersection(self):
   self.message("Sparsity intersection")
   nza = set([  (0,0),
            (0,1),
            (2,0),
            (3,1),
            (2,3)])
   nzb = set([  (0,2),
            (0,0),
            (2,2),
            (2,3)])
   
   a = Sparsity.sparse(4,5)
   for i in nza:
     a.getNZ(i[0],i[1])
     
   b = Sparsity.sparse(4,5)  
   for i in nzb:
     b.getNZ(i[0],i[1])
   
   c,_=a.patternIntersection(b)
   for k in range(c.size()):
     ind = (c.row(k),c.getCol()[k])
     self.assertTrue(ind in nza and ind in nzb)
       
   c = a * b
   self.assertEquals(c.size(),len(nza.intersection(nzb)))
   for k in range(c.size()):
     ind = (c.row(k),c.getCol()[k])
     self.assertTrue(ind in nza and ind in nzb)
Exemplo n.º 4
0
 def test_union(self):
   self.message("Sparsity union")
   nza = set([  (0,0),
            (0,1),
            (2,0),
            (3,1)])
   nzb = set([  (0,2),
            (0,0),
            (2,2)])
   
   a = Sparsity.sparse(4,5)
   for i in nza:
     a.getNZ(i[0],i[1])
     
   b = Sparsity.sparse(4,5)  
   for i in nzb:
     b.getNZ(i[0],i[1])
     
   c,w =a.patternUnion(b)
   self.assertEquals(len(w),len(nza.union(nzb)))
   for k in range(len(w)):
     ind = (c.row(k),c.getCol()[k])
     if (ind in nza and ind in nzb):
       self.assertEquals(w[k],1 | 2)
     elif (ind in nza):
       self.assertEquals(w[k],1)
     elif (ind in nzb):
       self.assertEquals(w[k],2)
       
   c = a + b
   self.assertEquals(c.size(),len(nza.union(nzb)))
   for k in range(c.size()):
     ind = (c.row(k),c.getCol()[k])
     self.assertTrue(ind in nza or ind in nzb)
Exemplo n.º 5
0
    def test_union(self):
        self.message("Sparsity union")
        nza = set([(0, 0), (0, 1), (2, 0), (3, 1)])
        nzb = set([(0, 2), (0, 0), (2, 2)])

        a = Sparsity(4, 5)
        for i in nza:
            a.addNZ(i[0], i[1])

        b = Sparsity(4, 5)
        for i in nzb:
            b.addNZ(i[0], i[1])

        c = a.patternUnion(b)

        c = a + b
        self.assertEquals(c.nnz(), len(nza.union(nzb)))
        for k in range(c.nnz()):
            ind = (c.row(k), c.getCol()[k])
            self.assertTrue(ind in nza or ind in nzb)