a = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]], np.int32)
b = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]], np.int32)
print(a*b)
#Result:
[[ 1 4 9]
[16 25 36]
[49 64 81]]
a = np.array([[2, 3, 2],
[3, 3, 3],
[2, 3, 2]], np.float64)
b = a < 3
print(b.type)
#result:
[[ True False True]
[False False False]
[ True False True]]
a = np.array([[True, False, True],
[False, False, False],
[True, False, True]], np.bool)
b = np.array([[2, 2, 2],
[2, 2, 2],
[2, 2, 2]], np.float64)
b[a] += 2
print(b)
#result:
[[4. 2. 4.]
[2. 2. 2.]
[4. 2. 4.]]
a = np.array([[True, False, True],
[False, False, False],
[True, False, True]], np.bool)
a = np.logical_not(a)
print(a)
#result:
[[False True False]
[ True True True]
[False True False]]
a = np.array([[2, 2, 2],
[2, 2, 2],
[2, 2, 2]], dtype=float)
b = np.full(c.shape, 1000, dtype=int)
print(b)
#result
[[1000 1000 1000]
[1000 1000 1000]
[1000 1000 1000]]
@jit
def square(x):
return x ** 2
#return and parameter type defined
@jit(int32(int32))
def square(x):
return x ** 2
#automatic parallelization
@jit(float32[:](float32[:], float32[:]), nopython=True, parallel=True)
def mul(arr1, arr2):
return arr1*arr2
mul(np.random.rand(1000,1000), np.random.rand(3,2))