In [1]:
import numpy as np

In [2]:
a = np.array([0, 1, 2])
b = np.array([2, 0, 6])

In [3]:
print(np.maximum(a, b))


[2 1 6]

In [4]:
print(np.fmax(a, b))


[2 1 6]

In [5]:
l_a = [0, 1, 2]
l_b = [2, 0, 6]

In [6]:
print(np.maximum(l_a, l_b))


[2 1 6]

In [7]:
print(np.fmax(l_a, l_b))


[2 1 6]

In [8]:
print(np.maximum(0, 2))


2

In [9]:
print(np.fmax(0, 2))


2

In [10]:
print(max(0, 2))


2

In [11]:
a_2d = np.arange(6).reshape(2, 3)
print(a_2d)


[[0 1 2]
 [3 4 5]]

In [12]:
print(b)


[2 0 6]

In [13]:
print(a_2d + b)


[[ 2  1  8]
 [ 5  4 11]]

In [14]:
print(np.maximum(a_2d, b))


[[2 1 6]
 [3 4 6]]

In [15]:
print(np.fmax(a_2d, b))


[[2 1 6]
 [3 4 6]]

In [16]:
a_mismatch = np.array([0, 1, 2, 3])

In [17]:
# print(np.maximum(a_mismatch, b))
# ValueError: operands could not be broadcast together with shapes (4,) (3,)

In [18]:
# print(np.fmax(a_mismatch, b))
# ValueError: operands could not be broadcast together with shapes (4,) (3,)

In [19]:
print(np.maximum(a_2d, 2))


[[2 2 2]
 [3 4 5]]

In [20]:
print(np.fmax(a_2d, 2))


[[2 2 2]
 [3 4 5]]

In [21]:
print(np.maximum(2, a_2d))


[[2 2 2]
 [3 4 5]]

In [22]:
print(np.fmax(2, a_2d))


[[2 2 2]
 [3 4 5]]

In [23]:
print(np.maximum([np.nan, np.nan], [np.inf, 0]))


[nan nan]

In [24]:
print(np.fmax([np.nan, np.nan], [np.inf, 0]))


[inf  0.]