Source code for monalisa.trajectory._traj_squared_norm
"""Port of src/traj123/bmTraj_squaredNorm.m."""
import numpy as np
from monalisa._mat import msize, reshape
from monalisa.array._point_reshape import point_reshape
[docs]
def traj_squared_norm(t):
"""Squared norm of each trajectory point, shaped ``[1, size(t)(2:end)]``."""
mySize = msize(t)
t = np.asarray(point_reshape(t))
dt = t.dtype if t.dtype in (np.float32, np.float64) else np.float64
mySquaredNorm = np.zeros(t.shape[1], dtype=dt)
for i in range(mySize[0]):
mySquaredNorm = mySquaredNorm + t[i, :] ** 2
return reshape(mySquaredNorm, [1, *mySize[1:]])