class_docstr: Sample in a low-dimensional linear embedding.
  
  Generates points in [-1, 1]^D by generating points in a d-dimensional
  embedding, with box bounds as specified. When points are projected up, if
  they fall outside [-1, 1]^D they are clamped to those bounds.
  
  Args:
      A: A (Dxd) linear embedding
      bounds_d: Box bounds in the low-d space
      seed: seed for UniformGenerator
docstr: Project to high-dimensional space.
code: def project_up(self, X: np.ndarray) -> np.ndarray:
      """Project to high-dimensional space."""
      Z = np.transpose(self.A @ np.transpose(X))
      return np.clip(Z, a_min=-1, a_max=1)
  
file_path: Ax/ax/models/random/rembo_initializer.py
imports: from typing import Callable, Dict, List, Optional, Tuple
  import numpy
  from ax.models.random.uniform import UniformGenerator
  from ax.models.types import TConfig
  from ax.utils.common.docutils import copy_doc
label_desc: Use image node_id 2 for calling the REMBOInitializer obj's underlying member method code with example usage: obj.project_up(X) and returns: np