Function sequant::open_shell_spintrace

Function Documentation

std::vector<ExprPtr> sequant::open_shell_spintrace(const ExprPtr &expr, const container::svector<container::svector<Index>> &ext_index_groups, const int single_spin_case = 0)

Generates spin expressions to be used for open-shell coupled cluster.

Every spin combination of external indices will have all spin combinations of internal indices.

Parameters:
  • exprExprPtr with spin orbital indices

  • ext_index_groups – groups of external indices

  • single_spin_case – Calculate open-shell expression for a specific spin case

Returns:

a vector of expr ptrs with spin expressions