FockMap

Mixed Bosonic and Fermionic Systems

Up to now, we treated fermionic and bosonic operators separately. Realistic models often require both in the same Hamiltonian: electrons (fermions) coupled to phonons or photons (bosons), polaritonic models, and vibronic structure problems.

This chapter explains the mixed-statistics structure, the canonical ordering rule, and how it maps to FockMap’s sector-aware API.

Product Structure of the Hilbert Space

For independent fermionic and bosonic sectors:

\[\mathcal{H} = \mathcal{H}_{\mathrm{f}} \otimes \mathcal{H}_{\mathrm{b}}.\]

Operators that act on different factors commute:

\[(A_{\mathrm{f}} \otimes I_{\mathrm{b}})(I_{\mathrm{f}} \otimes B_{\mathrm{b}}) = (I_{\mathrm{f}} \otimes B_{\mathrm{b}})(A_{\mathrm{f}} \otimes I_{\mathrm{b}}).\]

In ladder-operator notation, this gives the cross-sector commutation identities:

\[[a_i, b_j] = [a_i, b_j^\dagger] = [a_i^\dagger, b_j] = [a_i^\dagger, b_j^\dagger] = 0.\]

So a fermion can be swapped past a boson without a minus sign.

Canonical Mixed Ordering

A practical canonical form for mixed products is:

  1. move all fermionic operators to the left,
  2. move all bosonic operators to the right,
  3. normal-order each block with its own algebra.

Inside each block:

This gives deterministic term shape and cleanly separates sign-sensitive (fermionic) and sign-free (cross-sector) swaps.

Mixed Hamiltonian Form

A common mixed Hamiltonian decomposition is:

\[H = H_{\mathrm{f}} + H_{\mathrm{b}} + H_{\mathrm{fb}},\]

with examples:

\[H_{\mathrm{f}} = \sum_{pq} h_{pq} a_p^\dagger a_q, \qquad H_{\mathrm{b}} = \sum_k \omega_k b_k^\dagger b_k,\] \[H_{\mathrm{fb}} = \sum_{p q k} g_{pqk} a_p^\dagger a_q (b_k + b_k^\dagger).\]

In implementation, this is easiest if every operator carries explicit sector metadata.

Sector-Aware API in FockMap

FockMap provides a typed mixed representation:

Helpers:

Canonical mixed normal ordering:

let canonical = constructMixedNormalOrdered mixedExpr

Utility helpers:

Encoding Strategy for Mixed Workflows

In many workflows, only the fermionic sector is immediately encoded to qubits.

Typical pipeline:

  1. canonicalize mixed expression,
  2. extract fermionic units,
  3. encode fermions with JW/BK/tree mapping,
  4. keep bosons symbolic for truncation-specific handling.

See runnable examples:

Practical Modeling Notes


Previous: Bosonic Operators — CCR and truncation basics

Next: Mixed Systems (Cookbook) — hybrid workflows, decision rules, and runnable scripts