34
The study of quantum phase transitions in small systems and their comparison to infinitely large systems approaching the thermodynamic limit University of Kent – School of Physical Sciences Supervised by Dr. Sam Carr Figure 1 – diagram representing a general diagram of the model which this report will be evaluating. Luke Moore – [email protected], 12958887 13/02/2015

PH600 Project report

Embed Size (px)

Citation preview

Page 1: PH600 Project report

The study of quantum phase transitions in small systems and their comparison to infinitely large systems approaching the thermodynamic limit University of Kent – School of Physical Sciences Supervised by Dr. Sam Carr

Figure 1 – diagram representing a general diagram of the model which this

report will be evaluating.

Luke Moore – [email protected], 12958887 13/02/2015

Page 2: PH600 Project report

Luke Moore, lm464 University of Kent, Canterbury

1

Abstract

The model being evaluated in this report is a one dimensional model of spinless fermions, it is known

that for an infinitely large system that this model experiences a phase transition as a function of the

hopping probability, and interaction strength between the particles of the system. The question is

whether a phase transition can occur for large but not infinitely large systems, we will be looking for

indications of this behaviour from results of small system sizes. Attempting to find behaviour which

will indicate a phase transition does occur for large systems. This research found that a phase

transition is a complicated behaviour that requires a system size of larger than the maximum

capabilities of the computers at our disposal. This meant that no phase transitions could be analysed

directly from the graphs in this report. However, certain evolutionary aspects became clear as the

value of the number of sites, L, was increased revealing some interesting behaviours in these small

quantum system sizes. Some of these could not be explained and remain a mysterious phenomenon.

Acknowledgements

I would like to take this opportunity to thank all of those who have assisted me in my work over the

duration of this research project. Most notably is my Supervisor Dr. Sam Carr, whom has spent a lot

of time working with me on this project, from teaching me the basics which would allow me to

understand the model I would be working on, to interpreting the results. Dr. Sam Carr’s supervision

and guidance on this project has been invaluable and without him my work would have never

progressed as far as it has. Thank you.

Page 3: PH600 Project report

Luke Moore, lm464 University of Kent, Canterbury

2

Contents

1. Title Page

2. Abstract and Acknowledgements( page 1)

3. Contents Page (page 2)

4. Introduction and methodology(page 3 - 7)

a. Chapter 1 – Many body quantum physics

b. Chapter 2 - The model being evaluated

c. Chapter 3 – Constructing a Hamiltonian Matrix for the model

d. Chapter 4 – Why the solutions are important

5. Results and Discussion (page 8 - 18)

6. Analysis of U = 0.00 (page 19 - 20)

7. Conclusions(page 21 - 22)

8. Bibliography (page 23)

9. Appendix (page 24 - 33)

Page 4: PH600 Project report

Luke Moore, lm464 University of Kent, Canterbury

3

Introduction and Methodology

Chapter 1 – Many body quantum physics A Many body system is a system with many particles/bodies in it. The significance of systems like this

is that objects observed and used in real life are themselves composed of a large number of

particles. Therefore, from analysing these systems we can develop a greater understanding of

phenomena that we see in real life. A quantum system means that it is composed of quantum

particles, e.g. electrons, as opposed to a classical system which would be composed of physical

objects such as snooker balls for example. A primary characteristic of a quantum system is that it is a

system whose behaviour is governed entirely by quantum mechanics. Examples of quantum

mechanical behaviours are the Heisenberg uncertainty principle, and the De Broglie wavelength of

particles in the system. The Heisenberg uncertainty principle says that there is a theoretical limit on

the level of precision it is possible to achieve with regards to measuring both the momentum and

position of a particle such as an electron. The De Broglie wavelength is a property of a moving

particle which governs its likelihood of diffracting through a gap and becoming delocalised.

∆𝑥∆𝑝 ≥ℏ

2

This is the Heisenberg uncertainty principle in equation form [1]

𝜆 =ℎ

𝑝

This is the De Broglie equation, which calculates a particles de Broglie wavelength. [1]

ℏ =ℎ

2𝜋, ℎ = 6.626 × 10−34𝐽𝑠 [1]

Large quantum systems experience changes such as phase transitions, this will be a focus of this

project. A phase transition is a point at which a system undergoes a major change in properties as a

result of the altering of a particular physical parameter of the system. This parameter is almost

always temperature, and the phase transition is a change of state i.e. Liquid to gas or solid to liquid.

Phase transitions are important because they are observable in everyday life, the most commonly

known is the phase transition of water from ice to water liquid, and then to steam. Phase transitions

are able to reveal interesting properties of a material, and until the phase transition is analysed it is

unknown whether and interesting properties exist and can be utilised in other areas. A thermal

phase transition is the result of a struggle between the system attempting to maximise its entropy

and minimise the energy of its state. The phase transitions analysed in this report however will be

quantum phase transitions, a quantum phase transition is a transition which occurs at the zero of

temperature, at absolute zero. Quantum phase transitions are unique as they are the result of the

altering of a parameter other than temperature. For a quantum phase transition the struggle is

between the kinetic and potential energy of the particles, this struggle is what results in the phase

transition.

Another reason phase transitions are so important is because new phases of matter can be

discovered, and these phases need to be analysed to determine whether or not any interesting

properties can be found, and put to use in real life. This project will attempt to determine whether

or not small systems modelled by a computer can show signs of a phase transition. The answer to

this question will be interesting because it is known that for many particles that the system does

undergo a phase transition, but what is not known is how complex a system must be in order to

experience behaviour of this nature. How many particles are required? Whether we can find

evidence of a phase transition for extremely small system sizes? I will attempt to find answers to

these questions.

Page 5: PH600 Project report

Luke Moore, lm464 University of Kent, Canterbury

4

Chapter 2 – The Model being evaluated

I am going to be evaluating a model of spinless fermions, in this model each particle can only interact

with the particles immediately adjacent to it. This is because the sites are simplified models of

atoms, atoms which have electrons orbiting around them. The electron orbitals of adjacent atoms

overlap with each other, but do not reach to the next atom along the chain. This is because of the

exponential decay of the electron orbital with distance. This means that an electron will mainly

move from its current orbital to the orbital of the adjacent atom. An electron moving from its

current orbital to the orbital of the atom to the other side of the adjacent atom is much less

probable and hence will be neglected in this model. Additionally, the coulomb repulsion between

adjacent atoms decays as 1/distance, this means that the largest value is from the adjacent particle,

and all other contributions to coulomb repulsion are much smaller and are being neglected in this

model. Each particle has a certain probability of “hopping” from its current position to its

neighbouring position. This probability is given by –t. There will be an interaction strength between

