Wiki
Download
Manual
Eggs
API
Tests
Bugs
show
edit
history
You can edit this page using
wiki syntax
for markup.
Article contents:
== Outdated egg! This is an egg for CHICKEN 4, the unsupported old release. You're almost certainly looking for [[/eggref/5/landauer|the CHICKEN 5 version of this egg]], if it exists. If it does not exist, there may be equivalent functionality provided by another egg; have a look at the [[https://wiki.call-cc.org/chicken-projects/egg-index-5.html|egg index]]. Otherwise, please consider porting this egg to the current version of CHICKEN. == 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]] * [[#room-temperature]] ==== {{k}} <constant>k → 1.38e-23</constant> The Boltzmann constant <enscript highlight="scheme">(define k 1.38e-23) </enscript> ==== {{room-temperature}} <parameter>room-temperature → 298.15</parameter> Room temperature in K <enscript highlight="scheme">(define room-temperature (make-parameter 298.15)) </enscript> ==== {{heat}} <procedure>(heat operations) → number</procedure> 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 <enscript highlight="scheme">(define (heat operations) (* operations k (room-temperature) (log 2))) </enscript> === About this egg ==== Author [[/users/klutometis|Peter Danenberg]] ==== Repository [[https://github.com/klutometis/landauer]] ==== License BSD ==== Dependencies * [[hahn]] ==== Versions ; [[https://github.com/klutometis/landauer/releases/tag/0.0|0.0]] : Initial commit ; [[https://github.com/klutometis/landauer/releases/tag/0.0.1|0.0.1]] : Also export k and room-temperature. ; [[https://github.com/klutometis/landauer/releases/tag/0.0.2|0.0.2]] : Use hahn. ==== Colophon Documented by [[/egg/hahn|hahn]].
Description of your changes:
I would like to authenticate
Authentication
Username:
Password:
Spam control
What do you get when you subtract 24 from 10?