# Python Problem in a simulation with Python

#### Berti

Summary
I wanted to simulate the Ising model and it was okay until I wanted to get the fluctuations <M^2>.
In fact, first, I wanted to obtain the magnetization M :
$$M = \sum_i \sigma ^ z_i$$
and it worked, I got indeed the magnetization M. However I don't succeed unfortunately to obtain the fluctuations <M^2>.
I wanted to simulate the Ising model and it was okay until I wanted to get the fluctuations <M^2>.
In fact, first, I wanted to obtain the magnetization M :

$$M = \sum_i \sigma ^ z_i$$​

and it worked, I got indeed the magnetization M by writing these lines :

sigmaxop = []
sites = []
for i in range (L):
# \ sum_i sigma ^ z (i)
sigmaxop.append ((sigmaz) .ToList ())
sites.append ()

with L being the length of the lattice (ie the number of spins).

However I would like now to obtain the average fluctuations :

$$\langle M^2\rangle = \sum_ {i, j} \langle\sigma_i \sigma_j\rangle$$​

To obtain this average fluctuation, I try to modify the part of the code above (that allowed me to obtain M) to get the fluctuations <M^2> but I didn't succeed : I don't obtain <M^2>.

A priori for every lattice
$$m_j=\sum_k \sigma_k$$
and the average of magnetization is
$$<M>=\sum_j m_j$$
So
$$<M^2>=\sum_j m^2_j$$

Unfortunately after trying again I am still stuck with my code. It doesn't work.

Could someone help me to modify/rewrite this part of code to obtain the fluctuations <M^2>, please?

Related Programming and Computer Science News on Phys.org

#### phyzguy

You need to post your actual code so we can see it. Enclose it with Code tags (the </> icon above, then choose python as the language - like below).

Python:
import numpy as np

#### Berti

You need to post your actual code so we can see it. Enclose it with Code tags (the </> icon above, then choose python as the language - like below).

Python:
import numpy as np
Sorry. The part of the code for the magnetization M is :

Code:
sigmaxop = []
sites = []
for i in range (L):
# \ sum_i sigma ^ z (i)
sigmaxop.append ((sigmaz) .ToList ())
sites.append ()
And now I'd like to get the fluctuations <M^2> . So I tried to modify this part of the code to get <M^2> but I am unsuccessful ...

#### phyzguy

Sorry. The part of the code for the magnetization M is :

Code:
sigmaxop = []
sites = []
for i in range (L):
# \ sum_i sigma ^ z (i)
sigmaxop.append ((sigmaz) .ToList ())
sites.append ()
And now I'd like to get the fluctuations <M^2> . So I tried to modify this part of the code to get <M^2> but I am unsuccessful ...
How can we possibly comment without seeing the part of the code that isn't working?

"Problem in a simulation with Python"

### Physics Forums Values

We Value Quality
• Topics based on mainstream science
• Proper English grammar and spelling
We Value Civility
• Positive and compassionate attitudes
• Patience while debating
We Value Productivity
• Disciplined to remain on-topic
• Recognition of own weaknesses
• Solo and co-op problem solving