two adjacent particles is given by, u. In this model each atom/site can only be in one of two

situations, either having a fermion sitting on the site or not. Only one fermion can be on a particular

site at any one time. This model is outlined in the diagram below, which shall be known as figure 1.

Figure 1 – diagram representing the model to be evaluated

This model will be varied in size and the number of particles will be set to N =L/2, this will allow us to

find evidence of phase transitions which only occur for N=L/2. The phase transitions will only occur

for N = L/2 because when N = L/2 for an even value of L then no hopping can take place as all

particles are in a fixed position with a particle to either side of its empty neighbouring sites.

Therefore if a particle was to hop, then it would now experience an interaction strength of U, this

would increase the energy of the state and would not be beneficial. For large positive interaction

strength, u, the fermions should not be next to each other as this would require a large amount of

energy and thus this arrangement would be less stable. This is because the arrangement will always

try to be in the lowest energy state possible. Whereas for small values of u, I would expect the

fermions to flow through the lattice like structure and show properties which are not unlike those of

a metal. Metals have a large number of delocalised electrons flowing within their atomic structure,

so the system described by small values of u, should approximate the metallic lattice rather well. I

will be finding out if I can see these properties for a small quantum system. These systems will be

evaluated so their phase transition can be analysed, one of the main aims of this research is to find

phase transitions for these small system sizes. One of the main aims of my research will be to

determine the primary characteristics which define a phase transition.

The method used to find the lowest energy eigenvalues of this system will be the Jacobi routine from

“Numerical Recipes in C, Second Edition, pages 467 – 469” [3]. The Jacobi routine will determine the

eigenvalues of the system for varying the value of u, this will then be plotted using gnu plot, as a way

Page 6: PH600 Project report

Luke Moore, lm464 University of Kent, Canterbury

5

of determining the lowest energy state of the system for any particular value of u. The next step in

the program will be to apply periodic boundary conditions, this means that the system becomes

circular and the site to the right of the Lth site in the chain is the first site in the chain. This allows

more interesting properties to be discovered as a fermion on the Lth site in the chain now has an

energy cost of u if there is a particle on the first site in the chain at the same time.

Chapter 3 – Constructing a Hamiltonian Matrix for the Model

For a particular number of sites and number of particles a Hamiltonian matrix can be formed to

represent the model, I will illustrate this through a simple example, which I will then extrapolate to

allow me to form a Hamiltonian for any number of particles on any number of sites.

Example; L = 3 sites and N will be fixed at 2.

The key features of the system being considered are;

That the system is one dimensional

A fermion can only move to its nearest neighbour

“Hopping” cannot take place between sites where a fermion already exists, fermions are

indistinguishable due to the Pauli exclusion principle

The probability of a fermion “hopping” to its nearest neighbour is given as –t

The interaction between neighbouring fermions is u

The number of fermions in the system are fixed at 2

The number of sites that the fermion can be on are set at 3

Periodic boundary conditions are not being considered in this system

The system is shown below;

These are all the possible orientations that particles can be found in in this particular system. These

orientations are referred to as states.

So, in order to construct the Hamiltonian matrix it is necessary to understand what properties each

individual state possess and how one state could be turned into another state.

State 1 has two particles on neighbouring sites, this means that it has an interaction energy of u,

additionally it could become identical to state 2 if the particle on the central site were to hop to the

rightmost site.

State 2 has two particles, one on the leftmost site and one on the rightmost site, as periodic

boundary conditions are not being applied to this system there is no interaction energy to be taken

Page 7: PH600 Project report

Luke Moore, lm464 University of Kent, Canterbury

6

into account. However, State 2 could become identical to state 1 if the particle on the rightmost site

were to hop to the central site, or state 2 could become identical to state 3 if the particle on the

leftmost site were to hop onto the central site.

State 3 has two particles, one on the rightmost site, and one on the central site. State 3 could

become identical to state 2 if the particle on the central site were to hop to the leftmost site.

This system can be represented by a 3 x 3 Hamiltonian matrix, each element of the matrix has a

value based on the energy of the individual site, or based on its probability of becoming one of the

other sites. As explained below;

�̿� = (

𝐸𝑛𝑒𝑟𝑔𝑦 𝑜𝑓 𝑠𝑡𝑎𝑡𝑒 1 𝑝𝑟𝑜𝑏 𝑜𝑓 𝑐ℎ𝑎𝑛𝑔𝑖𝑛𝑔 𝑡𝑜 𝑠𝑡𝑎𝑡𝑒 2 𝑓𝑟𝑜𝑚 1 𝑝𝑟𝑜𝑏 𝑜𝑓 𝑐ℎ𝑎𝑛𝑔𝑖𝑛𝑔 𝑡𝑜 𝑠𝑡𝑎𝑡𝑒 3 𝑓𝑟𝑜𝑚 1𝑝𝑟𝑜𝑏 𝑜𝑓 𝑐ℎ𝑎𝑛𝑔𝑖𝑛𝑔 𝑡𝑜 𝑠𝑡𝑎𝑡𝑒 1 𝑓𝑟𝑜𝑚 2 𝐸𝑛𝑒𝑟𝑔𝑦 𝑜𝑓 𝑠𝑡𝑎𝑡𝑒 2 𝑝𝑟𝑜𝑏 𝑜𝑓 𝑐ℎ𝑎𝑛𝑔𝑖𝑛𝑔 𝑡𝑜 𝑠𝑡𝑎𝑡𝑒 3 𝑓𝑟𝑜𝑚 2𝑝𝑟𝑜𝑏 𝑜𝑓 𝑐ℎ𝑎𝑛𝑔𝑖𝑛𝑔 𝑡𝑜 𝑠𝑡𝑎𝑡𝑒 1 𝑓𝑟𝑜𝑚 3 𝑝𝑟𝑜𝑏 𝑜𝑓 𝑐ℎ𝑎𝑛𝑔𝑖𝑛𝑔 𝑡𝑜 𝑠𝑡𝑎𝑡𝑒 2 𝑓𝑟𝑜𝑚 3 𝐸𝑛𝑒𝑟𝑔𝑦 𝑜𝑓 𝑠𝑡𝑎𝑡𝑒 3

)

This system is then represented by the Hamiltonian matrix;

(𝑢 −𝑡 0

−𝑡 0 −𝑡0 −𝑡 𝑢

) = �̿�

This method can be extrapolated and used to construct a Hamiltonian of any size from any sized

system, if desired the particle number wouldn’t even need to be fixed. The number of particles can

be allowed to change and this allows a more general Hamiltonian matrix to be formed which covers

a more general system for a particular number of sites. Later in this project the particle number will

be allowed to change, and the Hamiltonian will be written by the computer program which has been

