nums = np.array([5.0, 3.0, 4.0, 2.0, 1.0, 1.0, 2.0, 0.0])
oneSquare = np.ones((nums.size, nums.size))
A = nums * np.tril(oneSquare)
B = np.triu(oneSquare, 1) * nums[0]
A, B
Вычисление кумулятивного минимума с массивами numpy