Table of Contents

1. Brief description

This algorithm splits all edges of an input tensor of type orbital and size \(N_p\) in sizes of \(N_o\) and \(N_v\). It uses slicedEigenEnergies to identify the number of holes \(N_o\) and particles \(N_v\). The output tensor will be a set of \(2^n\) tensors, where n is the number of edges with type orbital. For instance the Coulomb Vertex will be processed like \(\Gamma_p^p(G) \rightarrow \{ \Gamma_o^o(G), \Gamma_o^v(G), \Gamma_v^o(G), \Gamma_v^v(G)\}\).

2. Algorithm call

A typical input file snippet to call the SliceOperator algorithm is given below.

- name: SliceOperator
    slicedEigenEnergies: EigenEnergies
    operator: CoulombVertex
    slicedOperator: CoulombVertex

3. Algorithm input

Keyword Value
operator Operator
slicedEigenEnergies SlicedEigenEnergies

3.1. operator

This is a single tensor.

4. Algorithm output

Keyword Value
slicedOperator SlicedOperator

4.1. slicedOperator

This is a set of tensors.

4.2. Sample stdout

The output of this algorithm reads

step: 4, SliceOperator
Slicing CoulombVertex.elements into holes and particles.
realtime 0.000798066 s

4.3. Sample yaml output

floatingPointOperations: 0
flops: 0
  operator: 0x24878e8
  slicedEigenEnergies: 0x2487f38
name: SliceOperator
  slicedOperator: 0x24aee28
realtime: 0.002082513

5. Literature

Created: 2023-03-16 Thu 10:59