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)
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))
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)