written in the C programming language.

How to find the solutions of the Hamiltonian matrix

The first step is to find the eigenvalues of this Hamiltonian matrix and then to find the associated

eigenvectors of each eigenvalue, this is done using the following method;

Eigenvalues fit the following formula

𝑑𝑒𝑡(�̿� − 𝜆𝐼) = 0 [2]

This says that the determinant of {(the Hamiltonian matrix) – (the eigenvalue multiplied by the

identity matrix)} = 0, this equation will always be true for any eigenvalue.

The eigenvalues that were found from the worked example from Chapter 2 are; 𝜆1, 𝜆2, 𝜆3.

Where, 𝜆1, 𝜆2, 𝜆3, are all functions of u.

𝜆1 = 𝑢, 𝜆2 = 𝑢 + √𝑢2 + 8𝑡2

2, 𝜆3 =

𝑢 − √𝑢2 + 8𝑡2

2

The eigenvectors are then found using a similar equation than that used for finding eigenvalues, it is;

(�̿� − 𝜆𝐼)𝜓 = 0 [2]

Where; ψ is the eigenvector of eigenvalue λ. [2]

Page 8: PH600 Project report

Luke Moore, lm464 University of Kent, Canterbury

7

An Eigenvector has the unique property that its magnitude has to be exactly 1, it is a unit vector to

represent the state of the system corresponding to a particular eigenvalue. [2]

Although this was the method used to solve small systems by hand, the program used in this report

will be using the method of exact diagonalization via the Jacobi algorithm. Exact diagonalization

works by performing iterative rotations on the Hamiltonian matrix which represents the system to

be solved. This is computed until every term except those on the main diagonal of the matrix are

zero, the values on the main diagonal of this matrix are the eigenvalues of the Hamiltonian matrix

and are the solutions of the system. The energies of each of the states of the system. For more

information on the exact diagonalization process, refer to this paper.[3]

Chapter 4 – Why the solutions are important

The eigenvalues of the Hamiltonian matrix are the energies of each of the states. In this project we

will be mainly interested in the lowest 2 or 3 energy eigenvalues. This is because the lowest energy

eigenvalue represents the state of the system at zero temperature, the energy of the ground state of

the system. It is these energy values that we can use to plot graphs to determine whether a

quantum phase transition is expected for a particular system, with L sites and N particles, although a

phase transition will only occur for N = L/2 otherwise it is not possible. The computer program used

in this report will vary the value of the interaction strength and recalculate the energy values for a

given range, in this report this range will be 0.00 <= U <= 4.00, all results will be output to data files

and the values will then be used to pot graphs to show the behaviour of a particular system for

varying the value of U. These graphs will show us if there is any evidence of a phase transition, or if

any other interesting behaviour can be learnt from the graphs. The numbers produced by the

program are important for mathematically representing the behaviour of the states of the system

under differing values of the interaction strength between the particles.

The reason we care so much about analysing these systems, which only exist under physical

conditions not seen in everyday life is, because we know relatively little about them. For materials

observed and used regularly in everyday life we know a lot about how they behave under all sorts of

conditions. For example consider water, we know that at standard pressure of 1 atmosphere and at

room temperature about 22 degrees Celsius, water has a certain density, and a specific heat

capacity, we know that water boils at 100 degrees Celsius and freezes at 0 degrees Celsius. In

comparison, the phase transition of a small quantum many body system, does it have a phase

transition? If not, how big does the system need to be in order for the system to experience one?

When a system does experience a phase transition what are the characteristics that can be observed

on a graph which would indicate that a phase transition is occurring? It becomes clear that when

considering a classical substance we have a lot of answers, but for a quantum many body system we

seem to only have the questions. This is why this is important work, because until we find these

answers we don’t know what special properties any of these states might have, what uses they

could have in the real world. All these questions relate back to the solutions which can be found

from running simulations like the one outlined in this report.

Page 9: PH600 Project report

Luke Moore, lm464 University of Kent, Canterbury

8

Results and Discussion

For this model, there is an equation which exactly describes the Energy of a state, however this

equation is only valid for a system at U = 0. The equation is shown below;

𝜀 = −2 cos 𝑘 - Equation 1

𝑓𝑜𝑟 𝑁 𝑖𝑠 𝑜𝑑𝑑, 𝑘 = 2𝜋𝑛

𝐿 – Equation 2

𝑓𝑜𝑟 𝑁 𝑖𝑠 𝑒𝑣𝑒𝑛, 𝑘 =2𝜋 (𝑛+0.5)

𝐿 – Equation 3

N is the total number of particles. n = 0, 1, 2 …., L-1. L = number of sites

Graph 1 – This graph shows how the Energy of a state varies at the value of U = 0, for a system of any

size.

I will illustrate that the equations work by using the example of L = 6, N = 3;

Page 10: PH600 Project report

Luke Moore, lm464 University of Kent, Canterbury

9

As N is odd, this means that the N is odd formula for k will be applied from above;

n = 0;

𝜀0 = −2 cos (2𝜋 ×0

6) = −2.000

n = 1;

𝜀1 = −2 cos (2𝜋 ×1

6) = −1.000

n = 2;

𝜀2 = −2 cos (2𝜋 ×2

6) = 1.000

n = 3;

𝜀3 = −2 cos (2𝜋 ×3

6) = 2.000

n = 4;

𝜀4 = −2 cos (2𝜋 ×4

6) = 1.000

n = 5;

𝜀5 = −2 cos (2𝜋 ×5

6) = −1.000

These points have been circled on the graph on the previous page, to make it clear how the formula

can be applied to any system of any size.

The lowest three single particle energies are; -1.000, -1.000 and -2.000, these combine to give the

lowest energy eigenvalue at u = 0;

−2.000 − 1.000 − 1.000 = −4.000

The number of particles gives you the number of lowest single particle energies to be summed to

give the lowest energy eigenvalue for this system.

In the graph however, -4.000 is divided by the particle number, N = 3;

So in the graph at u = 0 the lowest energy eigenvalue is given by;

−4.000

3= −1.333 = 𝐸

Actual value is E = -1.333.

Therefore the equation works for L = 6, N = 3, and it works in general for any values of L and N.

Page 11: PH600 Project report

Luke Moore, lm464 University of Kent, Canterbury

10

Graphs 2 – 10 all include periodic boundary conditions.

Odd values of L

Graph 2 – This graph shows how the eigenvalues of the system vary as the value of U is varied, for

L=3 sites and N = 2 particles. The third lowest energy eigenvalue line is completely obscured by the

second lowest eigenvalue line, indicating that this system has two identical eigenvalues.

The blue and red lines as shown in graph 2 are exactly parallel, to 6 decimal places of precision.

