== landauer Use the Landauer limit to calculate my program's entropy. [[toc:]] === Landauer's principle [[http://en.wikipedia.org/wiki/Landauer%27s_principle|Landauer's principle]] states that every irreversible operation produces entropy; erasing one bit, for instance, generates at least ''kT'' ln 2 J of heat. We can use Landauer's principle to calculate a lower-bound on the energy released by our program, given some number of bit-operations. === Documentation ==== {{landauer}} '''[module]''' {{landauer}} The Landauer module contains contains some constants, parameters and procedures for calculating a lower-bound on the heat-dissipation of programs. * [[#heat]] ==== {{k}} k → 1.38e-23 The Boltzmann constant (define k 1.38e-23) ==== {{room-temperature}} room-temperature → 298.15 Room temperature in K (define room-temperature (make-parameter 298.15)) ==== {{heat}} (heat operations) → number Calculate a lower-bound on the heat dissipated by some number of irreversible bit-operations. Room-temperature is governed by the [[#room-temperature]] parameter. ; {{operations}} : The number of irreversible bit-operations (define (heat operations) (* operations k (room-temperature) (log 2))) === About this egg ==== Author [[/users/klutometis|Peter Danenberg]] ==== Repository [[https://github.com/klutometis/landauer]] ==== License BSD ==== Dependencies * [[cock]] ==== Versions ; [[https://github.com/klutometis/landauer/releases/tag/0.0|0.0]] : Initial commit ==== Colophon Documented by [[/egg/cock|cock]].