#!/usr/bin/env python # (C) 2000 Huaiyu Zhu <hzhu@users.sourceforge.net>. Licence: GPL # $Id: test_tensor.py,v 1.2 2000/06/22 23:56:15 hzhu Exp $ """ Test Tensor module """ from MatPy.Tensor import * from MatPy import formats formats.format = lambda x:"% -5.2g"%x A = B = Tensor([[[1.,2],[3,4]],[[5,6],[7,8]]]) print A, A.shape print A[0], A[0].shape print A[0,1], A[0,1].shape print A[0,1,1], A[0,1,1].shape print "-"*40 A[0,0,0] = 9 print A, A.shape print "-"*40 A = Tensor([[1,2],[3,4]]) print A, A.shape print "-"*40 A = Tensor([[1,2,3,4]]) print A, A.shape print "-"*40 A = Tensor([1,2,3,4]) print A, A.shape print "-"*40 A = Tensor([1]) print A, A.shape print "-"*40 A = Tensor(1) print A, A.shape print "-"*40 A = Tensor([]) print A, A.shape print "-"*40 from MLab import rand B[0,0,:] = rand(2) print B, B.shape print "========================================================" print "Testing changing format" a = MLab.arange(4)/3. print formats.strF(a) print formats.reprF(a), "\n", "-"*40 a = MLab.array([a+1, a-1]) formats.formatF = lambda x:"% -7.4g"%x print formats.strF(a) print formats.reprF(a), "\n", "-"*40 a = MLab.array([a*4,a+10,a-1]) formats.formatF = lambda x:"% -5.2g"%x print formats.strF(a) print formats.reprF(a), "\n", "-"*40
Result obtained with
>>> from MatPy.tests import test_tensor
[[ 1 2 3 4 ] [ 5 6 7 8 ] ] (2, 2, 2) [ 1 2 3 4 ] (2, 2) 3 4 (2,) 4 (1,) ---------------------------------------- [[ 9 2 3 4 ] [ 5 6 7 8 ] ] (2, 2, 2) ---------------------------------------- [ 1 2 3 4 ] (2, 2) ---------------------------------------- [ 1 2 3 4 ] (1, 4) ---------------------------------------- 1 2 3 4 (4,) ---------------------------------------- 1 (1,) ---------------------------------------- 1 (1,) ---------------------------------------- (0,) ---------------------------------------- [[ 0.828 0.597 3 4 ] [ 5 6 7 8 ] ] (2, 2, 2) ======================================================== Testing changing format 0 0.333 0.667 1 [ 0 , 0.333, 0.667, 1 ] ---------------------------------------- [ 1 1.333 1.667 2 -1 -0.6667 -0.3333 0 ] [[ 1 , 1.333 , 1.667 , 2 ], [ -1 , -0.6667, -0.3333, 0 ]] ---------------------------------------- [[ 4 5.3 6.7 8 -4 -2.7 -1.3 0 ] [ 11 11 12 12 9 9.3 9.7 10 ] [ 0 0.33 0.67 1 -2 -1.7 -1.3 -1 ] ] [[[ 4 , 5.3 , 6.7 , 8 ], [ -4 , -2.7 , -1.3 , 0 ]], [[ 11 , 11 , 12 , 12 ], [ 9 , 9.3 , 9.7 , 10 ]], [[ 0 , 0.33, 0.67, 1 ], [ -2 , -1.7 , -1.3 , -1 ]]] ----------------------------------------