batch of matrices of shape (..., m, n).
The matrix Q may be parametrized via three different
   "orthogonal_map" in terms of the original tensor:


""matrix_exp""/""cayley"": the "matrix_exp()" Q = \exp(A) and the
     Cayley map Q = (\mathrm{I}_n + A/2)(\mathrm{I}_n - A/2)^{-1} are
     applied to a skew-symmetric A to give an orthogonal matrix.


""householder"": computes a product of Householder reflectors
     ("householder_product()").


""matrix_exp""/""cayley"" often make the parametrized weight
   converge faster than ""householder"", but they are slower to
   compute for very thin or very wide matrices.
If "use_trivialization=True" (default), the parametrization
   implements the "Dynamic Trivialization Framework", where an extra
   matrix B \in \mathbb{K}^{n \times n} is stored under
   "module.parametrizations.weight[0].base". This helps the
   convergence of the parametrized layer at the expense of some extra