def testMarginalizeBothAxis(self):
    manage.config.MAXPOWER = np.array([10])
    a = ExprZp([1], np.array([[1, 0, 0]]))
    b = ExprZp([1], np.array([[0, 1, 0]]))
    c = ExprZp([2], np.array([[0, 0, 1]]))
    expressions = np.array([[a, b, c], [a, b, c]], dtype=np.object)

    matrix = ExprMatrix('A', expressions, powers=np.array([1]))
    matrix = matrix.Marginalize(axis=None)
    self.assertEquals((1, 1), matrix.expressions.shape)
Example #2
0
    def testMarginalizeBothAxis(self):
        a = ExprSymbolic([1], np.array([[1, 0, 0]]))
        b = ExprSymbolic([1], np.array([[0, 1, 0]]))
        c = ExprSymbolic([2], np.array([[0, 0, 1]]))
        expressions = np.array([[a, b, c], [a, b, c]], dtype=np.object)

        matrix = ExprMatrix('A', expressions, powers=np.array([1]))
        matrix = matrix.Marginalize(axis=None)
        self.assertEquals((1, 1), matrix.expressions.shape)
        self.assertEquals(3, len(matrix.expressions.item(0, 0).quants))
        self.assertEquals([2, 2, 4],
                          sorted(matrix.expressions.item(0, 0).quants))
Example #3
0
    def testSameHash(self):
        manage.config.MAXPOWER = np.array([10])
        a = ExprSymbolic([1], np.array([[1, 0, 0, 0]]))
        b = ExprSymbolic([1], np.array([[0, 1, 0, 0]]))
        c = ExprSymbolic([1], np.array([[0, 0, 1, 0]]))
        d = ExprSymbolic([1], np.array([[0, 0, 0, 1]]))
        expressions = np.array([[a, b], [c, d]], dtype=np.object)

        matrix = ExprMatrix('A', expressions, powers=np.array([1]))
        Q = matrix.Marginalize(axis=0).Marginalize(axis=1)
        W = matrix.Marginalize(axis=1).Marginalize(axis=0)
        self.assertEquals(Q, W)