summaryrefslogtreecommitdiff
path: root/numpy/oldnumeric/olddefaults.py
blob: d818ed57cc2746b5f4c2481d37245ac9ad9a4cf5 (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
__all__ = ['ones', 'empty', 'identity', 'zeros', 'eye', 'tri']

import numpy.core.multiarray as mu
import numpy.core.numeric as nn

def ones(shape, dtype=int, order='C'):
    """ones(shape, dtype=int) returns an array of the given
    dimensions which is initialized to all ones.
    """
    a = mu.empty(shape, dtype, order)
    a.fill(1)
    return a

def zeros(shape, dtype=int, order='C'):
    """zeros(shape, dtype=int) returns an array of the given
    dimensions which is initialized to all zeros
    """
    return mu.zeros(shape, dtype, order)

def identity(n,dtype=int):
    """identity(n) returns the identity 2-d array of shape n x n.
    """
    return nn.identity(n, dtype)

def eye(N, M=None, k=0, dtype=int):
    """ eye returns a N-by-M 2-d array where the  k-th diagonal is all ones,
        and everything else is zeros.
    """
    if M is None: M = N
    m = equal(subtract.outer(arange(N), arange(M)),-k)
    if m.dtype != dtype:
        return m.astype(dtype)
    
def tri(N, M=None, k=0, dtype=int):
    """ returns a N-by-M array where all the diagonals starting from
        lower left corner up to the k-th are all ones.
    """
    if M is None: M = N
    m = greater_equal(subtract.outer(arange(N), arange(M)),-k)
    if m.dtype != dtype:
        return m.astype(dtype)

def empty(shape, dtype=int, order='C'):
    return mu.empty(shape, dtype, order)