Disorder with kwant.digest.uniform

Hi everyone, I wish to know if the parameter "salt" on the function kwant.digest.uniform have a physical meaning. Varying it, it seems to me that when I use it on a system, the lower the value of salt is, the local disorder implemented becomes more smooth, but I didn't found any information suggesting it at the documentation. Is that correct? Thanks in advance! -- Antônio Lucas Rigotti Manesco PhD fellow - University of São Paulo, Brazil

Hi Antônio,
I wish to know if the parameter "salt" on the function kwant.digest.uniform have a physical meaningVarying it, it seems to me that when I use it on a system, the lower the value of salt is, the local disorder implemented becomes more smooth, but I didn't found any information suggesting it at the documentation. Is that correct?
No, the 'salt' parameter does not have any physical meaning; it's like the 'seed' that you typically specify to a random number generator. Also, the salt you provide is a *string*, so I'm not sure what you mean when you say that you "lower the value" of the salt. If you see any "trend" between realizations when changing the value of the salt, this is pure coincidence. Happy Kwanting, Joe

Antonio Lucas Rigotti Manesco wrote:
I wish to know if the parameter "salt" on the function kwant.digest.uniform have a physical meaning. Varying it, it seems to me that when I use it on a system, the lower the value of salt is, the local disorder implemented becomes more smooth, but I didn't found any information suggesting it at the documentation. Is that correct?
The description of kwant.digest.uniform() is indeed a bit technical. It does the following: it takes both of its arguments ("input" and "salt"), combines them into a stream of bytes, and applies the MD5 hash algorithm [1]. The result of the hashing is then taken and turned into a floating point number between 0 and 1, which is returned. This makes an excellent (we tested it thoroughly) "random number generator", only that the "random" result depends solely on the input, and not on the order of execution. This makes it very useful for adding (pseudo) randomness to Kwant builders. In practice, the "salt" parameter corresponds to the "seed" of an usual random number generator. Using a different "salt" gives a different disorder realization but with the same statistics. If you are sure to observe any statistically significant effect of "salt" (I would be very surprised) please do post a demonstration on this list! [1] https://en.wikipedia.org/wiki/MD5

Thank you for all you answers. Let me tell a bit more about the behavior I saw. The Hamiltonian of the systems (a chain) have one random parameter proportional to 1/(1-uniform). So, in order to obtain different random configurations, I've tried to "vary" "salt" using entries between 0 and 200. The resulting evolution of the spectrum as function of increasing "salt" was surprisingly monotonic, which was unexpected to me. I will try a simplified system to test if this is just a coincidence and send the result soon. 2017-12-07 8:03 GMT-02:00 Christoph Groth <christoph.groth@cea.fr>:
Antonio Lucas Rigotti Manesco wrote:
I wish to know if the parameter "salt" on the function kwant.digest.uniform have a physical meaning. Varying it, it seems to me that when I use it on a system, the lower the value of salt is, the local disorder implemented becomes more smooth, but I didn't found any information suggesting it at the documentation. Is that correct?
The description of kwant.digest.uniform() is indeed a bit technical. It does the following: it takes both of its arguments ("input" and "salt"), combines them into a stream of bytes, and applies the MD5 hash algorithm [1]. The result of the hashing is then taken and turned into a floating point number between 0 and 1, which is returned.
This makes an excellent (we tested it thoroughly) "random number generator", only that the "random" result depends solely on the input, and not on the order of execution. This makes it very useful for adding (pseudo) randomness to Kwant builders.
In practice, the "salt" parameter corresponds to the "seed" of an usual random number generator. Using a different "salt" gives a different disorder realization but with the same statistics.
If you are sure to observe any statistically significant effect of "salt" (I would be very surprised) please do post a demonstration on this list!
-- Antônio Lucas Rigotti Manesco PhD fellow - University of São Paulo, Brazil
participants (3)
-
Antonio Lucas Rigotti Manesco
-
Christoph Groth
-
Joseph Weston