This is the graph for 3 sites and 2 particles with periodic boundary conditions, this graph shows the

lowest energy eigenvalue in red and the second and third lowest energy eigenvalues are given by the

blue line, as the green line is completely obscured by the blue line. This was a surprise when this

graph was first observed as it was expected that the three lowest energy eigenvalues would all

experience a different energy. However after the system was analysed by using equation 1 from

above and the method outlined in the worked example it became clear that this was the correct

observation, and that for all odd values of L the second and third lowest energy eigenvalues will

always be identical. This will be confirmed by graph 4, which shows exactly the same characteristics

as graph 2. Both the lines in graph 2 are linear with respect to U, this is because no matter what

state the system is in the system will always experience an energy cost of U, this was realised after

the graph was plotted, this unfortunately makes the graph not very interesting, as both lines on the

graph represent the same energy cost and just have different values at U = 0.00.

Page 12: PH600 Project report

Luke Moore, lm464 University of Kent, Canterbury

11

Graph 4 – This graph shows how the eigenvalues of the system vary as the value of U is varied, for

L=5 sites and N = 3 particles. The third lowest energy eigenvalue line is completely obscured by the

second lowest eigenvalue line, indicating that this system has two identical eigenvalues.

This is the graph for 5 sites and 3 particles with periodic boundary conditions, this graph shows the

lowest energy eigenvalue in red and the second and third lowest energy eigenvalues are given by the

blue line, as the green line is completely obscured by the blue line. This graph verifies the

characteristic identified for L = an odd number of sites, as stated in the analysis of graph 2. Graphs 6

and 8 in the appendix section also show this trend. However there is a notable difference between

this graph and the graph for L = 3, that in this graph the eigenvalues are not parallel, the separation

of the red and blue lines changes with U, this was plotted in the graph below, as the difference

between the lowest and second lowest eigenvalues for graph 4. Even though for odd L the system

will always experience an energy cost of at least U as the system is now more complex the difference

between the lowest energy and second lowest energy eigenvalues is now able to vary with U due to

the possibility of a linear combination of states being the lowest energy state, as opposed to a single

simple state.

Page 13: PH600 Project report

Luke Moore, lm464 University of Kent, Canterbury

12

Difference between the lowest and second lowest eigenvalues for graph 4.

This graph displays a smooth curve which shows that the difference between the lowest and second

lowest eigenvalues decreases for increasing positive values of U. This is expected as for large positive

values of U the lowest and second lowest energy eigenvalues become degenerate. This means that

they become equal and that the lowest energy state of the system becomes a linear combination of

both the lowest and second lowest energy eigenstates. At U = 0.00, the difference is approx. equal

to - 0.74, this changes slowly for U<0.5, then the difference changes at a more rapid rate until

reaching a difference of approx. - 0.64 at a value of U = 4.00. For larger values of L the difference still

changes as a function of U, however the difference is smaller at U = 0.00. Additionally, the shape of

the graph of the difference between the lowest and second lowest eigenvalues always assumes the

same basic shape, as an elongated ‘S’ shape. The graphs for L = 7 and 9 can be found in the appendix

section of this report, and the difference between the lowest and second lowest eigenvalues can be

seen to be smaller for larger values of L, this leads us to believe that for larger system sizes the

system is more heavily influenced by the changing value of the interaction strength U. Due to the

interaction, U, being more important for larger L the system experiences the characteristics of

degeneracy more rapidly. For larger L the graphs clearly show the lowest and second lowest

eigenvalues becoming very close together even for a small range of U.

Page 14: PH600 Project report

Luke Moore, lm464 University of Kent, Canterbury

13

Even values of L

Graph 3 – This graph shows how the eigenvalues of the system vary as the value of U is varied, for L

= 4 sites and N = 2 particles. This graph shows an interesting property, which is that one of the

eigenvalues is entirely independent of the value of U. The green line represents a constant zero

eigenvalue.

Difference for graph 3

Page 15: PH600 Project report

Luke Moore, lm464 University of Kent, Canterbury

14

Graph 5 – This graph shows how the eigenvalues of the system vary as the value of U is varied, for L

= 6 sites and N = 3 particles. This graph shows that at small values of U, values which approach zero,

the green line and blue line tend toward the same value. However, unlike with the graphs for an odd

value of L here the green value diverges from the blue line and actually tends towards the red line

for large values of U. thereby demonstrating a degeneracy at large U values.

Graph 7 - This graph shows how the eigenvalues of the system vary as the value of U is varied, for L =

8 sites and N = 4 particles. This graph shows that at small values of U, values which approach zero,

the green line and blue line tend toward the same value. However, unlike with the graphs for an odd

value of L here the green value diverges from the blue line and actually tends towards the red line

for large values of U. thereby demonstrating a degeneracy at large U values.

Page 16: PH600 Project report

Luke Moore, lm464 University of Kent, Canterbury

15

Graph 9 - This graph shows how the eigenvalues of the system vary as the value of U is varied, for L =

10 sites and N = 5 particles. This graph shows that at small values of U, values which approach zero,

the green line and blue line tend toward the same value. However, unlike with the graphs for an odd

value of L here the green value diverges from the blue line and actually tends towards the red line

for large values of U. thereby demonstrating a degeneracy at large U values.

Graph 10 - This graph shows how the eigenvalues of the system vary as the value of U is varied, for L

= 12 sites and N = 6 particles. This graph shows that at small values of U, values which approach

zero, the green line and blue line tend toward the same value. However, unlike with the graphs for

Page 17: PH600 Project report

Luke Moore, lm464 University of Kent, Canterbury

16

an odd value of L here the green value diverges from the blue line and actually tends towards the

red line for large values of U. thereby demonstrating a degeneracy at large U values.

Analysis of graphs 3, 5, 7, 9, 10

Graphs 3, 5, 7 9, 10 all show very similar properties, I will begin my analysis by first mentioning the

similarities and explaining them, I will then mention the differences and attempt to explain why

these differences occur.

Similarities

Firstly at the value of U = 0.00, the second and third lowest eigenvalues are approximately equal,

and in every case the second lowest rapidly diverges from the third lowest energy eigenvalue. This

shows that for small or negative U values the second and third lowest energy eigenvalues are

approximately degenerate. For small or attractive values of U the particles are free to move with

minimal change in energy. This would indicate that at small or negative values of U that the system

has metallic behaviour.

Secondly, the lowest energy eigenvalue has a value of approximately -1.5 → -1.3 at values of U =

0.00, the lowest energy eigenvalue then tends towards the second lowest energy eigenvalue, and at

U = 4.00, the lowest and second lowest energy eigenvalues are very close together, such that the

