
# This shows how to make a multi-demensional matrix using ND4J


from org.nd4j.linalg.api.ndarray import INDArray
from  org.nd4j.linalg.factory import Nd4j;
from  org.nd4j.linalg.ops.transforms import Transforms

# make 4D matrix with 3 rows and value 1
n = Nd4j.create(Nd4j.ones(81).data(), [3,3,3,3])
# transform to exp
ndv = Transforms.exp(n)
print n
print ndv


# make matrix 2x2 (empty)
nd = Nd4j.create([2, 2])

# make matrix 2x6
nd = Nd4j.create([1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12.], [2, 6]);
print nd

# very large matrox
n = Nd4j.linspace(1,10000000,10000000)

# multiply it on transpose
print "MMUL=", n.mmul(n.transpose())
