Beispiel #1
0
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;
Beispiel #2
0
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
Beispiel #3
0
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])
Beispiel #4
0
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]);
Beispiel #5
0
            # 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()
Beispiel #6
0
        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()