ManifoldGeometry.randn ====================== .. py:method:: t3toolbox.manifold.ManifoldGeometry.randn(frame, stack_shape = ()) .. code-block:: python def randn( self, frame: bvf.T3Frame, stack_shape: typ.Tuple[int, ...] = (), # extra tangent stack K (a batch of tangents) ) -> T3Tangent: # gauged random tangent at frame Random tangent at ``frame``: a standard Gaussian on the tangent space ``T_xM``. Raw i.i.d. N(0, 1) variation cores, then the gauge projection :py:meth:`project` (``Pi``). For an **orthogonal** ``frame`` this is exactly the standard Gaussian on ``T_xM`` -- equivalently the orthogonal projection onto ``T_xM`` of the ambient standard normal. Minimal rank is **not** required: the gauge projection absorbs any rank redundancy, so the draw lands in the true tangent space regardless (verified against the ambient-normal projection on a non-minimal frame). ``stack_shape`` is the extra outer tangent stack ``K`` (default ``()``). Inherits :py:meth:`project`'s **safe-mode ORTH precondition**: a non-orthogonal ``frame`` raises (skipped under ``safety.unsafe()`` / a jax trace, where it yields a merely-gauged -- not true Gaussian -- tangent).