code: def projection(self, coef, alpha, L):
      U, s, V = svd(coef, full_matrices=False)
      s = np.maximum(s - alpha / L, 0)
      # return np.dot(np.dot(U, np.diag(s)), V)
      U *= s
      return np.dot(U, V)
  
imports: import numpy
  from scipy.linalg import svd
  from lightning.impl.prox_fast import prox_tv1d
label_desc: Use image node_id 1 for calling the TracePenalty obj's underlying member method code with example usage: obj.projection(coef, alpha, L) and returns: np