TrainSum.decomposition(*, decomposition: T, ncores: int = 2, optimizer: Literal['optimal', 'dp', 'greedy', 'random-greedy', 'random-greedy-128', 'branch-all', 'branch-2', 'auto', 'auto-hq'] = DEFAULT_OPTIMIZER, direction: Direction = Direction.TO_RIGHT) DecompositionOptions[T]
TrainSum.decomposition(*, max_rank: int, cutoff: float = 0.0, ncores: int = 2, optimizer: Literal['optimal', 'dp', 'greedy', 'random-greedy', 'random-greedy-128', 'branch-all', 'branch-2', 'auto', 'auto-hq'] = DEFAULT_OPTIMIZER, direction: Direction = Direction.TO_RIGHT) DecompositionOptions[SVDecomposition[NDArray]]

Einsum operations based on matrix decompositions. One can provide either a decomposition object or paramters for a singular value decomposition (max_rank, cutoff). ncores specifies the number of cores to be used for the sweeping strategy.

Parameters:
  • max_rank (int)

  • decomposition (Any | None)

  • cutoff (float)

  • ncores (int)

  • optimizer (Literal['optimal', 'dp', 'greedy', 'random-greedy', 'random-greedy-128', 'branch-all', 'branch-2', 'auto', 'auto-hq'])

  • direction (Direction)

Return type:

DecompositionOptions[Any]