summaryrefslogtreecommitdiff
path: root/numpy/matlib.py
blob: 43bed3eb5ffee7c5ad162b95d5848882185cab45 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
from numpy.core.defmatrix import matrix, asmatrix
from numpy import ndarray, array
import numpy as N
from numpy import *

__version__ = N.__version__

__all__ = N.__all__[:] # copy numpy namespace
__all__ += ['rand', 'randn']

def empty(shape, dtype=None, order='C'):
    """return an empty matrix of the given shape
    """
    return ndarray.__new__(matrix, shape, dtype, order=order)
        
def ones(shape, dtype=None, order='C'):
    """return a matrix initialized to all ones
    """
    a = ndarray.__new__(matrix, shape, dtype, order=order)
    a.fill(1)
    return a

def zeros(shape, dtype=None, order='C'):
    """return a matrix initialized to all zeros
    """
    a = ndarray.__new__(matrix, shape, dtype, order=order)    
    a.fill(0)
    return a

def identity(n,dtype=None):
    """identity(n) returns the identity matrix of shape n x n.
    """
    a = array([1]+n*[0],dtype=dtype)
    b = empty((n,n),dtype=dtype)
    b.flat = a
    return b

def eye(n,M=None, k=0, dtype=float):
    return asmatrix(N.eye(n,M,k,dtype))

def rand(*args):
    if isinstance(args[0], tuple):
       args = args[0]
    return asmatrix(N.random.rand(*args))

def randn(*args):
    if isinstance(args[0], tuple):
       args = args[0]
    return asmatrix(N.random.rand(*args))