Exemple #1
0
 def test_take(self):
   s = numpy.ones(6, dtype=bool)
   self.assertEqual(sparse.take(self.data, [s]).tolist(),
     [((4,),10), ((4,),20), ((3,),1), ((2,),30), ((1,),40), ((2,),50), ((3,),-1), ((0,),0), ((0,),60)])
   s[1::2] = False
   self.assertEqual(sparse.take(self.data, [s]).tolist(),
     [((2,),10), ((2,),20), ((1,),30), ((1,),50), ((0,),0), ((0,),60)])
Exemple #2
0
 def test_take(self):
     s = numpy.ones((4, 5), dtype=bool)
     self.assertEqual(
         sparse.take(self.data, [s]).tolist(), [((14, ), 10), ((19, ), 20),
                                                ((13, ), 1), ((7, ), 30),
                                                ((1, ), 40), ((7, ), 50),
                                                ((13, ), -1), ((15, ), 0),
                                                ((10, ), 60)])
     s.flat[1::2] = False
     self.assertEqual(
         sparse.take(self.data, [s]).tolist(), [((7, ), 10), ((5, ), 60)])
     s = numpy.ones(4, dtype=bool)
     t = numpy.ones(5, dtype=bool)
     self.assertEqual(
         sparse.take(self.data,
                     [s, t]).tolist(), [((2, 4), 10), ((3, 4), 20),
                                        ((2, 3), 1), ((1, 2), 30),
                                        ((0, 1), 40), ((1, 2), 50),
                                        ((2, 3), -1), ((3, 0), 0),
                                        ((2, 0), 60)])
     s.flat[1::2] = False
     self.assertEqual(
         sparse.take(self.data,
                     [s, t]).tolist(), [((1, 4), 10), ((1, 3), 1),
                                        ((0, 1), 40), ((1, 3), -1),
                                        ((1, 0), 60)])
     t.flat[1::2] = False
     self.assertEqual(
         sparse.take(self.data, [s, t]).tolist(), [((1, 2), 10),
                                                   ((1, 0), 60)])
Exemple #3
0
 def assert_resnorm(self, lhs):
   res = self.residual.eval(arguments=dict(dofs=lhs))[numpy.isnan(self.cons)] if self.single \
     else numpy.concatenate([sparse.toarray(sparse.take(r, [numpy.isnan(self.cons[d])]) if d in self.cons else r)
       for d, r in zip(self.dofs, sample.eval_integrals_sparse(*self.residual, **lhs))])
   resnorm = numpy.linalg.norm(res)
   self.assertLess(resnorm, self.tol)