code: def ask(self) -> jnp.ndarray:
      key, self.rng = jax.random.split(self.rng)
      zhalf = jax.random.normal(key, (self.dim, int(self.lamb / 2)))
      self.z = self.z.at[:, self.idxp].set(zhalf)
      self.z = self.z.at[:, self.idxm].set(-zhalf)
      self.normv = jnp.linalg.norm(self.v)
      self.normv2 = self.normv**2
      self.vbar = self.v / self.normv
      self.y = self.z + (
          (jnp.sqrt(1 + self.normv2) - 1)
          * jnp.dot(self.vbar, jnp.dot(self.vbar.T, self.z))
      )
      self.x = self.m + (self.sigma * self.y) * self.D
      return self.x.T
  
imports: import math
  import numpy
  from typing import Union
  from typing import Optional
  import logging
  import jax
  import jax.numpy
  from evojax.algo.base import NEAlgorithm
  from evojax.util import create_logger
label_desc: Use image node_id 3 for calling the CRFM obj's underlying member method code with example usage: obj.ask() and returns: self