Skip to content

Q space tdscha#18

Open
mesonepigreco wants to merge 5 commits intomainfrom
q-space-tdscha
Open

Q space tdscha#18
mesonepigreco wants to merge 5 commits intomainfrom
q-space-tdscha

Conversation

@mesonepigreco
Copy link
Collaborator

Added a new TD-SCHA algorithm completely in q space.
This algorithm is N^2 faster than the original algorithm for the TDSCHA.

For now, we miss the Raman implementation and the 2Phonon implementation.
For the rest it seems to work correctly.

mesonepigreco and others added 5 commits March 18, 2026 09:09
Implement the Lanczos algorithm in q-space (Bloch basis) where momentum
conservation q1+q2=q_pert makes the 2-phonon sector block-diagonal,
reducing psi vector size and anharmonic computation cost by ~N_cell.

New files:
- Modules/QSpaceLanczos.py: Python class inheriting from DL.Lanczos with
  Hermitian Lanczos iteration, Bloch-transformed ensemble, q-pair mapping,
  and correct PG symmetry construction (Cartesian rotations from spglib
  fractional coords, manual atom permutation with lattice reduction)
- Modules/tdscha_qspace.jl: Julia extension for q-space ensemble averaging
  with separate D3/D4 functions and acoustic mode masking
- tests/test_qspace/test_qspace_lanczos.py: Test comparing q-space vs
  real-space Green functions (match within 2.4e-7 relative error)

Key fixes during development:
- Convert spglib rotations from crystal to Cartesian coords via M@R@M^{-1}
- Replace CC.symmetries.GetIRT (gives wrong atom permutations for some
  symmetries) with manual modular lattice reduction
- Include translation in Bloch phase: exp(-2πi q'·L) where L=Rτ+t-τ'
- Mask acoustic modes (ω<1e-6) in f_Y, f_psi, and chi factors

Also includes the translational projection optimization in DynamicalLanczos
(O(n^2) permutations instead of O(n^3) matmuls for gamma_only).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
New usage guide section covering the QSpaceLanczos workflow (perturbation
setup, mode looping, when to prefer q-space over real-space) and a new
API reference page with auto-generated docs via mkdocstrings.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Computes the anharmonic phonon spectral function at the Brillouin zone
boundary (X point) for SnTe using the Q-space Lanczos algorithm with
the pre-existing test ensemble.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant