feat(PhyslibAlpha): QuantumThermodynamics — thermal state, Landauer bound, area API-map#1409
Conversation
MState.thermalBetaReal / Temperature-facing MState.thermal in the MState constructor-family idiom, partition function, positivity/trace-one/full-rank lemma kit, beta-Temperature bridge, and the Gibbs relative-entropy balance. Co-authored-by: Claude Fable 5 <no-reply+claude-fable-5@anthropic.com>
Minimal LandauerProcess, initial/final marginals, entropy balance, Landauer identity, and the Landauer bound, built on QuantumInfo's entropy machinery. Co-authored-by: Claude Fable 5 <no-reply+claude-fable-5@anthropic.com>
API-map.yaml in the exemplar format: done entries for the seeded thermal state and Landauer results; open requirements for total correlation, thermal operations, thermo-majorization, and quantum free energy. Co-authored-by: Claude Fable 5 <no-reply+claude-fable-5@anthropic.com>
|
Thank you for this PR, which will now be reviewed. If submitting to ./Physlib or ./QuantumInfo, please see our review guidelines if you are not familiar with the process. You should expect a back and forth with a reviewer before your PR is merged. See also that link for how to add appropriate labels to your PR. The PR will also go through a number of automated checks. You can learn more about these here, including how to run them locally. If you are submitting to ./PhyslibAlpha there will be a lighter review process, though your PR must still pass the automated checks. If you want to bring attention to this PR, please write a message on this thread of the Lean Zulip. Important: If a reviewer adds an |
jstoobysmith
left a comment
There was a problem hiding this comment.
Hey, I've put some comments here. Normally for ./PhyslibAlpha we don't do a detailed review, but have done so since you asked for comments.
|
|
||
| /-- A finite-dimensional Landauer process consisting of a system state, a thermal reservoir, and | ||
| a joint unitary evolution. -/ | ||
| structure LandauerProcess (S R : Type*) [Fintype S] [DecidableEq S] |
There was a problem hiding this comment.
This generally looks quite good. Although it is not my area so I can't speak about specific details.
One thing that I think would improve this PR is a better description in the documentation about what the Landauer process is, and why you need this input data for it.
| - Reeb and Wolf, An improved Landauer principle with finite-size corrections. | ||
| - Esposito, Lindenberg, and Van den Broeck, New Journal of Physics 12, 013013 (2010). | ||
| - Horodecki and Oppenheim, Nature Communications 4, 2059 (2013). | ||
| - Brandão, Horodecki, Ng, Oppenheim, and Wehner, PNAS 112, 3275 (2015). |
There was a problem hiding this comment.
Have these references been checked or AI generated?
| namespace HermitianMat | ||
|
|
||
| /-- The quantum partition function `Z(β) = tr(exp(-βH))` at real inverse temperature `β`. -/ | ||
| noncomputable def partitionFunctionBetaReal (H : HermitianMat d ℂ) (β : ℝ) : ℝ := |
There was a problem hiding this comment.
How does e.g. this relate to other partition functions we have in Physlib?
|
That said, I've someone who has more experience in this area then me might be able to say something more useful. |
Seeds a
PhyslibAlpha/QuantumThermodynamics/area: the quantum thermal (Gibbs) state as anMStateconstructor-family member, the Gibbs relative-entropy balance, a minimal Landauer erasure setup with the Landauer bound, and the area'sAPI-map.yaml(exemplar format) recording done seeds and the open requirements (total correlation, thermal operations, thermo-majorization, quantum free energy).Draft on purpose: opened early for direction feedback on the area layout and the
MState.thermalnaming before polishing toward ready-for-review.Added declarations
PhyslibAlpha/QuantumThermodynamics/ThermalState.leanHermitianMat.partitionFunctionBetaReal,partitionFunctionBetaReal_pos—Z(β) = Tr exp(-βH)and its positivity.MState.thermalBetaReal,MState.thermal— the Gibbs stateexp(-βH)/Z(β); real-βprimitive (functional-calculus-friendly, negative temperatures reachable) with theTemperature-facing entry matching the classicalCanonicalEnsembleidiom.thermalBetaReal_M,thermalBetaReal_trace,thermalBetaReal_nonSingular,thermalBetaReal_posDef,thermal_eq_thermalBetaReal(simp normal form),thermalBetaReal_log.gibbsRelativeEntropyBalanceBetaReal,gibbsRelativeEntropyBalance—β(⟨H⟩_ρ − ⟨H⟩_γ) = S(γ) − S(ρ) + D(ρ‖γ)in both parametrizations.PhyslibAlpha/QuantumThermodynamics/Landauer.leanLandauerProcess— system + finite reservoir atTemperature, coupled by a global unitary.initialReservoir,initialJoint,finalJoint,finalSystem,finalReservoir,systemEntropyDecrease,reservoirEntropyIncrease,reservoirHeat,reservoirRelativeEntropy.entropyBalance— entropy production as mutual information plus reservoir relative entropy.landauerIdentity,landauerBound— the exact finite-β Landauer identity (Reeb–Wolf style) and the boundβ·Q ≥ ΔS.PhyslibAlpha/QuantumThermodynamics/API-map.yaml— area map: overview, ParentAPIs (QuantumInfo entropies/CFC, classical CanonicalEnsemble, Temperature), references, done + open requirements.PhyslibAlpha.lean— registration of the two new modules.Reviewer map
ThermalState.leantop-to-bottom (partition function → state → kit → balance).Landauer.lean(structure → bookkeeping defs → the three lemmas).API-map.yaml, then the registration line.Notes for reviewers
QuantumInfo/orPhyslib/covers a quantum Gibbs state, quantum partition function, or these results (searched by meaning; closest neighbor is a private normalized exponential inside the Stein's-lemma proof).qRelativeEntexpansion, entropy lemmas,HermitianMatCFC positivity/log API) — nothing is re-proved.runPhyslibAlphaLinters,alphaFileImports.py,noAlphaImports.py, and the style linters all pass; nosorryAxin the new modules.🤖 Generated with Claude Code