class_docstr: An HyperComplexSpace class that will hold agents, variables and methods
  related to the hypercomplex search space.
docstr: Initialization method.
  
  Args:
      n_agents: Number of agents.
      n_variables: Number of decision variables.
      n_dimensions: Number of search space dimensions.
      mapping: String-based identifiers for mapping variables' names.
docstr_tok: ["Initialization","method",".","Args",":","n_agents",":","Number","of","agents",".","n_variables",":","Number","of","decision","variables",".","n_dimensions",":","Number","of","search","space","dimensions",".","mapping",":","String-based","identifiers","for","mapping","variables","'","names","."]
code: def __init__(
      self,
      n_agents: int,
      n_variables: int,
      n_dimensions: int,
      mapping: Optional[List[str]] = None,
  ) -> None:
      """Initialization method.
  
      Args:
          n_agents: Number of agents.
          n_variables: Number of decision variables.
          n_dimensions: Number of search space dimensions.
          mapping: String-based identifiers for mapping variables' names.
  
      """
  
      logger.info("Overriding class: Space -> HyperComplexSpace.")
  
      lower_bound = np.zeros(n_variables)
      upper_bound = np.ones(n_variables)
  
      super(HyperComplexSpace, self).__init__(
          n_agents,
          n_variables,
          n_dimensions,
          lower_bound,
          upper_bound,
          mapping,
      )
  
      self.build()
  
      logger.info("Class overrided.")
  
file_path: opytimizer/opytimizer/spaces/hyper_complex.py
imports: import copy
  from typing import List, Optional
  import numpy
  from opytimizer.core import Space
  from opytimizer.utils import logging
label_desc: Use image node_id 1 to create a new HyperComplexSpace object from inherited base classes: Space with example: obj = HyperComplexSpace(n_agents, n_variables, n_dimensions, mapping)