difference in energy is between 0.8 (L=4)and 0.05(L=12). This behaviour indicates that for large

positive values of U that the lowest and second lowest energy eigenvalues become approximately

degenerate, by having almost exactly the same energy. This occurs as the lowest and second lowest

energy eigenvalues of the system are both linear combinations of the two states in the degeneracy

illustration below, and just combine in different quantities to give a different overall energy.

However, for large values of U this difference is almost zero, as the dominant factor deciding the

energy of the system is the value of U, as opposed to the specific amounts of each state contributing

to each energy value. This means that for infinitely large values of U irrespective of the size, the

lowest and second lowest energy eigenvalues are approximately equal. That being said increasing

the value of L does result in the near convergence of the lowest and second lowest energy

eigenvalues sooner than would be the case for smaller L values.

Degeneracy illustration

Degeneracy occurs as a result of 2 states such as these having the same energy level, states such as

these can only occur for N = L/2. These states display a symmetry which shows that there is no

difference in energy between these states and therefore the system should have no preference

between the two. For large values of U this is the case, the reason why the lowest and second lowest

energy eigenvalues tend towards each other is that the system includes both of these states in

different quantities, this results in a difference in energy for small or negative values of U. As U

increases a point is reached at which there is a minimal energy difference between the lowest

Page 18: PH600 Project report

Luke Moore, lm464 University of Kent, Canterbury

17

energy state and the second lowest energy state, however the two cannot move between each

other as this requires a large energy cost due to the number of intermediate states the particles

would have to move through in order to change from one to another. This limit at which the

particles are essentially stuck and cannot change to another state is called ‘broken symmetry’, this is

a term used in quantum mechanics to describe this situation.

Another similarity was shown in the graphs of the energy difference between the lowest and second

lowest energy eigenvalues, all graphs showed the same shape, this shape was likened to an

elongated ‘S’. All graphs showed this general shape, although for increasing L the difference was

smaller at U = 0.00, and significantly smaller for U = 4.00. The graph for L = 4 is shown above, but the

graphs for larger values of L are in the appendix section of this report.

Differences and evolution

One of the main differences is that the graph for L = 4 displays an eigenvalue of exactly 0.00, and is

completely independent of U. This was analysed and it was concluded that the only way this was

possible was if the state corresponding to the second lowest energy eigenvalue was a linear

combination of the two states shown in the degeneracy illustration on the previous page. This linear

combination was very specific, it was exactly +1 of the first and -1 of the second. This is the only

possible way to achieve a zero eigenvalue, which is very peculiar behaviour. However the mystery is

then why none of the other values of L exhibit this interesting property, all the even values of L with

N = L/2 should be able to show the same result, but the only graph to display a zero eigenvalue is L =

4. This is a mystery and it is one that we have not yet been able to explain. In theory we could think

of no reason why there could be no analogy between L = 4 and L > 4 sites. As for larger values of the

number of sites it can be shown that states can be made which are extremely similar to those from

the degeneracy illustration from the previous page. Additionally, a linear combination of these

should in theory be capable of producing a zero eigenvalue as observed with L=4. Why this is not the

case is unknown.

As L was increased several evolutionary features became apparent, an interesting one was that at a

value of U = 0.00 the value of the lowest eigenvalue/ particle became smaller, at L = 4 this value was

approximately -1.414, however, for L = 12 this value was approximately -1.288. This shows as the

number of sites in the system was increased the energy per site also decreased. This is because for

the number of sites being infinite the value of the amount of energy per site assumes its minimum

value of approximately -0.64 (= -2/π, see chapter “Analysis of U = 0.00” for full explanation),

therefore as L is increased the value of the energy per site is going to become closer and closer to

this value until L = infinity.

The limit of the computer I was using for running my program was L = 8, so before I could get results

for L = 10 and L = 12 I had time to calculate predictions of the values I had expected for L = 10 based

on the trend from L = 4, 6 and 8. My prediction is shown in the table below and a comparison with

the true value is also shown.

L Eigenvalue at U = 0.00 New value/previous value

4 -1.414 -

6 -1.333 94.3% = ((-1.333/-1.414)*100)

8 -1.307 98.0% = ((-1.307/-1.333)*100)

10 -1.29 (Predicted) 98% = (predicted)

10 -1.294 (Actual) 99.0% = ((-1.294/-1.307)*100)

12 -1.26 (Predicted) 98% = (predicted)

12 -1.288 (Actual) 99.5% = ((-1.288/-1.294)*100)

Page 19: PH600 Project report

Luke Moore, lm464 University of Kent, Canterbury

18

This shall be referred to as Table 1.

This shows that my predictions were very close to the actual values of the Eigenvalues at U = 0.00.

To predict a value of L = 10, I had noticed that the ratio of the new value/ previous value seems to

increase as L increases, this led me to the prediction that a ratio of 98% or above would be required

as an estimate, this would then be applied to the value for L = 8. L = 12 was more difficult as I only

had a prediction as my previous value, this meant a greater error would propagate into my

prediction for L = 12. Never the less, in order to predict a reasonable value for L = 12 I had to assume

that the value I had predicted for L = 10 was correct to a reasonable degree of accuracy, and apply

my multiplying factor to this predicted value. Even though my predictions were not perfect they

were good approximations to the correct values, within 1 – 2 % of the correct values, which is an

impressive level of accuracy for a prediction which was made with only 3 true data points.

Another evolutionary feature of the graphs is the rate of convergence between the lowest and

second lowest energy eigenvalues, from the graph for L = 6 it can be seen that the line

corresponding to the second lowest energy eigenvalue diverges from the third lowest energy

eigenvalue rapidly for U> 0.00. However, the lowest and second lowest energy eigenvalues don’t

converge for the range 0.00 <= U <= 4.00, although it can be seen that the two lines would continue

to become closer and closer until near convergence is achieved at a value of U>4.00. This trend is

followed exactly by the graph for L = 8 as well, L = 8 shows far more rapid near convergence than did

L = 6, this would indicate that as the number of sites increases, the lowest energy eigenvalue

increases its dependency on the value of U. As the number of particles in the system increases,

logically the system will become more dependent on the value of the interaction strength between

these particles. Therefore it would be expected for L = 10 near convergence would occur even

sooner and for L = 12 sooner still. In fact the graph displaying L = 12 results converges to within a

value of 0.06 for the range 0.00<=U<=4.00, this would suggest that if larger values of L could be

simulated then convergence would occur in the range of 0.00 <= U <= 4.00. However due to the

computational load of running the program for larger values of L this was not a possibility.

Page 20: PH600 Project report

Luke Moore, lm464 University of Kent, Canterbury

19

Analysis of U = 0.00

