np.linalg.norm
- норма Фробениуса. Определяется как ниже
Это квадратный корень из суммы всех элементов в квадрате матрицы
np.dot (М, М) / 2
является точечным произведением М с самим собой, деленным на 2
-np.linalg.norm(M - np.dot(M,M)/2.)
Наконец, мы берем матрицу Фробениуса, являющуюся результатом (M - np.dot (M, M) / 2.), Которая является скаляром, и умножаем ее на -1. Это то, что вы видите, когда запускаете
печать (е (х))
M = np.array([[1,1],[1,1]])
n = np.dot(M,M)/2.
j = M - n
assert np.sqrt(np.sum(np.power(j,2))) == np.linalg.norm(j)