def test_vectorSpaceBasis_2(): f1 = MultiPower(np.array([[[0,0,1],[0,3/20,0],[0,0,0]], [[0,0,0],[-3/40,1,0],[0,0,0]], [[0,0,0],[0,0,0],[0,0,0]]])) f2 = MultiPower(np.array([[[3/16,-5/2,0],[0,3/16,0],[0,0,0]], [[0,0,1],[0,0,0],[0,0,0]], [[0,0,0],[0,0,0],[0,0,0]]])) f3 = MultiPower(np.array([[[0,1,1/2],[0,3/40,1],[0,0,0]], [[-1/2,20/3,0],[-3/80,0,0],[0,0,0]], [[0,0,0],[0,0,0],[0,0,0]]])) f4 = MultiPower(np.array([[[3/32,-7/5,0,1],[-3/16,83/32,0,0],[0,0,0,0],[0,0,0,0]], [[3/40,-1,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]], [[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]], [[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]])) f5 = MultiPower(np.array([[[5,0,0],[0,0,0],[0,0,0]], [[0,-2,0],[0,0,0],[0,0,0]], [[1,0,0],[0,0,0],[0,0,0]]])) f6 = MultiPower(np.array([[[0,0,0],[0,0,0],[1,0,0]], [[0,-8/3,0],[0,0,0],[0,0,0]], [[0,0,0],[0,0,0],[0,0,0]]])) G = [f1, f2, f3, f4, f5, f6] basis = rf.vectorSpaceBasis(G)[0] trueBasis = [(0,0,0),(1,0,0),(0,1,0),(1,1,0),(0,0,1),(0,0,2),(1,0,1),(0,1,1)] assert (len(basis) == len(trueBasis)) and (m in basis for m in trueBasis), \ "Failed on MultiPower in 3 vars."
def test_vectorSpaceBasis(): f1 = MultiPower(np.array([[0,-1.5,.5],[-1.5,1.5,0],[1,0,0]])) f2 = MultiPower(np.array([[0,0,0],[-1,0,1],[0,0,0]])) f3 = MultiPower(np.array([[0,-1,0,1],[0,0,0,0],[0,0,0,0],[0,0,0,0]])) G = [f1, f2, f3] basis = rf.vectorSpaceBasis(G)[0] trueBasis = [(0,0), (1,0), (0,1), (1,1), (0,2)] assert ((len(basis) == len(trueBasis)) and (m in basis for m in trueBasis))
def testMultMatrix_2(): f1 = MultiPower(np.array([[0,-1.5,.5],[-1.5,1.5,0],[1,0,0]])) f2 = MultiPower(np.array([[0,0,0],[-1,0,1],[0,0,0]])) f3 = MultiPower(np.array([[0,-1,0,1],[0,0,0,0],[0,0,0,0],[0,0,0,0]])) GB = [f1, f2, f3] VB = rf.vectorSpaceBasis(GB)[0] x = MultiPower(np.array([[0],[1]])) y = MultiPower(np.array([[0,1]])) mx_Eig = np.linalg.eigvals(rf.multMatrix(x, GB, VB)) my_Eig = np.linalg.eigvals(rf.multMatrix(y, GB, VB)) assert(len(mx_Eig) == 5) assert(len(my_Eig) == 5) assert(np.allclose(mx_Eig, [-1., 2., 1., 1., 0.])) assert(np.allclose(my_Eig, [1., -1., 1., -1., 0.]))