This graph shows the U = 0.00 values for L = 4, 6, 8, 10, 12 sites with N = L/2.

The importance of this graph is that it can predict the energy per site and the energy per particle at

the value of L = infinity.

This is done by first evaluating what happens to the value of K when L tends to infinity;

𝐾 =2𝑛𝜋

𝐿

As L becomes infinite, K becomes a continuous variable and can assume any possible value from –

π/2 → π/2. K can assume any value in this range as this is the range in which the result of -2cosk = a

negative value. The reason we are only interested in the negative values is that we are looking for

the lowest energy states, and the lowest energy state will occur when every one of the negative

particle energies are satisfied, resulting in the maximum negative value of energy.

This has the effect of meaning that we now use an integral to evaluate graph 1;

1

2𝜋∫ −2𝑐𝑜𝑠𝑘 𝑑𝑘

𝜋2

−𝜋2

= −1

𝜋∫ 𝑐𝑜𝑠𝑘 𝑑𝑘

𝜋2

−𝜋2

=−1

𝜋 [𝑠𝑖𝑛𝑘]

−𝜋2

𝜋2

=−1

𝜋(1 − (−1)) = −

2

𝜋

y = -0.7663x - 1.2162 R² = 0.9768

-1.44

-1.42

-1.4

-1.38

-1.36

-1.34

-1.32

-1.3

-1.28

-1.26

0 0.05 0.1 0.15 0.2 0.25 0.3

E/N

1/L

U=0.00, for L becomes infinite

Series1

Linear (Series1)

Page 21: PH600 Project report

Luke Moore, lm464 University of Kent, Canterbury

20

This is the energy per site.

However as the number of particles is given by N = L/2 then, the energy per particle is equal to;

=−4

𝜋= −1.27 …

The y axis intercept of the U=0.000, as L becomes infinite graph is should be equal to the value of the

energy per particle at L = infinity. The graph predicts the value to be approximately -1.2162.

However the actual value is -4/π = -1.2732…

This means that the graph we plotted using the points for L = 4, 6, 8, 10, and 12 has accurately

predicted the value for L becomes infinity to within an accuracy of 5%. That level of accuracy even

though we extrapolated from a maximum number of sites of L = 12 to infinity is rather surprising. It

would be expected that there would be a significant degree of error due to such a large

extrapolation using relatively few data points. In spite of this the graph has given a very accurate

approximation to the energy per particle of an infinitely large system, this energy is the energy per

particle of the system in the thermodynamic limit, L = infinity.

Page 22: PH600 Project report

Luke Moore, lm464 University of Kent, Canterbury

21

Conclusions

In conclusion, we began this project expecting to find evidence of a quantum phase transition for

small system sizes, however due to the limitations of the computers at our disposal for this project

we were unable to model a system large enough to show evidence of a phase transition. However,

this doesn’t mean that some interesting features were not discovered as a result of the data

collected in this report. The results gathered in this report were split into the odd values of L and the

even values of L, both sets of graphs showed trends specific to whether L was odd or even.

The graphs for L is odd showed that for the case of N=(L+1)/2, then the second lowest and third

lowest energy eigenvalues of the system were equal and the lines representing the data points were

superimposed on each other. Whereas the line representing the lowest energy eigenvalue was

significantly lower and in most cases assumed a very similar shape to the line representing the

second and third lowest energy eigenvalues. However he only case in which the lines were exactly

parallel was for L = 3, N = 2, in all other cases the lines became progressively closer with increasing

value of U. The lines became closer as a result of degeneracy between states of the system, as U

became very large the result was that the difference I energy between the two lowest energy states

became very small until a point at which the lines were almost exactly on top of each other and the

lines could move no closer. This behaviour occurs as the lowest and second lowest energy

eigenvalues result from linear combinations of certain states in the system. The reason for the small

difference in energy between the states is due to the different amounts of each state contributing to

the overall eigenvalue.

The graphs for L is even showed that for N = L/2 at the value of U = 0.00 the second and third lowest

energy eigenvalues were approximately equal, however these two values rapidly diverged. Whereas

the lowest energy eigenvalue showed a different behaviour and increased tending towards the

second lowest energy eigenvalue for the range 0.00 <= U <= 4.00. At the value of 4.00 the difference

between the lowest and second lowest energy eigenvalues was much smaller than for U = 0.00. The

reason for the lowest energy eigenvalue becoming approximately equal to the second lowest energy

eigenvalue is due to the existence of a two-fold degeneracy. A two-fold degeneracy means that

there are two combinations of states each with approximately the same energy. The lowest and

second lowest energy eigenvalues are not the energies of a single state, they are a linear

combination of states in different amounts. For large positive values of U the difference between the

two lowest energy eigenvalues is very small as the two approach the same energy level due to the

effects of the two-fold degeneracy. What is important to note is that although these two linear

combinations have approximately the same energy the system cannot simply flow from one to the

other, there is a broken symmetry between the two lowest energy eigenvalues. The reason for this

broken symmetry is that during a hop from one state to another only one particle can move.

Therefore in order to change from one state to another as shown in the degeneracy illustration on

page 16, the system would need to first move through some higher energy intermediate states in

order to change into the other. This requires a lot of energy and is very unlikely to happen. In fact for

an infinitely large system the only way to accomplish this change would be via an infinite number of

intermediate states and the energy cost would be so large that the probability of it occurring for

infinitely many sites and infinite particles is zero, it cannot happen.

Although some characteristics of the graphs can be explained, there remains one feature which is a

complete mystery, this feature is the zero eigenvalue for the graph of L = 4. It is understood that if a

linear combination of one state occurs in conjunction with that of another state then a zero

Page 23: PH600 Project report

Luke Moore, lm464 University of Kent, Canterbury

22

eigenvalue is then possible. However, what makes no sense is why a zero eigenvalue cannot occur

for larger numbers of sites with even values of L. In theory if a zero eigenvalue can exist for L = 4

then the same physics which allows this to be possible should allow it to be possible for L = 6, 8, 10

and 12 as well. The mystery is why this was not observed, what is special about the value of L = 4?

What distinguishes its behaviour from that of the larger systems with L = even number? This is

currently unknown.

The graph from the chapter of analysis of U = 0.00 allowed an estimate to be made of the energy per

particle for the thermodynamic limit, for L is infinite, a mathematical proof of the true value showed

that this value should be approximately -1.27. However, the value that was predicted from the graph

we plotted was -1.2162, this was calculated from data points for L = 4 – 12. The closeness of the

prediction from the graph with respect to the true value was surprising, given that only 5 points

were used to plot the straight line, and the straight line was extrapolated all the way from L = 12 to L

