Default: ""weight"".
  * **n_power_iterations** (*int**, **optional*) -- number of
    power iterations to calculate spectral norm. Default: "1".

  * **eps** (*float**, **optional*) -- epsilon for numerical
    stability in calculating norms. Default: "1e-12".

  * **dim** (*int**, **optional*) -- dimension corresponding to
    number of outputs. Default: "0", except for modules that are
    instances of ConvTranspose{1,2,3}d, when it is "1"

Returns:
      The original module with a new parametrization registered to the
      specified weight
Return type:
      Module
Example:
  >>> snm = spectral_norm(nn.Linear(20, 40))
  >>> snm
  ParametrizedLinear(
    in_features=20, out_features=40, bias=True
    (parametrizations): ModuleDict(
      (weight): ParametrizationList(
        (0): _SpectralNorm()
      )
    )
  )
  >>> torch.linalg.matrix_norm(snm.weight, 2)
  tensor(1.0081, grad_fn=<AmaxBackward0>)
