Ejemplo n.º 1
0
 def test_dmat_mult(self):
     assert_equals(Sign.mul(Sign.ZERO, (1,1), self.pos_vec, (self.n,1)), Sign.ZERO)
     assert_equals(Sign.mul(self.unknown_vec, (self.n,1), Sign.POSITIVE, (1,1)), self.unknown_vec)
     assert_equals(Sign.mul(self.pos_vec, (self.n,1), Sign.NEGATIVE, (1,1)), self.neg_vec)
     assert_equals(Sign.mul(self.neg_mat, (self.n,self.n), 
                            self.neg_vec, (self.n,1)), self.pos_vec)
     assert_equals(Sign.mul(self.zero_mat, (self.n,self.n), 
                            self.unknown_vec, (self.n,1)), self.zero_vec)
     assert_equals(Sign.mul(self.neg_mat, (self.n,self.n), 
                            self.pos_mat, (self.n,self.n)), self.neg_mat)
     assert_equals(Sign.mul(self.unknown_mat, (self.n,self.n), 
                            self.pos_mat, (self.n,self.n)), self.unknown_mat)
Ejemplo n.º 2
0
    def test_sparse_mult(self):
        assert_equals(Sign.mul(Sign.ZERO, (1,1), self.pos_spmat, (self.n,self.n)), Sign.ZERO)
        assert_equals(Sign.mul(self.unknown_spmat, (self.n,self.n), Sign.POSITIVE, (1,1)), self.unknown_spmat)
        assert_equals(Sign.mul(self.pos_spmat, (self.n,self.n), Sign.NEGATIVE, (1,1)), self.neg_spmat)
        assert_equals(Sign.mul(self.neg_mat, (self.n,self.n), 
                               self.neg_spmat, (self.n,self.n)), self.pos_mat)
        assert_equals(Sign.mul(self.zero_mat, (self.n,self.n), 
                               self.unknown_spmat, (self.n,self.n)), self.zero_mat)
        assert_equals(Sign.mul(self.neg_spmat, (self.n,self.n), 
                               self.pos_spmat, (self.n,self.n)), self.neg_spmat)
        assert_equals(Sign.mul(self.unknown_spmat, (self.n,self.n), 
                               self.pos_spmat, (self.n,self.n)), self.unknown_spmat)

        # Asymmetric multiplication.
        m = 2
        fat = np.vstack(m*[self.arr])
        fat_pos = Sign(False, BoolMat(fat))
        assert_equals(Sign.mul(fat_pos, (1,1), self.pos_spmat, (1,1)), fat_pos)
Ejemplo n.º 3
0
 def test_mult(self):
     assert_equals(Sign.mul(Sign.ZERO, (1,1), Sign.POSITIVE, (1,1)), Sign.ZERO)
     assert_equals(Sign.mul(Sign.UNKNOWN, (1,1), Sign.POSITIVE, (1,1)), Sign.UNKNOWN)
     assert_equals(Sign.mul(Sign.POSITIVE, (1,1), Sign.NEGATIVE, (1,1)), Sign.NEGATIVE)
     assert_equals(Sign.mul(Sign.NEGATIVE, (1,1), Sign.NEGATIVE, (1,1)), Sign.POSITIVE)
     assert_equals(Sign.mul(Sign.ZERO, (1,1), Sign.UNKNOWN, (1,1)), Sign.ZERO)