Theory and notation

This page collects the notations and equations behind the DFT + DMFT implementation in ModEST and the general organization of that implementation.

Note

Status: in progress.

Notation and basic equations

Bloch, Wannier and correlated spaces

The DFT + DMFT equations involve three different spaces, following (mostly) the notations of S. Beck et al.:

  • The (reduced) Bloch space \(\mathcal{B}\) (denoted \(\mathcal{R}\) in Beck et al.) contains bands of dispersion \(\varepsilon_{\nu}^{\sigma}(\mathbf{k})\) in some window of energy. Here \(\nu\) is the band index (\(0 \leq \nu < N_\nu^{\mathbf{k}}\)) and \(\mathbf{k}\) is a point in the Brillouin zone. We define \(N_\nu \equiv \max_{\mathbf{k}} N_\nu^{\mathbf{k}}\).

  • The Wannier space \(\mathcal{W}\) is spanned by Wannier functions constructed from \(\mathcal{B}\).

  • The correlated space \(\mathcal{C} \subseteq \mathcal{W}\) contains \(M\) Wannier orbitals and is the subspace in which the self-energy is approximated by the embedding. \(\mathcal{C}\) is spanned by Wannier functions at several atoms/sites with index \(a\) at position \(R_a\) and orbital/Wannier index \(m_a\). It is indexed by a composite index \(m = (a, m_a)\), with \(0 \leq m \leq M-1\) and \(M = \sum_{a} \max(m_a)\). The main equations are written with the composite index \(m\) because the \(m = (a, m_a)\) decomposition is in general not appropriate for embeddings.

The σ index

The \(\sigma\) index is a general block-diagonal index. In simple cases it is the spin index, but not always.

  • In “spin (non-)polarized” computations, \(\sigma\) is the spin index.

  • In spin-orbit or Nambu computations, the spin index is merged with \(m\) and \(\nu\), so \(\sigma = 0\) (i.e. a single value of the index, equivalent to no index at all).

Projectors

The projectors \(P_{m\nu}^{\sigma}(\mathbf{k})\) connect the Bloch space \(\mathcal{B}\) to \(\mathcal{C}\). They are obtained from DFT codes or Wannier90, and are defined by

\[P_{(a, m_a)\,\nu}^{\sigma}(\mathbf{k}) \equiv e^{-i \mathbf{k} \cdot R_a}\, \langle \chi_{m_a}^{R_a\, \sigma} | \psi_{\nu}^{\sigma}(\mathbf{k}) \rangle,\]

where \(|\chi_{m_a}^{R_a\, \sigma}\rangle\) is a Wannier function localized at atom \(a\) with index \(m_a\) at position \(R_a\), and \(|\psi_{\nu}^{\sigma}(\mathbf{k})\rangle\) is the Kohn–Sham wavefunction. The relation between the Wannier and Bloch functions is

\[|\chi_{m_a}^{R_a\, \sigma}\rangle = \sum_{\mathbf{k}, \nu} e^{-i \mathbf{k} \cdot R_a} \bigl(P_{(a, m_a)\,\nu}^{\sigma}(\mathbf{k})\bigr)^{*} |\psi_{\nu}^{\sigma}(\mathbf{k})\rangle.\]

Properties.

  • Basis change in \(\mathcal{C}\) space. Under a unitary transformation \(U\) the projector transforms as

    (1)\[P_{m\nu}^{\prime\, \sigma}(\mathbf{k}) = U^{\dagger}_{m, m'}\, P_{m'\nu}^{\sigma}(\mathbf{k}).\]
  • Partial unitarity. In general \(P\) is not unitary because \(N_\nu^{\mathbf{k}} > M\). However, if the Wannier functions are reorthonormalized with respect to the truncated band basis, then

    (2)\[\sum_{\nu} P_{m\nu}^{\sigma}(\mathbf{k})\, P_{\nu m'}^{\dagger\, \sigma}(\mathbf{k}) = \delta_{m m'}.\]

DMFT equations

The Green’s function in the Bloch space is