= infinity. The graph accurately predicted the value of the energy per particle for L = infinity to within

5% of the true value. That level of accuracy is staggering when one considers the small number of

data points and the lengthy extrapolation required to make the estimate.

If I had the time and resources I would like to have gathered data for larger system sizes too in order

to improve the estimate of the energy per particle in the thermodynamic limit. I would also have

liked to spend more time on determining exactly which states were included in the linear

combinations of each of the lowest energy eigenvalues of each of the graphs included in this report,

this information could have helped us to better understand the physics involved in each system size

and allowed a better understanding of behaviours. Additionally, I would have liked to keep

increasing the system size continuously until a phase transition was clearly visible on the graph. In an

ideal world I would have liked to have found some key features which indicate the presence of a

phase transition and have developed a list of criteria which must be fulfilled for a phase transition to

occur, I believe this which could vastly increase our understanding of the dynamics of quantum

phase transitions.

In conclusion, there are several continuations of this research which we would like to continue

working on in order to improve our understanding of the quantum phase transition. Unfortunately

there simply wasn’t enough time to complete everything that we would have liked to achieve. I

would like to continue this work and find the answers to the questions that remain, but as a major

limitation was limited resources, most notably computer capabilities, any continuation of this

research would not be worthwhile unless more powerful equipment was to be used. We have taken

this research as far as we could with our limited time frame and resources, and we hope to be able

to find answers to the remaining questions in future work.

Page 24: PH600 Project report

Luke Moore, lm464 University of Kent, Canterbury

23

Bibliography

[1] Quantum Mechanics, Concepts and Applications, SECOND EDITION. Nouredine Zetelli, WILEY.

This source was used to get the Schrodinger Equation and this equation was used a lot in the early

stages of the project for solving small systems.

[2] Mathematical Methods in the Physical Sciences THIRD EDITION, Mary L. Boas. This source was

used to teach me about how to solve matrices for their eigenvalues and eigenvectors.

[3] Diagonalization- and Numerical Renormalization-Group-Based Methods for Interacting Quantum Systems Reinhard M. Noack∗ and Salvatore R. Manmana†,∗ ∗Fachbereich Physik, Philipps-Universität Marburg, D-35032 Marburg, Germany †Institut für Theoretische Physik III, Universität Stuttgart, Pfaffenwaldring 57, D-70550 Stuttgart,

Germany

[4] Numerical Recipes in C, The Art of Scientific Computer Programming SECOND EDITION. William H.

Press, Harvard-Smithsonian Center for Astrophysics. Saul A. Teukolsky, Department of Physics,

Cornell University. William T. Vetterling, Polaroid Corporation. Brian P. Flannery, EXXON Research

and Engineering Company. This source was used for the Jacobi routine in the computer program

used to gather results for this project. The full program is shown in the appendix of this report.

[5] THE C PROGRAMMING LANGUAGE SECOND EDITION, BRIAN W. KERNIGHAN, DENNIS M. RITCHIE.

PRENTICE HALL SOFTWARE SERIES. This source was used for learning the C computer programming

language which allowed me to write the computer code, used in this project.

Page 25: PH600 Project report

Luke Moore, lm464 University of Kent, Canterbury

24

Appendix

The program which I have used to calculate the results from my research;

Beginning of Program - “#include <stdlib.h>

#include <stdio.h>

#include <math.h>

#include "nrutil.c"

#define ROTATE(a,i,j,k,l) g=a[i][j];h=a[k][l];a[i][j]=g-s*(h+g*tau); a[k][l]=h+s*(g-h*tau); // for use in

Jacobi

void jacobi(int n,double a[n][n], double d[n], double v[n][n], int *nrot);

int main()

{

FILE *file, *file1, *file2, *file3; // creates a file pointer for each of the files that will be needed for

the data from this program

file = fopen("results.dat","w");

file1 = fopen("results1.dat", "w");

file2 = fopen("results2.dat", "w");

file3 = fopen("results3.dat", "w");

int L,states,noparticles,NP; //defines variables

printf("L = "); scanf("%d",&L); // ask for size of lattice

printf("N = "); scanf("%d",&NP); // ask for desired number of particles

states=pow(2,L); // calculates the number of states

printf("L = %d, number of states = %d\n",L,states); //writes the number of states to the screen

double Ham[states][states], e_vectors[states][states], e_values[states]; //defines variables

int state[L],newstate[L]; // defines variables

int i, i1, j,instate,outstate, rotations; // defines variables

double t,U,interaction, Constant, step, other; // defines variables

t=1.0; // defines value of t

printf("U = "); // prompts the user for the starting value of U

scanf("%lf",&U); // reads the value of U from the screen for use in the program

Constant = U; // defines the value of Constant to be U

printf("How far either side of the input value of U would you like to iterate? "); // prompts user for

range of U for the iteration

scanf("%lf", &other); // reads the value for the range from the screen

Page 26: PH600 Project report

Luke Moore, lm464 University of Kent, Canterbury

25

printf("\n"); // prints a line break to the screen

printf("What is the step in the value of U for the loop? (not less than 0.001, \

although a step of 0.01 is preferred) "); // prompts the user for the division in U to be iterated

scanf("%lf", &step); //reads in the value from the screen

printf("\n"); // prints a line break to the screen

for(U=Constant-other; U<=Constant+other; U=U+step) //creates the loop for U to be iterated over

{

for (i=0;i<states;i++) for (j=0;j<states;j++) Ham[i][j]=0;

for (instate=0;instate<states;instate++) // main loop in construction of Hamiltonian

{

// First define the state

for(i=0;i<L;i++)

state[i]=(instate>>i)&1;

// print start state

for(i=0;i<L;i++)

// Now start applying Hamiltonian

// First, move right terms

for(i=0;i<L;i++) // move ith element right if possible

{

for(j=0;j<L;j++) newstate[j]=state[j];

i1=i+1;

if (i1==L) i1=0;

if ((state[i]==1)&&(state[i1]==0)) // we can move

{

newstate[i]=0; newstate[i1]=1; // swap terms

// figure out numerical value of new state

outstate=0;

for (j=0;j<L;j++) outstate+=newstate[j]<<j;

Ham[instate][outstate]+=-t; // set the Hamiltonian matrix element

}

Page 27: PH600 Project report

Luke Moore, lm464 University of Kent, Canterbury

26

} // end of moving right loop

// Now, move left terms

for(i=0;i<L;i++) // move ith element right if possible

{

for(j=0;j<L;j++) newstate[j]=state[j];

i1=i-1;

if (i1<0) i1=L-1;

if ((state[i]==1)&&(state[i1]==0)) // we can move

{

newstate[i]=0; newstate[i1]=1; // swap terms

// figure out numerical value of new state

outstate=0;

for (j=0;j<L;j++) outstate+=newstate[j]<<j;

Ham[instate][outstate]+=-t; // set the Hamiltonian matrix element

}

} // end of moving left loop

// now interaction term

interaction=0;

for(i=0;i<L-1;i++) if ((state[i]==1)&&(state[i+1]==1)) interaction+=U;

if((state[0]==1)&&(state[L-1]==1)) interaction+=U;

//printf("Interaction: %lf\n",interaction);

Ham[instate][instate]+=interaction; // interaction is a diagonal matrx element

noparticles=0;

for(i=0;i<L;i++) if (state[i]==1) noparticles++;

if (noparticles!=NP)Ham[instate][instate]+=30;

} // end of main loop of construction of Hamiltonian

// Now call jacobi to find the eigenvalues

Page 28: PH600 Project report

Luke Moore, lm464 University of Kent, Canterbury

27

jacobi(states,Ham,e_values,e_vectors, &rotations); // diagonalise a matrix Ham which is (states x

states) in size.

for(i=0;i<states;i++)

{

if(i==(states-1))

{

fprintf(file1, "%14.6lf %14.6lf \n", U, e_values[i]);

}

if(i==(states-2))

{

fprintf(file2, "%14.6lf %14.6lf \n", U, e_values[i]);

}

if(i==(states-3)) //makes it so only the lowest three eigenvalues are written to the file and can

then be plotted

{

fprintf(file3, "%14.6lf %14.6lf \n", U, e_values[i]);

}

}

fprintf(file, "%14.6lf ", U); for(i=0;i<states;i++) if(i>=states-3) fprintf(file, "%14.6lf ", e_values[i]);

fprintf(file, "\n");

for(i=0;i<states;i++)

{

for(j=0;j<states;j++)

{

//printf("%14.6lf ", e_vectors[j][i]);

//fprintf(file, "%14.6lf ", e_vectors[j][i]);

}

// printf("\n");

// fprintf("\n");

}

}

