class_docstr: Map between a `dict`s of variables to an array space.
  
  Said array space consists of all the vars raveled and then concatenated.
class_docstr_tok: ["Map","between","a","`","dict","`","s","of","variables","to","an","array","space",".","Said","array","space","consists","of","all","the","vars","raveled","and","then","concatenated","."]
docstr: Map 1D concatenated array to a dictionary of variables in their original spaces.
  
  Parameters
  ----------
  array
      The array to map.
  start_point
      An optional dictionary of initial values.
docstr_tok: ["Map","1D","concatenated","array","to","a","dictionary","of","variables","in","their","original","spaces",".","Parameters","--","--","--","--","--","array","The","array","to","map",".","start_point","An","optional","dictionary","of","initial","values","."]
code: def rmap(
      array: RaveledVars,
      start_point: PointType | None = None,
  ) -> PointType:
      """Map 1D concatenated array to a dictionary of variables in their original spaces.
  
      Parameters
      ----------
      array
          The array to map.
      start_point
          An optional dictionary of initial values.
  
      """
      if start_point:
          result = dict(start_point)
      else:
          result = {}
  
      if not isinstance(array, RaveledVars):
          raise TypeError("`array` must be a `RaveledVars` type")
  
      last_idx = 0
      for name, shape, dtype in array.point_map_info:
          arr_len = np.prod(shape, dtype=int)
          var = (
              array.data[last_idx : last_idx + arr_len]
              .reshape(shape)
              .astype(dtype)
          )
          result[name] = var
          last_idx += arr_len
  
      return result
  
file_path: pymc/pymc/blocking.py
imports: from __future__ import annotations
  from functools import partial
  from typing import Any, Callable, Dict, Generic, List, NamedTuple, Optional, Sequence, TypeVar, Union
  import numpy
  from typing_extensions import TypeAlias
label_desc: Use image node_id 2 for calling the DictToArrayBijection obj's underlying member method code with example usage: obj.rmap(array, start_point) and returns: result