def test1(): A = ttensor.ttensor(tensor.tenrands([2,3,4]), [numpy.random.random([10,2]), numpy.random.random([30,3]), numpy.random.random([40,4])]).totensor(); [a,b] = DTA.DTA(A, [1,2,3]); #print a; #print b; Core = numpy.arange(24).reshape([2,3,4]); #Core = numpy.array([[1,3,5],[2,4,6]] , [[7,9,11],[8,10,12]]) u1 = numpy.array([[1,2],[3,4]]); u2 = numpy.array([[0,1,0],[1,0,1],[1,1,1]]); u3 = numpy.array([[1,1,1,1],[1,2,3,4],[1,1,1,1]]); tt = ttensor.ttensor(tensor.tensor(Core), [u1,u2,u3]); print tt; [a,b] = DTA.DTA(tt.totensor(), [1,2,3]); print a; print a.totensor(); print b;
def test1(): A = ttensor.ttensor(tensor.tenrands([2, 3, 4]), [ numpy.random.random([10, 2]), numpy.random.random([30, 3]), numpy.random.random([40, 4]) ]).totensor() [a, b] = DTA.DTA(A, [1, 2, 3]) #print a; #print b; Core = numpy.arange(24).reshape([2, 3, 4]) #Core = numpy.array([[1,3,5],[2,4,6]] , [[7,9,11],[8,10,12]]) u1 = numpy.array([[1, 2], [3, 4]]) u2 = numpy.array([[0, 1, 0], [1, 0, 1], [1, 1, 1]]) u3 = numpy.array([[1, 1, 1, 1], [1, 2, 3, 4], [1, 1, 1, 1]]) tt = ttensor.ttensor(tensor.tensor(Core), [u1, u2, u3]) print tt [a, b] = DTA.DTA(tt.totensor(), [1, 2, 3]) print a print a.totensor() print b
def specialctor(verbose): print tensor.tenrands([2, 3, 4]) print tensor.tenones([2, 3, 4]) print tensor.tenzeros([2, 3, 4]) print tensor.tendiag([11, 22, 33], [2, 3, 4]) print tensor.tendiag([11, 22], [1, 3, 4])
def specialctor(verbose): print tensor.tenrands([2,3,4]); print tensor.tenones([2,3,4]); print tensor.tenzeros([2,3,4]); print tensor.tendiag([11,22,33],[2,3,4]); print tensor.tendiag([11,22],[1,3,4]);
# reverse order for matlab # tricky double reversal to get first index to vary fastest ind_tuple = unravel_index(i, d_to_loop[::-1])[::-1] ind = sls + list(ind_tuple) mmat(x[ind], format) print '],[', for i in x.shape: print '%d' % i, print '])' # bench TTT times TTT_times = [0.0] * 15 for i in range(1, 16): A = tensor.tenrands((i, i, i)) B = tensor.tenrands((i, i, i)) start = clock() C = A.ttt(B) stop = clock() TTT_times[i - 1] = stop - start print ",".join([str(elt) for elt in TTT_times]) # bench CP_ALS times CP_ALS_times = np.zeros((6, 5)) for i in range(3, 9): A = tensor.Tensor(np.arange(i**3), (i, i, i)) for j in range(1, 6): tic = clock() p = A.cp_als(j, tol=1e-9, maxiters=1000, printitn=1000) toc = clock()
for i in range(prod(d_to_loop)): # reverse order for matlab # tricky double reversal to get first index to vary fastest ind_tuple = unravel_index(i,d_to_loop[::-1])[::-1] ind = sls + list(ind_tuple) mmat(x[ind],format) print '],[', for i in x.shape: print '%d' % i, print '])' # bench TTT times TTT_times = [0.0]*15 for i in range(1, 16): A = tensor.tenrands((i,i,i)) B = tensor.tenrands((i,i,i)) start = clock() C = A.ttt(B) stop = clock() TTT_times[i-1] = stop-start print ",".join([str(elt) for elt in TTT_times]) # bench CP_ALS times CP_ALS_times = np.zeros((6, 5)) for i in range(3,9): A = tensor.Tensor(np.arange(i ** 3), (i,i,i)) for j in range(1,6): tic = clock() p = A.cp_als(j, tol=1e-9, maxiters=1000, printitn=1000) toc = clock()