fclose(file);

fclose(file1);

fclose(file2);

fclose(file3);

printf("\n\n\n");

printf("Done, please check the file results.c, then plot graph with gnuplot. \

Do not attempt to open the results file, it is too big!!! \n");

} // end of main program

// This is standard Jacobi subroutine from numerical recipies

void jacobi(int n,double a[n][n], double d[n], double v[n][n], int *nrot)

// to call jacobi: n = size of matrix, a is initial matrix (destroyed by the routine)

Page 29: PH600 Project report

Luke Moore, lm464 University of Kent, Canterbury

28

// on output, d is an array of the eigenvalues, v is an matrix of the eigenvectors, and nrot gives you

how many jocobi rotations it took (in case you care!)

{

int j,iq,ip,i, k, ii, jj;

double tresh,theta,tau,t,sm,s,h,g,c,*b,*z, p;

b=vector(1,n);

z = vector(1,n);

for (ip=0;ip<n;ip++) {

for (iq=0;iq<n;iq++) v[ip][iq]=0.0;

v[ip][ip]=1.0;

}

for (ip=0;ip<n;ip++) {

b[ip]=d[ip]=a[ip][ip];

z[ip]=0.0;

}

*nrot=0;

for (i=1;i<=50;i++) {

sm=0.0;

for (ip=0;ip<n-1;ip++) {

for (iq=ip+1;iq<n;iq++)

sm += fabs(a[ip][iq]);

}

if (sm == 0.00)

{

for(ii=0;ii<n-1;ii++)

{

p=d[k=ii];

for(jj=ii+1;jj<n;jj++)

if(d[jj]>p)

p=d[k=jj];

if(k!= ii)

{

d[k]=d[ii];

d[ii] = p;

for(jj=1;jj<=n;jj++)

{

p=v[jj][ii];

v[jj][ii]=v[jj][k];

v[jj][k] = p;

}

}

}

free(z);

free(b);

Page 30: PH600 Project report

Luke Moore, lm464 University of Kent, Canterbury

29

return;

}

if (i < 4)

tresh=0.2*sm/(n*n);

else

tresh=0.0;

for (ip=0;ip<n-1;ip++) {

for (iq=ip+1;iq<n;iq++) {

g=100.0*fabs(a[ip][iq]);

if (i > 4 && (double)(fabs(d[ip])+g) == (double)fabs(d[ip])

&& (double)(fabs(d[iq])+g) == (double)fabs(d[iq]))

a[ip][iq]=0.0;

else if (fabs(a[ip][iq]) > tresh) {

h=d[iq]-d[ip];

if ((double)(fabs(h)+g) == (double)fabs(h))

t=(a[ip][iq])/h;

else {

theta=0.5*h/(a[ip][iq]);

t=1.0/(fabs(theta)+sqrt(1.0+theta*theta));

if (theta < 0.0) t = -t;

}

c=1.0/sqrt(1+t*t);

s=t*c;

tau=s/(1.0+c);

h=t*a[ip][iq];

z[ip] -= h;

z[iq] += h;

d[ip] -= h;

d[iq] += h;

a[ip][iq]=0.0;

for (j=0;j<=ip-1;j++) {

ROTATE(a,j,ip,j,iq)

}

for (j=ip+1;j<=iq-1;j++) {

ROTATE(a,ip,j,j,iq)

}

for (j=iq+1;j<n;j++) {

ROTATE(a,ip,j,iq,j)

}

for (j=0;j<n;j++) {

ROTATE(v,j,ip,j,iq)

}

++(*nrot);

}

}

Page 31: PH600 Project report

Luke Moore, lm464 University of Kent, Canterbury

30

}

for (ip=0;ip<n;ip++) {

b[ip] += z[ip];

d[ip]=b[ip];

z[ip]=0.0;

}

}

printf("Too many iterations in routine jacobi");

}“ - End of Program

Graphs for L is odd

Graph 6 – This graph shows how the eigenvalues of the system vary as the value of U is varied, for

L=7 sites and N = 4 particles. The green line is completely obscured by the blue line, indicating that

this system has two identical eigenvalues.

Page 32: PH600 Project report

Luke Moore, lm464 University of Kent, Canterbury

31

Graph 8 – This graph shows how the eigenvalues of the system vary as the value of U is varied, for

L=9 sites and N = 5 particles. The green line is completely obscured by the blue line, indicating that

this system has two identical eigenvalues.

Graphs for Even L

Difference for graph 5

Page 33: PH600 Project report

Luke Moore, lm464 University of Kent, Canterbury

32

Difference for graph 7

Difference for graph 8

Page 34: PH600 Project report

Luke Moore, lm464 University of Kent, Canterbury

33

Difference for graph 9