import numpy as np
np.random.seed(0)
def compute_reciprocals(values):
output = np.empty(len(values))
for i in range(len(values)):
output[i] = 1.0/values[i]
return output
big_array = np.random.randint(1,100,size=1000000)
values = np.random.randint(1,10,size=5)
print(compute_reciprocals(values))
print(1.0/values)
np.arange(5)/np.arange(1,6)
x = np.arange(9).reshape((3,3,))
2 ** x
x = np.arange(4)
print(' x = ',x)
print(' x + 5 = ',x+5)
print(' x - 5 = ',x-5)
print(' x * 2 = ',x*2)
print(' x / 2 = ',x/2)
print(' x // 2 = ',x//2)
print('-x = ',-x)
print(' x ** 2 = ',x**2)
print(' x % 2 = ',x % 2)
-(0.5*x + 1) ** 2
x = np.array([-2,-1,0,1,2])
abs(x)
np.absolute(x)
np.abs(x)
x = np.array([3 - 4j, 4 - 3j, 2 + 0j, 0 + 1j])
np.abs(x)
theta = np.linspace(0,np.pi,3)
print("theta = ", theta)
print("sin(theta) = ", np.sin(theta))
print("cos(theta) = ", np.cos(theta))
print("tan(theta) = ", np.tan(theta))
x = [-1, 0, 1]
print("x = ", x)
print("arcsin(x) = ", np.arcsin(x))
print("arccos(x) = ", np.arccos(x))
print("arctan(x) = ", np.arctan(x))
x = [1, 2, 3]
print("x =", x)
print("e^x =", np.exp(x))
print("2^x =", np.exp2(x))
print("3^x =", np.power(3, x))
x = [1, 2, 4, 10]
print("x =", x)
print("ln(x) =", np.log(x))
print("log2(x) =", np.log2(x))
print("log10(x) =", np.log10(x))
x = [0, 0.001, 0.01, 0.1]
print("exp(x) - 1 =", np.expm1(x))
print("log(1 + x) =", np.log1p(x))
x = np.arange(5)
y = np.empty(5)
np.multiply(x,10,out=y)
print(y)
y = np.zeros(10)
np.power(2,x,out=y[::2])
print(y)
x= np.arange(1,6)
np.add.reduce(x)
np.multiply.reduce(x)
np.add.accumulate(x)
np.multiply.accumulate(x)
x= np.arange(1,6)
np.multiply.outer(x,x)