(3)\[\bigl[G_{\mathcal{B}}^{\sigma}\bigr]^{-1}_{\nu\nu'}(\mathbf{k}, \omega) = \bigl(\omega + \mu - \varepsilon_{\nu}^{\sigma}(\mathbf{k})\bigr) \delta_{\nu\nu'} - \bigl[\Sigma_{\mathcal{B}}^{\sigma}\bigr]_{\nu\nu'}(\mathbf{k}, \omega),\]

where \(\Sigma_{\mathcal{B}}^{\sigma}\) is the upfolded self-energy, \(\mu\) is the chemical potential, and \(\omega\) is the frequency (real or Matsubara). Additional terms such as a magnetic field \(h\) can be added.

The upfolded self-energy \(\Sigma_{\mathcal{B}}^{\sigma}\) is obtained by upfolding the embedded self-energy from \(\mathcal{C}\):

(4)\[\bigl[\Sigma_{\mathcal{B}}^{\sigma}\bigr]_{\nu\nu'}(\mathbf{k}, \omega) = P_{\nu m}^{\dagger\, \sigma}(\mathbf{k})\, \bigl[\Sigma_{\mathcal{C}}^{\sigma}(\omega)\bigr]_{m m'}\, P_{m' \nu'}^{\sigma}(\mathbf{k}),\]
\[\Sigma_{\mathcal{C}}^{\sigma}(\omega) \equiv \Sigma_{\mathrm{embed}}^{\sigma}(\omega),\]

where \(\Sigma_{\mathrm{embed}}\) is the embedded self-energy — in simple cases just the impurity self-energy \(\Sigma_{\mathrm{imp}}\), in general built from several impurity self-energies (see below) — and \(\Sigma_{\mathrm{DC}}\) is the double-counting correction.

The local Green’s function in the correlated space \(\mathcal{C}\) is the projection of \(G_{\mathcal{B}}^{\sigma}\) onto \(\mathcal{C}\) with \(P\), summed over the Brillouin zone:

(5)\[\bigl[G_{\mathcal{C},\,\mathrm{loc}}^{\sigma}(\omega)\bigr]_{m m'} = \sum_{\mathbf{k}, \nu \nu'} P_{m\nu}^{\sigma}(\mathbf{k})\, \bigl[G_{\mathcal{B}}^{\sigma}\bigr]_{\nu\nu'}(\mathbf{k}, \omega)\, P_{\nu' m'}^{\dagger\, \sigma}(\mathbf{k}).\]

The sum over the BZ is normalized, i.e. \(\sum_{\mathbf{k}} 1 = 1\).

Projected equations in the correlated space

In general \(N_\nu > M\), often \(N_\nu \gg M\), so the self-energy in (4) is a low-rank matrix. It is therefore both possible and advantageous to perform all operations directly in \(\mathcal{C}\) rather than in \(\mathcal{B}\).

We define the projected bare (Kohn–Sham) Green’s function in \(\mathcal{C}\) as

(6)\[\bigl[G_{\mathcal{C}, 0}^{\sigma}(\mathbf{k}, \omega)\bigr]_{m m'} \equiv \sum_{\nu} P_{m\nu}^{\sigma}(\mathbf{k})\, \frac{1}{\omega + \mu - \varepsilon_{\nu}^{\sigma}(\mathbf{k})}\, P_{\nu m'}^{\dagger\, \sigma}(\mathbf{k}).\]

Using the Woodbury identity (see Derivation of the local Green’s function), (5) can be rewritten as a matrix equation in \(\mathcal{C}\):

(7)\[G_{\mathcal{C},\,\mathrm{loc}}^{\sigma}(\omega) = \sum_{\mathbf{k}} \bigl[ G_{\mathcal{C}, 0}^{\sigma}(\mathbf{k}, \omega)^{-1} - \Sigma_{\mathcal{C}}^{\sigma}(\omega) \bigr]^{-1} = \sum_{\mathbf{k}} \bigl[ 1 - G_{\mathcal{C}, 0}^{\sigma}(\mathbf{k}, \omega)\, \Sigma_{\mathcal{C}}^{\sigma}(\omega) \bigr]^{-1}\, G_{\mathcal{C}, 0}^{\sigma}(\mathbf{k}, \omega).\]

This formula is general — it holds even if \(P\) is not unitary. The inversions are performed in \(\mathcal{C}\), which is very advantageous when \(N_\nu \gg M\): the cost is \(O(N_\nu)\) for the assembly of \(G_{\mathcal{C}, 0}\) instead of \(O(N_\nu^3)\) in the original formulation (5). Note however that the inversions are done in the whole \(\mathcal{C}\) space — the block structure is dictated by \(G_{\mathcal{C}, 0}\) (via symmetries) and not by the atom structure (\(a\) index) nor by the (more refined) block structure of \(\Sigma_{\mathcal{C}}\), which is a choice of embedding. See Block structure of the correlated space for the block structure in \(\mathcal{C}\).

In the special case when \(P\) is unitary (isolated bands),

\[\bigl[G_{\mathcal{C}, 0}^{\sigma}(\mathbf{k}, \omega)^{-1}\bigr]_{m m'} = (\omega + \mu)\delta_{m m'} - \sum_{\nu} P_{m\nu}^{\sigma}(\mathbf{k})\, \varepsilon_{\nu}(\mathbf{k})\, P_{\nu m'}^{\dagger\, \sigma}(\mathbf{k}),\]

and we recover a “model” in the correlated space \(\mathcal{C}\) with a bare propagator parametrized by an effective dispersion \(\bar{\varepsilon} \equiv P \varepsilon P^{\dagger}\).

In the general (non-unitary) case the open question is the form of \(G_{\mathcal{C}, 0}^{\sigma}(\mathbf{k}, \omega)^{-1}\) and in particular how to interpolate it in \(\mathbf{k}\) — e.g. whether a low-rank decomposition in \((\omega, \mathbf{k})\) still exists. This would enable adaptive \(k\)-sums in the general case, bypassing the need to interpolate the projectors \(P\) directly. Any \(\mathbf{k}\)-dependent phase ambiguity in \(P\) is eliminated in \(G_{\mathcal{C}, 0}\).

Number of electrons

The density is defined by

(8)\[n^{\sigma}(\mathbf{k}) \equiv \frac{1}{\beta} \sum_{n} \sum_{\nu} \bigl[G_{\mathcal{B}}^{\sigma}\bigr]_{\nu\nu}(\mathbf{k}, i\omega_n)\, e^{i \omega_n 0^{+}}.\]

It can also be computed in \(\mathcal{C}\) (see Derivation of the local Green’s function). The trace of \(G_{\mathcal{B}}^{\sigma}\) can be rewritten as a correction to the trace of the Kohn–Sham Green’s function \(G_{\mathrm{KS}}^{\sigma}\):

(9)\[\mathrm{Tr}_{\nu}\, G_{\mathcal{B}}^{\sigma}(\mathbf{k}, i\omega_n) = \mathrm{Tr}_{\nu}\, G_{\mathrm{KS}}^{\sigma}(\mathbf{k}, i\omega_n) - \mathrm{Tr}\Bigl( \Sigma_{\mathcal{C}}^{\sigma}(i\omega_n)\, \bigl[1 - G_{\mathcal{C}, 0}(\mathbf{k}, i\omega_n)\, \Sigma_{\mathcal{C}}^{\sigma}(i\omega_n)\bigr]^{-1}\, \partial_{\mu} G_{\mathcal{C}, 0}(\mathbf{k}, i\omega_n) \Bigr),\]

where the second trace is taken in \(\mathcal{C}\) and

(10)\[G_{\mathrm{KS};\,\nu\nu'}^{\sigma}(\mathbf{k}, \omega) \equiv \frac{1}{\omega + \mu - \varepsilon_{\nu}^{\sigma}(\mathbf{k})} \delta_{\nu\nu'}.\]

This yields

(11)\[n^{\sigma}(\mathbf{k}) = n_{\mathrm{KS}}^{\sigma}(\mathbf{k}) - \frac{1}{\beta} \sum_{n} e^{i \omega_n 0^{+}} \mathrm{Tr}\Bigl( \Sigma_{\mathcal{C}}^{\sigma}(i\omega_n)\, \bigl[1 - G_{\mathcal{C}, 0}(\mathbf{k}, i\omega_n)\, \Sigma_{\mathcal{C}}^{\sigma}(i\omega_n)\bigr]^{-1}\, \partial_{\mu} G_{\mathcal{C}, 0}(\mathbf{k}, i\omega_n) \Bigr),\]

with the bare Kohn–Sham density

\[n_{\mathrm{KS}}^{\sigma}(\mathbf{k}) \equiv \sum_{\nu} n_{F}\bigl(\varepsilon_{\nu}^{\sigma}(\mathbf{k}) - \mu\bigr),\]

where \(n_F\) is the Fermi function.

Remarks:

  • This computation is performed many times while adjusting \(\mu\) in the DMFT loop, so it is important to optimize.

  • The correction term is a difference of Green’s functions (\(G_{\mathcal{B}} - G_{\mathrm{KS}}\)); it can therefore be evaluated on the frequency DLR mesh, transformed to imaginary time, and its density read off at \(\tau = 0^{-}\).

  • As before, once \(G_{\mathcal{C}, 0}\) is computed, the whole calculation lives in \(\mathcal{C}\).

  • In general \(\sum_{\mathbf{k}} n^{\sigma}(\mathbf{k}) \neq \mathrm{Tr}\, G_{\mathrm{loc}}\) unless \(P\) is unitary (\(P^{\dagger} P = 1\)), as follows from (5) or (9).

Block structure of the correlated space

Definitions

The projected bare Green’s function \(G_{\mathcal{C}, 0}^{\sigma}\) and the self-energy \(\Sigma_{\mathcal{C}}^{\sigma}\) carry a block structure in \(\mathcal{C}\). The block structure of \(G_{\mathcal{C}, 0}\) (if any) is given by symmetry (irreps); we do not consider it yet at this stage. The block structure of \(\Sigma_{\mathcal{C}}^{\sigma}\) reflects a choice of embedding: the self-energy can have blocks corresponding to atoms, larger blocks corresponding to clusters, or smaller blocks when each atom’s orbitals are decomposed by symmetry.

\(\mathcal{C}\) can be decomposed in many different ways: its composite index \(m\) admits various subdivisions \(m = (\gamma, m_{\gamma})\) with \(\sum_{\gamma} \max(m_{\gamma}) = M\). The block decomposition associated with the self-energy is called the embedded decomposition and denoted \(m = (\alpha, m_{\alpha})\). Examples:

  • Atomic decomposition: \(m = (a, m_a)\), with \(a\) labeling atoms and \(m_a\) the orbital of atom \(a\).

  • Embedded decomposition for single-site DMFT with symmetry: each atom is decomposed into smaller blocks given by its irreps.

  • Embedded decomposition for cluster DMFT: several atoms in the unit cell are grouped into a cluster.

Clusters spanning atoms in the unit cell amount to choosing a different decomposition of \(\mathcal{C}\). For clusters spanning atoms in different unit cells, the one-body problem is transformed into a superlattice and a proper decomposition in the supercell is used.

Basis preparation

The strategy is to decompose \(\mathcal{C}\) using a basis adapted to embedding. Each block of the embedded self-energy is then mapped to the corresponding impurity-model self-energy (see Embedding).

The projectors come from the DFT code or Wannier90 in some global coordinate system of the crystal. Two basis transformations are required before performing the embedding:

  1. A coordinate-system rotation \(R^{a}_{m_a, m_a'}\) from the global coordinate system into the local coordinate system of atom (site) \(a\). This rotation ensures that equivalent atoms have the same self-energy in the new basis and can therefore be solved by the same impurity model.

  2. Optionally, a second rotation \(U\) that infers the irreps from the local Hamiltonian. At this stage the proper irrep information is not retrieved from the electronic-structure code, so we examine the local non-interacting Hamiltonian

    \[[H_{\mathrm{loc}}^{0}]_{m_a m_a'}^{a, \sigma} \equiv \sum_{\mathbf{k}} P_{(a, m_a)\,\nu}^{\sigma}(\mathbf{k})\, \varepsilon_{\nu\nu'}^{\sigma}(\mathbf{k})\, \bigl[P_{(a', m_a')\,\nu'}^{\sigma}(\mathbf{k})\bigr]^{\dagger}.\]

    Its block structure is inferred up to a user-defined threshold by finding a permutation of the orbitals \(m_a\) that renders \(H_{\mathrm{loc}}^{0}\) block-diagonal. Optionally, these smaller blocks of the local non-interacting Hamiltonian can be diagonalized (to reduce the off-diagonal elements of the impurity-model hybridization functions \(\Delta_{m m'}^{\sigma}\)).

The Wannier basis is therefore transformed as in (1):

\[P_{m\nu}^{\sigma}(\mathbf{k}) \leftarrow (R U)^{\dagger}_{m, m'}\, P_{m'\nu}^{\sigma}(\mathbf{k}).\]

See Derivation of the fused projector for the full derivation.

Note

In previous codes, all rotations were performed during the embedding. Here we instead prepare the basis up front to absorb them, which makes the embedding itself much simpler — effectively, we work in a “local coordinate” basis in \(\mathcal{C}\).

Embedding

The embedded self-energy is constructed from \(n_{\mathrm{imp}}\) impurity-model self-energies. We denote by \([\Sigma_{\mathrm{imp}}]^{n_{\mathrm{imp}}, \tau}\) the self-energy of impurity model \(n_{\mathrm{imp}}\) with block index \(\tau\). The embedding is

(12)\[[\Sigma_{\mathrm{embed}}]^{\sigma}_{(\alpha, m_{\alpha}), (\alpha, m_{\alpha}')} = [\Sigma_{\mathrm{imp}}]^{n_{\mathrm{imp}}(\alpha),\, \tau(\sigma)}_{ (\gamma(\alpha), m_{\alpha}),\, (\gamma(\alpha), m_{\alpha}')}.\]

In words, the self-energy of block \((\alpha, \sigma)\) is taken from impurity self-energy \(n_{\mathrm{imp}}(\alpha)\) in block \((\gamma(\alpha), \tau(\sigma))\). This requires that the embedding blocks \(\alpha\) and the impurity blocks \(\gamma\) have the same dimensions. The embedding is therefore fully characterized by a function

(13)\[\psi : (\alpha, \sigma) \;\longrightarrow\; (n_{\mathrm{imp}}, \gamma, \tau).\]

This covers, in particular:

  • Equivalent atoms — use the same impurity model (same \(n_{\mathrm{imp}}\)) for different blocks \(\alpha\).

  • Antiferromagnetism — reverse the spin for some atoms, \(\tau(\sigma) = 1 - \sigma\).

  • Splitting impurity models — depending on the block structure, the impurity model connected to atom \(a\) can be split and solved with different impurity solvers, with self-energies mapped back to atom \(a\). A trivial solver can also be used to obtain a zero self-energy (“drop”).

  • Cluster DMFT — regroup a subset of atoms \(a\) into a larger “super atom” treated as a cluster DMFT problem.

  • Arbitrary magnetic orders (spirals, …).

All rotations (e.g. local-to-global coordinate systems) have been absorbed into the projector \(P\) during basis preparation, which is what makes the embedding itself simple: first prepare the basis adapted to the embedding, then perform the embedding.

Appendices

Derivation of the local Green’s function

We use the Woodbury formula: if \(D\) is an invertible \(n \times n\) matrix (here diagonal, but not necessarily so), and \(U\), \(V\) are \(n \times p\) and \(p \times n\) matrices respectively (\(p < n\)), then

\[(D - U V)^{-1} = D^{-1} + D^{-1} U \bigl(1 - V D^{-1} U\bigr)^{-1} V D^{-1}.\]

The inversion is now performed on a \(p \times p\) matrix.

Consider the upfolded self-energy (3). Working at fixed \(\omega, \mathbf{k}, \sigma\) (and dropping these labels below), denote \(\Sigma = \Sigma_{\mathcal{C}}^{\sigma}\) and define

\[D_{\nu\nu'} \equiv (\omega + \mu - \varepsilon_{\nu}^{\sigma}(\mathbf{k})) \delta_{\nu\nu'}.\]

Writing the lattice Green’s function as \(G_{\mathrm{latt}}\) for clarity,

\[\begin{split}G_{\mathrm{latt}} &= (D - P^{\dagger} \Sigma P)^{-1}, \\ G_{\mathrm{loc}} &= P\, G_{\mathrm{latt}}\, P^{\dagger}, \\ G_{\mathcal{C}, 0} &= P\, D^{-1}\, P^{\dagger}.\end{split}\]

With \(U = P^{\dagger}\), \(V = \Sigma P\) and \(Y = G_{\mathcal{C}, 0}\), the Woodbury identity gives

(14)\[G_{\mathrm{latt}} = D^{-1} + D^{-1} P^{\dagger} (1 - \Sigma Y)^{-1} \Sigma P\, D^{-1}.\]

Hence

\[\begin{split}G_{\mathrm{loc}} &= P\, G_{\mathrm{latt}}\, P^{\dagger}\\ &= Y + Y (1 - \Sigma Y)^{-1} \Sigma Y\\ &= Y (1 - \Sigma Y)^{-1}\\ &= (Y^{-1} - \Sigma)^{-1},\end{split}\]

which is (7).

Derivation of the projected density

Rewrite (8) as

\[n = \mathrm{Tr}\, G_{\mathrm{latt}},\]

where the trace runs over the band index \(\nu\) and Matsubara frequencies. Taking the trace of (14),

\[\begin{split}n &= \mathrm{Tr}\, G_{\mathrm{latt}}\\ &= \mathrm{Tr}\, D^{-1} + \mathrm{Tr}\bigl(D^{-1} P^{\dagger} (1 - \Sigma Y)^{-1} \Sigma P\, D^{-1}\bigr)\\ &= \mathrm{Tr}\, D^{-1} + \mathrm{Tr}\bigl((1 - \Sigma Y)^{-1} \Sigma P\, D^{-2} P^{\dagger}\bigr)\\ &= \mathrm{Tr}\, D^{-1} + \mathrm{Tr}\bigl((1 - \Sigma Y)^{-1} \Sigma\, (-\partial_{\mu} Y)\bigr)\\ &= \mathrm{Tr}\, D^{-1} + \mathrm{Tr}\bigl(\Sigma\, (1 - Y \Sigma)^{-1}\, (-\partial_{\mu} Y)\bigr),\end{split}\]

which is (11).

Integration in the irreducible Brillouin zone wedge

For efficiency, the one-body calculation can be performed on the irreducible Brillouin zone (IBZ). To recover observables like the local Green’s function defined in (5), the result must be symmetrized after summing only on the IBZ. For any observable \(\mathcal{O}\), the unsymmetrized quantity is

\[[\mathcal{O}^{\sigma}_{m m'}]_{\mathrm{unsymm}} = \sum_{\mathbf{k} \in \mathrm{IBZ}} \sum_{\nu\nu'} P_{m, \nu}^{\sigma}(\mathbf{k})\, O_{\nu\nu'}^{\sigma}(\mathbf{k})\, \bigl[P_{m'\nu'}^{\sigma}(\mathbf{k})\bigr]^{\dagger}.\]

Symmetrization applies all operations \(\mathcal{S}\) of the crystallographic space group \(\mathcal{G}\):

\[[\mathcal{O}^{\sigma}_{(a m_a),\, (a' m_a')}]_{\mathrm{symm}}^{\mathcal{G}} = \sum_{\mathcal{S} \in \mathcal{G}} \sum_{n_a n_a'} \mathcal{D}_{m_a n_a}(\mathcal{S})\, \bigl[(\mathcal{O}^{\mathcal{S}^{-1} a,\, \mathcal{S}^{-1} \sigma})_{n_a n_a'}\bigr]_{\mathrm{unsymm}}\, \mathcal{D}(\mathcal{S}^{-1})_{n_a' m_a'}.\]

Derivation of the fused projector

In what follows all indices are suppressed; quantities live in either the Wannier space (indices \(m, m'\)) or the Bloch space (indices \(\nu, \nu'\)) depending on context. Starting from the impurity self-energies \(\Sigma_{\mathrm{imp}}\), the embedded self-energy is

\[\Sigma^{\mathrm{local}}_{\mathrm{embed}} = U\, \Sigma_{\mathrm{imp}}\, U^{\dagger}.\]

The OBE projectors are defined in the global coordinate system of the crystal, so \(\Sigma_{\mathrm{embed}}\) must be rotated:

\[\Sigma^{\mathrm{global}}_{\mathrm{embed}} = R\, \Sigma^{\mathrm{local}}_{\mathrm{embed}}\, R^{\dagger}.\]

The embedded self-energy is then upfolded,

\[\Sigma_{\mathrm{lattice}} = P^{\dagger}\, \Sigma^{\mathrm{global}}_{\mathrm{embed}}\, P,\]

the local Green’s function is obtained from the lattice Green’s function,

\[G_{\mathrm{loc}}^{\mathrm{global}} = \sum_{k} P\, G_{\mathrm{latt}}\, P^{\dagger},\]

rotated to the local frame,

\[G_{\mathrm{loc}}^{\mathrm{local}} = R^{\dagger}\, G^{\mathrm{global}}_{\mathrm{loc}}\, R,\]

and finally rotated to the impurity-solver basis,

\[G_{\mathrm{loc}}^{\mathrm{solver}} = U^{\dagger}\, G^{\mathrm{local}}_{\mathrm{loc}}\, U.\]

All of these operations can be fused into a single projector

\[\tilde{P} \equiv U^{\dagger} R^{\dagger} P.\]

For problems requiring symmetrization, the \(Q\) matrices must likewise be rotated by \(R U\).