Skip to content

Support complex-Hermitian Green's functions in the multi-orbital solver - #1

Merged
yomichi merged 4 commits into
mainfrom
complex-hermitian-support
Aug 6, 2026
Merged

Support complex-Hermitian Green's functions in the multi-orbital solver#1
yomichi merged 4 commits into
mainfrom
complex-hermitian-support

Conversation

@k-yoshimi

Copy link
Copy Markdown

Summary

Allows complex off-diagonal G_ab(τ) / spectra (e.g. from spin–orbit coupling), so the semi-positive-definiteness of the full complex-Hermitian spectral matrix is enforced during continuation instead of dropping the imaginary part.

Changes

  • predict_Gtau (multi-orbital solver): keep the dtype of rho_l so the complex off-diagonal G_ab(τ) is no longer truncated to its real part.
  • write_Gtau / write_rhol / write_rho: also write the imaginary part (0 for real data; readers of the leading columns are unaffected).

Dependency

Requires admmsolver with complex-Hermitian L1 / SPD support (SpM-lab/admmsolver#1).

Validation

An artificial two-orbital spectrum rotated by a complex unitary U(θ, φ) (φ ≠ 0) is continued end-to-end: the complex off-diagonal and the Hermitian positive-semidefiniteness are recovered (previously the imaginary part was lost). Existing tests pass.

🤖 Generated with Claude Code

https://claude.ai/code/session_01TMeDqXABvd876kMmVY7K34

Kazuyoshi Yoshimi and others added 4 commits July 18, 2026 14:37
Allow complex off-diagonal G_ab(tau) / spectra (e.g. from spin-orbit
coupling), so the semi-positive-definiteness of the full complex-Hermitian
spectral matrix is enforced during continuation rather than dropping the
imaginary part.

- predict_Gtau: keep the dtype of rho_l so the complex off-diagonal
  G_ab(tau) is no longer truncated to its real part.
- write_Gtau / write_rhol / write_rho: also write the imaginary part
  (0 for real data, backward compatible for readers of the first columns).

Requires admmsolver with complex-Hermitian L1 / SPD support.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TMeDqXABvd876kMmVY7K34
Allow optional column_imag when loading G(tau), and write Re/Im for
single- and multi-orbital spectrum/Gtau outputs so complex data is
preserved end-to-end.

Co-authored-by: Cursor <cursoragent@cursor.com>
@yomichi
yomichi merged commit 06bf4c6 into main Aug 6, 2026
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.

2 participants