# Approximating a QF with finite-dimensional Hilbert space

• A
Science Advisor
Gold Member
Is it possible to approximately calculate the dynamics of a "phi-fourth" interacting Klein-Gordon field by using a
finite dimensional Hilbert state space where the possible values of momentum are limited to a discrete set

##-p_{max},-\frac{N-1}{N}p_{max},-\frac{N-2}{N}p_{max},..., -\frac{2}{N}p_{max}, -\frac{1}{N}p_{max}, 0 ,\frac{1}{N}p_{max}, \frac{2}{N}p_{max}, ..., \frac{N-2}{N}p_{max}, \frac{N-1}{N}p_{max} , p_{max}##

and each momentum state can be excited at most M times from the ground (vacuum) state? The energy eigenstates could then be solved from a finite-dimensional matrix eigenvalue problem and I could calculate the probabilities of particles with different momenta being spontaneously created from the vacuum of the noninteracting Klein-Gordon field (which of course isn't the real ground state of the system anymore once the phi-fourth interaction is added).

## Answers and Replies

Related Quantum Physics News on Phys.org
jambaugh
Science Advisor
Gold Member
I have been working on something related to this off and on since my thesis. I have a framework involving deformed BE statistics yielding a finite dim Fock space. I have not yet constructed a dynamical model. Interestingly the Bosonic vacuum is relativized which gives me hope of incorporating Unruh effect in a relativistic theory.

hilbert2
Science Advisor
Gold Member
Nice to see that someone else is thinking about the same problem.

A finite-dimensional QFT model could possibly be used as a pedagogical tool to explain QFT to someone who's only done regular nonrelativistic QM before. It would be easy to write a computer program that plots the time dependence of the expectation values of particle number, total squared momentum, and other quantities, given some initial state vector. That would be similar to how the two-state system with a small off-diagonal perturbation in the Hamiltonian matrix is used to demonstrate quantum dynamics to undergraduates.

A. Neumaier
Science Advisor
2019 Award
A finite-dimensional QFT model could possibly be used as a pedagogical tool to explain QFT
More profitable is to discretize space by considering only a finite number of points. To have a meaningful notion of momentum, one usually chooses a periodic lattice as the set of points. This is what is actually done in lattice gauge theory!

Demystifier
Science Advisor
Gold Member
More profitable is to discretize space by considering only a finite number of points. To have a meaningful notion of momentum, one usually chooses a periodic lattice as the set of points. This is what is actually done in lattice gauge theory!
Yeah, that would probably lead to possible values of momenta being limited, too. Obviously the wavelength corresponding to some momentum can't be shorter than the spacing between the lattice points...

By the way, is this the correct formula for the phi-fourth interaction term when written in terms of creation and annihilation operators:

?

Are there any problems with the convergence of those integrals, unless the integration contours are somehow displaced in complex plane? Discretizing the state space of the system would probably solve that problem, too.

jambaugh
Science Advisor
Gold Member
The 900lb gorilla in the room is of course the question of unitarity. We cannot represent the non-compact relativity group of SR unitarily in a finite dimensional setting.
More profitable is to discretize space by considering only a finite number of points. To have a meaningful notion of momentum, one usually chooses a periodic lattice as the set of points. This is what is actually done in lattice gauge theory!
My objection to this approach (except within a numerical method or the described application of an effective field theory) is that I do not recognize space or space-time as a physical object, it is parametric rather than observable in nature (or so I believe). Thus to carry out such a scheme consistently at a fundamental level you should discretize \emph{all} parameters, i.e. switch from Lie groups to finite groups of Lie type. (I see Born duality is morphing in the general context into the algebraic duality between Lie group parameters and their generators which in the unitary QM become {i times} hermitian observables.)
But then by discretizing parameters you're really developing a whole new type of physical theory beyond quantum mechanics even. That and you lose manifest covariance.

If not this then you're talking about a non-fundamental theory and pushing certain critical issues under the rug rather than dealing with them. This I think is the virtue of seeking a finite dimensional theory. We sweep issues down the infinite rug rather than resolving them and seeing/testing the physical implications of various resolutions. Renormalizing our regularized infinite dimensional theories is a kludge ultimately and that's why it ultimately fails when attempted for gravitation. In a gravitational theory there are too many variables because we reify too far (those pesky spatial or space-time points one wants to quantize).

My line of thinking is a Gupta-Bleuler type quantization where the indefinite part of the pseudo-hilbert space of a finite dimensional representation is factored out via gauge constraint. In my scheme this is in part the fixing of a vacuum (plus a space-time origin and an inertial frame).

Of course my goals and hence heuristic of what is of value may differ from yours and the OP's so take my opinions in that context. And also of course I don't have an actual physical theory (yet) to put my money where my mouth is s.t.s. so there is that to temper my critique.

A. Neumaier
Science Advisor
2019 Award
I do not recognize space or space-time as a physical object,
You do not need to recognize the finite approximation to space as physical, either. Nevertheless, we cannot do physics without the notions of space and time. You cannot even plan a holiday trip without it. For that you need to be convinced that the points on a map or the pictures shown on TV point to real objects in real space.

Demystifier
jambaugh
Science Advisor
Gold Member
You do not need to recognize the finite approximation to space as physical, either. Nevertheless, we cannot do physics without the notions of space and time. You cannot even plan a holiday trip without it. For that you need to be convinced that the points on a map or the pictures shown on TV point to real objects in real space.
I agree. Approximating? No problem. And yes we cannot do physics without the notion of space-time but that notion should IMNSHO be parametric. The reality behind the positions on a map is physical objects, bits of dirt and rock. Likewise with effective field theory the "points" are defined by the atoms of the lattice in the crystalline structure one is describing. It is how we compare the physical objects by moving them (active transformations) or moving the observer (passive transformations) that gives meaning to the transformation groups and thence to their parameters. We can't do physics without angles or boost parameters either but I don't objectify the angle, I understand it as a rotation parameter and rotation as an action I may do to the physical objects.

Why and where I see this as important is in the big bugaboo of quantum gravitation. I see many people trying to "quantize space-time" which I see as moving in the wrong direction. String/brane theory even more so by building up a big mess-o-substructure which is fundamentally unobservable. It's epicycles all over again.

Putting my proselytizing aside though, you're quite correct -I'm sure- as far as the practical answer to the OP's question is concerned.

Science Advisor
Gold Member
Here's an old article from the 1980s, where the authors seem to be doing exactly what I was thinking about:

http://www.sciencedirect.com/science/article/pii/0370269385900437
Abstract
We suggest a time-dependent, finite-dimensional, nonperturbative approximation scheme for the S-matrix of relativistic quantum field theories. The method is presented for the ##\phi^4##-theory. In the weak coupling regime our method tends to the results of perturbation theory in all orders. We present results of a numerical test calculation in 1+1 dimensions for a small coupling constant which gives satisfactory agreement with the result of perturbation theory.
However, the full text isn't available with my univ. library account, and I'm not sure whether a scanned pdf form of this paper exists at all...

jambaugh
Science Advisor
Gold Member
Here's an old article from the 1980s, where the authors seem to be doing exactly what I was thinking about:

http://www.sciencedirect.com/science/article/pii/0370269385900437

However, the full text isn't available with my univ. library account, and I'm not sure whether a scanned pdf form of this paper exists at all...
Check with your university library they should be able to get you a copy for just the copy costs as that's a mainstream journal (in fact *THE* US physics journal) and IAm sure your state's university system has a subscription.

Science Advisor
Gold Member
A. Neumaier
Science Advisor
2019 Award
the discretization of momentum is more practical for scattering problems than discretization of space and time coordinates.
But scattering is only the transition between the times $\pm\infty$, not dynamics, which your original post was asking for.

hilbert2,

You can check arXiv:1304.7237 and other papers by the same authors. They are doing QFT in the Fock space with discretized momentum, as you suggested.

Eugene.

hilbert2
Science Advisor
Gold Member
hilbert2,

You can check arXiv:1304.7237 and other papers by the same authors. They are doing QFT in the Fock space with discretized momentum, as you suggested.

Eugene.
Thanks, I'll take a look.

Science Advisor
Gold Member
I wrote a Mathematica code to calculate the time dependence of states of a simple system where a massless Klein-Gordon field is constrained to have only modes corresponding to momenta ##p_1 = -1##, ##p_2 = 0##, ##p_3 = 1##. (the momenta are in natural units) Each mode is possible to be excited at most 3 times. Therefore the hilbert space of the system is ##3^3 = 27## - dimensional.

To the noninteracting hamiltonian ##H_0 = a_{p1}^\dagger a_{p1} + a_{p3}^\dagger a_{p3}## I add the ##\phi^4## interaction that consists of terms like ##a_{p1}a_{p2}^\dagger a_{p3} a_{p2} ##. (I made a C++ program that automatically writes the Mathematica code for all possible momentum-conserving terms like that)

Code:
Id = Table[KroneckerDelta[i, j], {i, 1, 3}, {j, 1, 3}]  (* 3X3 identity matrix *)

a0d = Table[KroneckerDelta[i - 1, j] Sqrt[i - 1], {i, 1, 3}, {j, 1, 3}]  (* creation operator for a momentum mode *)

a0 = Transpose[a0d]   (* annihilation operator *)

ap1d = KroneckerProduct(a0d,Id,Id)  (* creation operator for momentum p=-1 *)
ap2d = KroneckerProduct(Id,a0d,Id)  (* creation operator for momentum p=0 *)
ap3d = KroneckerProduct(Id,Id,a0d)  (* creation operator for momentum p=+1 *)

ap1 = KroneckerProduct(a0,Id,Id)  (* annihilation operator for momentum p=-1 *)
ap2 = KroneckerProduct(Id,a0,Id)  (* annihilation operator for momentum p=0 *)
ap3 = KroneckerProduct(Id,Id,a0)  (* annihilation operator for momentum p=+1 *)

vacuum = Table[KroneckerDelta[1,n],{n,1,27}]   (* vacuum state vector of the system *)

H0 = ap1d.ap1 + ap3d.ap3   (* Noninteracting Klein-Gordon Hamiltonian *)

H = H0 + 0.1(ap1d.ap1d.ap3d.ap3d + ap1d.ap1d.ap3d.ap3 + ap1d.ap1d.ap3.ap3d
+ ap1d.ap1d.ap3.ap3 + ap1d.ap1.ap3d.ap3d + ap1d.ap1.ap3d.ap3
+ ap1d.ap1.ap3.ap3d + ap1d.ap1.ap3.ap3 + ap1.ap1d.ap3d.ap3d
+ ap1.ap1d.ap3d.ap3 + ap1.ap1d.ap3.ap3d + ap1.ap1d.ap3.ap3
+ ap1.ap1.ap3d.ap3d + ap1.ap1.ap3d.ap3 + ap1.ap1.ap3.ap3d
+ ap1.ap1.ap3.ap3 + ap1d.ap2d.ap2d.ap3d + ap1d.ap2d.ap2d.ap3
+ ap1d.ap2d.ap2.ap3d + ap1d.ap2d.ap2.ap3 + ap1d.ap2.ap2d.ap3d
+ ap1d.ap2.ap2d.ap3 + ap1d.ap2.ap2.ap3d + ap1d.ap2.ap2.ap3
+ ap1.ap2d.ap2d.ap3d + ap1.ap2d.ap2d.ap3 + ap1.ap2d.ap2.ap3d
+ ap1.ap2d.ap2.ap3 + ap1.ap2.ap2d.ap3d + ap1.ap2.ap2d.ap3
+ ap1.ap2.ap2.ap3d + ap1.ap2.ap2.ap3 + ap1d.ap2d.ap3d.ap2d
+ ap1d.ap2d.ap3d.ap2 + ap1d.ap2d.ap3.ap2d + ap1d.ap2d.ap3.ap2
+ ap1d.ap2.ap3d.ap2d + ap1d.ap2.ap3d.ap2 + ap1d.ap2.ap3.ap2d
+ ap1d.ap2.ap3.ap2 + ap1.ap2d.ap3d.ap2d + ap1.ap2d.ap3d.ap2
+ ap1.ap2d.ap3.ap2d + ap1.ap2d.ap3.ap2 + ap1.ap2.ap3d.ap2d
+ ap1.ap2.ap3d.ap2 + ap1.ap2.ap3.ap2d + ap1.ap2.ap3.ap2
+ ap1d.ap3d.ap1d.ap3d + ap1d.ap3d.ap1d.ap3 + ap1d.ap3d.ap1.ap3d
+ ap1d.ap3d.ap1.ap3 + ap1d.ap3.ap1d.ap3d + ap1d.ap3.ap1d.ap3
+ ap1d.ap3.ap1.ap3d + ap1d.ap3.ap1.ap3 + ap1.ap3d.ap1d.ap3d
+ ap1.ap3d.ap1d.ap3 + ap1.ap3d.ap1.ap3d + ap1.ap3d.ap1.ap3
+ ap1.ap3.ap1d.ap3d + ap1.ap3.ap1d.ap3 + ap1.ap3.ap1.ap3d
+ ap1.ap3.ap1.ap3 + ap1d.ap3d.ap2d.ap2d + ap1d.ap3d.ap2d.ap2
+ ap1d.ap3d.ap2.ap2d + ap1d.ap3d.ap2.ap2 + ap1d.ap3.ap2d.ap2d
+ ap1d.ap3.ap2d.ap2 + ap1d.ap3.ap2.ap2d + ap1d.ap3.ap2.ap2
+ ap1.ap3d.ap2d.ap2d + ap1.ap3d.ap2d.ap2 + ap1.ap3d.ap2.ap2d
+ ap1.ap3d.ap2.ap2 + ap1.ap3.ap2d.ap2d + ap1.ap3.ap2d.ap2
+ ap1.ap3.ap2.ap2d + ap1.ap3.ap2.ap2 + ap1d.ap3d.ap3d.ap1d
+ ap1d.ap3d.ap3d.ap1 + ap1d.ap3d.ap3.ap1d + ap1d.ap3d.ap3.ap1
+ ap1d.ap3.ap3d.ap1d + ap1d.ap3.ap3d.ap1 + ap1d.ap3.ap3.ap1d
+ ap1d.ap3.ap3.ap1 + ap1.ap3d.ap3d.ap1d + ap1.ap3d.ap3d.ap1
+ ap1.ap3d.ap3.ap1d + ap1.ap3d.ap3.ap1 + ap1.ap3.ap3d.ap1d
+ ap1.ap3.ap3d.ap1 + ap1.ap3.ap3.ap1d + ap1.ap3.ap3.ap1
+ ap2d.ap1d.ap2d.ap3d + ap2d.ap1d.ap2d.ap3 + ap2d.ap1d.ap2.ap3d
+ ap2d.ap1d.ap2.ap3 + ap2d.ap1.ap2d.ap3d + ap2d.ap1.ap2d.ap3
+ ap2d.ap1.ap2.ap3d + ap2d.ap1.ap2.ap3 + ap2.ap1d.ap2d.ap3d
+ ap2.ap1d.ap2d.ap3 + ap2.ap1d.ap2.ap3d + ap2.ap1d.ap2.ap3
+ ap2.ap1.ap2d.ap3d + ap2.ap1.ap2d.ap3 + ap2.ap1.ap2.ap3d
+ ap2.ap1.ap2.ap3 + ap2d.ap1d.ap3d.ap2d + ap2d.ap1d.ap3d.ap2
+ ap2d.ap1d.ap3.ap2d + ap2d.ap1d.ap3.ap2 + ap2d.ap1.ap3d.ap2d
+ ap2d.ap1.ap3d.ap2 + ap2d.ap1.ap3.ap2d + ap2d.ap1.ap3.ap2
+ ap2.ap1d.ap3d.ap2d + ap2.ap1d.ap3d.ap2 + ap2.ap1d.ap3.ap2d
+ ap2.ap1d.ap3.ap2 + ap2.ap1.ap3d.ap2d + ap2.ap1.ap3d.ap2
+ ap2.ap1.ap3.ap2d + ap2.ap1.ap3.ap2 + ap2d.ap2d.ap1d.ap3d
+ ap2d.ap2d.ap1d.ap3 + ap2d.ap2d.ap1.ap3d + ap2d.ap2d.ap1.ap3
+ ap2d.ap2.ap1d.ap3d + ap2d.ap2.ap1d.ap3 + ap2d.ap2.ap1.ap3d
+ ap2d.ap2.ap1.ap3 + ap2.ap2d.ap1d.ap3d + ap2.ap2d.ap1d.ap3
+ ap2.ap2d.ap1.ap3d + ap2.ap2d.ap1.ap3 + ap2.ap2.ap1d.ap3d
+ ap2.ap2.ap1d.ap3 + ap2.ap2.ap1.ap3d + ap2.ap2.ap1.ap3
+ ap2d.ap2d.ap2d.ap2d + ap2d.ap2d.ap2d.ap2 + ap2d.ap2d.ap2.ap2d
+ ap2d.ap2d.ap2.ap2 + ap2d.ap2.ap2d.ap2d + ap2d.ap2.ap2d.ap2
+ ap2d.ap2.ap2.ap2d + ap2d.ap2.ap2.ap2 + ap2.ap2d.ap2d.ap2d
+ ap2.ap2d.ap2d.ap2 + ap2.ap2d.ap2.ap2d + ap2.ap2d.ap2.ap2
+ ap2.ap2.ap2d.ap2d + ap2.ap2.ap2d.ap2 + ap2.ap2.ap2.ap2d
+ ap2.ap2.ap2.ap2 + ap2d.ap2d.ap3d.ap1d + ap2d.ap2d.ap3d.ap1
+ ap2d.ap2d.ap3.ap1d + ap2d.ap2d.ap3.ap1 + ap2d.ap2.ap3d.ap1d
+ ap2d.ap2.ap3d.ap1 + ap2d.ap2.ap3.ap1d + ap2d.ap2.ap3.ap1
+ ap2.ap2d.ap3d.ap1d + ap2.ap2d.ap3d.ap1 + ap2.ap2d.ap3.ap1d
+ ap2.ap2d.ap3.ap1 + ap2.ap2.ap3d.ap1d + ap2.ap2.ap3d.ap1
+ ap2.ap2.ap3.ap1d + ap2.ap2.ap3.ap1 + ap2d.ap3d.ap1d.ap2d
+ ap2d.ap3d.ap1d.ap2 + ap2d.ap3d.ap1.ap2d + ap2d.ap3d.ap1.ap2
+ ap2d.ap3.ap1d.ap2d + ap2d.ap3.ap1d.ap2 + ap2d.ap3.ap1.ap2d
+ ap2d.ap3.ap1.ap2 + ap2.ap3d.ap1d.ap2d + ap2.ap3d.ap1d.ap2
+ ap2.ap3d.ap1.ap2d + ap2.ap3d.ap1.ap2 + ap2.ap3.ap1d.ap2d
+ ap2.ap3.ap1d.ap2 + ap2.ap3.ap1.ap2d + ap2.ap3.ap1.ap2
+ ap2d.ap3d.ap2d.ap1d + ap2d.ap3d.ap2d.ap1 + ap2d.ap3d.ap2.ap1d
+ ap2d.ap3d.ap2.ap1 + ap2d.ap3.ap2d.ap1d + ap2d.ap3.ap2d.ap1
+ ap2d.ap3.ap2.ap1d + ap2d.ap3.ap2.ap1 + ap2.ap3d.ap2d.ap1d
+ ap2.ap3d.ap2d.ap1 + ap2.ap3d.ap2.ap1d + ap2.ap3d.ap2.ap1
+ ap2.ap3.ap2d.ap1d + ap2.ap3.ap2d.ap1 + ap2.ap3.ap2.ap1d
+ ap2.ap3.ap2.ap1 + ap3d.ap1d.ap1d.ap3d + ap3d.ap1d.ap1d.ap3
+ ap3d.ap1d.ap1.ap3d + ap3d.ap1d.ap1.ap3 + ap3d.ap1.ap1d.ap3d
+ ap3d.ap1.ap1d.ap3 + ap3d.ap1.ap1.ap3d + ap3d.ap1.ap1.ap3
+ ap3.ap1d.ap1d.ap3d + ap3.ap1d.ap1d.ap3 + ap3.ap1d.ap1.ap3d
+ ap3.ap1d.ap1.ap3 + ap3.ap1.ap1d.ap3d + ap3.ap1.ap1d.ap3
+ ap3.ap1.ap1.ap3d + ap3.ap1.ap1.ap3 + ap3d.ap1d.ap2d.ap2d
+ ap3d.ap1d.ap2d.ap2 + ap3d.ap1d.ap2.ap2d + ap3d.ap1d.ap2.ap2
+ ap3d.ap1.ap2d.ap2d + ap3d.ap1.ap2d.ap2 + ap3d.ap1.ap2.ap2d
+ ap3d.ap1.ap2.ap2 + ap3.ap1d.ap2d.ap2d + ap3.ap1d.ap2d.ap2
+ ap3.ap1d.ap2.ap2d + ap3.ap1d.ap2.ap2 + ap3.ap1.ap2d.ap2d
+ ap3.ap1.ap2d.ap2 + ap3.ap1.ap2.ap2d + ap3.ap1.ap2.ap2
+ ap3d.ap1d.ap3d.ap1d + ap3d.ap1d.ap3d.ap1 + ap3d.ap1d.ap3.ap1d
+ ap3d.ap1d.ap3.ap1 + ap3d.ap1.ap3d.ap1d + ap3d.ap1.ap3d.ap1
+ ap3d.ap1.ap3.ap1d + ap3d.ap1.ap3.ap1 + ap3.ap1d.ap3d.ap1d
+ ap3.ap1d.ap3d.ap1 + ap3.ap1d.ap3.ap1d + ap3.ap1d.ap3.ap1
+ ap3.ap1.ap3d.ap1d + ap3.ap1.ap3d.ap1 + ap3.ap1.ap3.ap1d
+ ap3.ap1.ap3.ap1 + ap3d.ap2d.ap1d.ap2d + ap3d.ap2d.ap1d.ap2
+ ap3d.ap2d.ap1.ap2d + ap3d.ap2d.ap1.ap2 + ap3d.ap2.ap1d.ap2d
+ ap3d.ap2.ap1d.ap2 + ap3d.ap2.ap1.ap2d + ap3d.ap2.ap1.ap2
+ ap3.ap2d.ap1d.ap2d + ap3.ap2d.ap1d.ap2 + ap3.ap2d.ap1.ap2d
+ ap3.ap2d.ap1.ap2 + ap3.ap2.ap1d.ap2d + ap3.ap2.ap1d.ap2
+ ap3.ap2.ap1.ap2d + ap3.ap2.ap1.ap2 + ap3d.ap2d.ap2d.ap1d
+ ap3d.ap2d.ap2d.ap1 + ap3d.ap2d.ap2.ap1d + ap3d.ap2d.ap2.ap1
+ ap3d.ap2.ap2d.ap1d + ap3d.ap2.ap2d.ap1 + ap3d.ap2.ap2.ap1d
+ ap3d.ap2.ap2.ap1 + ap3.ap2d.ap2d.ap1d + ap3.ap2d.ap2d.ap1
+ ap3.ap2d.ap2.ap1d + ap3.ap2d.ap2.ap1 + ap3.ap2.ap2d.ap1d
+ ap3.ap2.ap2d.ap1 + ap3.ap2.ap2.ap1d + ap3.ap2.ap2.ap1
+ ap3d.ap3d.ap1d.ap1d + ap3d.ap3d.ap1d.ap1 + ap3d.ap3d.ap1.ap1d
+ ap3d.ap3d.ap1.ap1 + ap3d.ap3.ap1d.ap1d + ap3d.ap3.ap1d.ap1
+ ap3d.ap3.ap1.ap1d + ap3d.ap3.ap1.ap1 + ap3.ap3d.ap1d.ap1d
+ ap3.ap3d.ap1d.ap1 + ap3.ap3d.ap1.ap1d + ap3.ap3d.ap1.ap1
+ ap3.ap3.ap1d.ap1d + ap3.ap3.ap1d.ap1 + ap3.ap3.ap1.ap1d
+ ap3.ap3.ap1.ap1)   (* Full Hamiltonian with phi-fourth interaction *)
Then I use these definitions to calculate the quantum autocorrelation function of the vacuum state ##\left|0\right>## : ##C(t)=\left<0\right|U(t)\left|0\right>##.

Here ##U(t)## is the time evolution operator of the system.

Code:
state = Table[Abs[vacuum.MatrixExp[-I*t*H/50].vacuum]^2, {t, 0, 250}]
ListPlot[state, PlotRange -> {0., 1}]
The plot of the autocorrelation function looks like this:

This plot looks like it is some kind of complicated function that has many sine and cosine components of different frequencies... I was expecting something simpler.

Last edited:
Your model is very approximate, so, in my opinion, the first thing would be trying to establish how robust are your results. Try to change parameters of the model (basis size, number of excitations, etc.) to see if you can reach convergence with respect to these parameters. Your results can be deemed reliable only if they converged.

Eugene.

Science Advisor
Gold Member
Your model is very approximate, so, in my opinion, the first thing would be trying to establish how robust are your results. Try to change parameters of the model (basis size, number of excitations, etc.) to see if you can reach convergence with respect to these parameters. Your results can be deemed reliable only if they converged.

Eugene.
To test the effect of increasing the number of momenta and excitations, I'll need to write this as a C++ code and use a supercomputer meant for scientific computation (I have access to one). The main thing that struck me as interesting here is that this autocorrelation function has no simple periodicity and it has features that look similar to random noise. I should probably try to find an analytical formula for the frequency spectrum of the fourier components of that function.

A. Neumaier
Science Advisor
2019 Award
features that look similar to random noise.
There are no such features. You simply get a superposition of 27 periodic functions with appropriate frequencies that you could find by solving the eigenvalue problem for your perturbed Hamiltonian.

Science Advisor
Gold Member
There are no such features. You simply get a superposition of 27 periodic functions with appropriate frequencies that you could find by solving the eigenvalue problem for your perturbed Hamiltonian.
Yes, there is no mathematical way to generate genuinely "random" noise, anyway. All random number algorithms generate only pseudorandom numbers. What I'm saying is that the distribution of fourier frequencies and amplitudes in those autocorrelation functions seems to be similar to that in fractal noise functions such as this in the image below:

For instance, if I use mathematica to generate a random sine series with frequencies uniformly distributed on the interval [0,10] and amplitudes distributed on [0,1]:

Code:
f[x_] = Sum[RandomReal[{0, 1}] Sin[RandomReal[{0, 10}] x], {n, 0, 10}]
Plot[f[x], {x, 0, 10}]
I get a plot like this:

which has an appearance completely different from either that vacuum state autocorrelation function or the perlin noise function.

Science Advisor
Gold Member
I made some more plots of the absolute squares of vacuum autocorrelation function ##|C(t)|^2 = |<0|e^{-iHt}|0>|^2## and
the expectation value of the particle number operator ##<N>(t)=<0|e^{iHt}Ne^{-iHt}|0>## for different numbers of momentum
modes and excitations available for each mode. All the plots are for the time interval ##0<t<10##.

3 modes, 3 excitations (##p_1 = -1##, ##p_2 = 0##, ##p_3 = +1##):
Mathematica code:
Code:
Id = SparseArray[Table[KroneckerDelta[i, j], {i, 1, 3}, {j, 1, 3}]]  (* 3X3 identity matrix *)

a0d = SparseArray[Table[KroneckerDelta[i - 1, j] Sqrt[i - 1], {i, 1, 3}, {j, 1, 3}]]  (* creation operator for a momentum mode *)

a0 = Transpose[a0d]   (* annihilation operator *)

ap1d = KroneckerProduct[a0d,Id,Id]  (* creation operator for momentum p=-1 *)
ap2d = KroneckerProduct[Id,a0d,Id]  (* creation operator for momentum p=0 *)
ap3d = KroneckerProduct[Id,Id,a0d]  (* creation operator for momentum p=+1 *)

ap1 = KroneckerProduct[a0,Id,Id]  (* annihilation operator for momentum p=-1 *)
ap2 = KroneckerProduct[Id,a0,Id]  (* annihilation operator for momentum p=0 *)
ap3 = KroneckerProduct[Id,Id,a0]  (* annihilation operator for momentum p=+1 *)

vacuum = Table[KroneckerDelta[1,n],{n,1,27}]   (* vacuum state vector of the system *)

H0 = ap1d.ap1 + ap3d.ap3   (* Noninteracting Klein-Gordon Hamiltonian *)

H = H0 + 0.1(ap1d.ap1d.ap3d.ap3d + ap1d.ap1d.ap3d.ap3 + ap1d.ap1d.ap3.ap3d
+ ap1d.ap1d.ap3.ap3 + ap1d.ap1.ap3d.ap3d + ap1d.ap1.ap3d.ap3
+ ap1d.ap1.ap3.ap3d + ap1d.ap1.ap3.ap3 + ap1.ap1d.ap3d.ap3d
+ ap1.ap1d.ap3d.ap3 + ap1.ap1d.ap3.ap3d + ap1.ap1d.ap3.ap3
+ ap1.ap1.ap3d.ap3d + ap1.ap1.ap3d.ap3 + ap1.ap1.ap3.ap3d
+ ap1.ap1.ap3.ap3 + ap1d.ap2d.ap2d.ap3d + ap1d.ap2d.ap2d.ap3
+ ap1d.ap2d.ap2.ap3d + ap1d.ap2d.ap2.ap3 + ap1d.ap2.ap2d.ap3d
+ ap1d.ap2.ap2d.ap3 + ap1d.ap2.ap2.ap3d + ap1d.ap2.ap2.ap3
+ ap1.ap2d.ap2d.ap3d + ap1.ap2d.ap2d.ap3 + ap1.ap2d.ap2.ap3d
+ ap1.ap2d.ap2.ap3 + ap1.ap2.ap2d.ap3d + ap1.ap2.ap2d.ap3
+ ap1.ap2.ap2.ap3d + ap1.ap2.ap2.ap3 + ap1d.ap2d.ap3d.ap2d
+ ap1d.ap2d.ap3d.ap2 + ap1d.ap2d.ap3.ap2d + ap1d.ap2d.ap3.ap2
+ ap1d.ap2.ap3d.ap2d + ap1d.ap2.ap3d.ap2 + ap1d.ap2.ap3.ap2d
+ ap1d.ap2.ap3.ap2 + ap1.ap2d.ap3d.ap2d + ap1.ap2d.ap3d.ap2
+ ap1.ap2d.ap3.ap2d + ap1.ap2d.ap3.ap2 + ap1.ap2.ap3d.ap2d
+ ap1.ap2.ap3d.ap2 + ap1.ap2.ap3.ap2d + ap1.ap2.ap3.ap2
+ ap1d.ap3d.ap1d.ap3d + ap1d.ap3d.ap1d.ap3 + ap1d.ap3d.ap1.ap3d
+ ap1d.ap3d.ap1.ap3 + ap1d.ap3.ap1d.ap3d + ap1d.ap3.ap1d.ap3
+ ap1d.ap3.ap1.ap3d + ap1d.ap3.ap1.ap3 + ap1.ap3d.ap1d.ap3d
+ ap1.ap3d.ap1d.ap3 + ap1.ap3d.ap1.ap3d + ap1.ap3d.ap1.ap3
+ ap1.ap3.ap1d.ap3d + ap1.ap3.ap1d.ap3 + ap1.ap3.ap1.ap3d
+ ap1.ap3.ap1.ap3 + ap1d.ap3d.ap2d.ap2d + ap1d.ap3d.ap2d.ap2
+ ap1d.ap3d.ap2.ap2d + ap1d.ap3d.ap2.ap2 + ap1d.ap3.ap2d.ap2d
+ ap1d.ap3.ap2d.ap2 + ap1d.ap3.ap2.ap2d + ap1d.ap3.ap2.ap2
+ ap1.ap3d.ap2d.ap2d + ap1.ap3d.ap2d.ap2 + ap1.ap3d.ap2.ap2d
+ ap1.ap3d.ap2.ap2 + ap1.ap3.ap2d.ap2d + ap1.ap3.ap2d.ap2
+ ap1.ap3.ap2.ap2d + ap1.ap3.ap2.ap2 + ap1d.ap3d.ap3d.ap1d
+ ap1d.ap3d.ap3d.ap1 + ap1d.ap3d.ap3.ap1d + ap1d.ap3d.ap3.ap1
+ ap1d.ap3.ap3d.ap1d + ap1d.ap3.ap3d.ap1 + ap1d.ap3.ap3.ap1d
+ ap1d.ap3.ap3.ap1 + ap1.ap3d.ap3d.ap1d + ap1.ap3d.ap3d.ap1
+ ap1.ap3d.ap3.ap1d + ap1.ap3d.ap3.ap1 + ap1.ap3.ap3d.ap1d
+ ap1.ap3.ap3d.ap1 + ap1.ap3.ap3.ap1d + ap1.ap3.ap3.ap1
+ ap2d.ap1d.ap2d.ap3d + ap2d.ap1d.ap2d.ap3 + ap2d.ap1d.ap2.ap3d
+ ap2d.ap1d.ap2.ap3 + ap2d.ap1.ap2d.ap3d + ap2d.ap1.ap2d.ap3
+ ap2d.ap1.ap2.ap3d + ap2d.ap1.ap2.ap3 + ap2.ap1d.ap2d.ap3d
+ ap2.ap1d.ap2d.ap3 + ap2.ap1d.ap2.ap3d + ap2.ap1d.ap2.ap3
+ ap2.ap1.ap2d.ap3d + ap2.ap1.ap2d.ap3 + ap2.ap1.ap2.ap3d
+ ap2.ap1.ap2.ap3 + ap2d.ap1d.ap3d.ap2d + ap2d.ap1d.ap3d.ap2
+ ap2d.ap1d.ap3.ap2d + ap2d.ap1d.ap3.ap2 + ap2d.ap1.ap3d.ap2d
+ ap2d.ap1.ap3d.ap2 + ap2d.ap1.ap3.ap2d + ap2d.ap1.ap3.ap2
+ ap2.ap1d.ap3d.ap2d + ap2.ap1d.ap3d.ap2 + ap2.ap1d.ap3.ap2d
+ ap2.ap1d.ap3.ap2 + ap2.ap1.ap3d.ap2d + ap2.ap1.ap3d.ap2
+ ap2.ap1.ap3.ap2d + ap2.ap1.ap3.ap2 + ap2d.ap2d.ap1d.ap3d
+ ap2d.ap2d.ap1d.ap3 + ap2d.ap2d.ap1.ap3d + ap2d.ap2d.ap1.ap3
+ ap2d.ap2.ap1d.ap3d + ap2d.ap2.ap1d.ap3 + ap2d.ap2.ap1.ap3d
+ ap2d.ap2.ap1.ap3 + ap2.ap2d.ap1d.ap3d + ap2.ap2d.ap1d.ap3
+ ap2.ap2d.ap1.ap3d + ap2.ap2d.ap1.ap3 + ap2.ap2.ap1d.ap3d
+ ap2.ap2.ap1d.ap3 + ap2.ap2.ap1.ap3d + ap2.ap2.ap1.ap3
+ ap2d.ap2d.ap2d.ap2d + ap2d.ap2d.ap2d.ap2 + ap2d.ap2d.ap2.ap2d
+ ap2d.ap2d.ap2.ap2 + ap2d.ap2.ap2d.ap2d + ap2d.ap2.ap2d.ap2
+ ap2d.ap2.ap2.ap2d + ap2d.ap2.ap2.ap2 + ap2.ap2d.ap2d.ap2d
+ ap2.ap2d.ap2d.ap2 + ap2.ap2d.ap2.ap2d + ap2.ap2d.ap2.ap2
+ ap2.ap2.ap2d.ap2d + ap2.ap2.ap2d.ap2 + ap2.ap2.ap2.ap2d
+ ap2.ap2.ap2.ap2 + ap2d.ap2d.ap3d.ap1d + ap2d.ap2d.ap3d.ap1
+ ap2d.ap2d.ap3.ap1d + ap2d.ap2d.ap3.ap1 + ap2d.ap2.ap3d.ap1d
+ ap2d.ap2.ap3d.ap1 + ap2d.ap2.ap3.ap1d + ap2d.ap2.ap3.ap1
+ ap2.ap2d.ap3d.ap1d + ap2.ap2d.ap3d.ap1 + ap2.ap2d.ap3.ap1d
+ ap2.ap2d.ap3.ap1 + ap2.ap2.ap3d.ap1d + ap2.ap2.ap3d.ap1
+ ap2.ap2.ap3.ap1d + ap2.ap2.ap3.ap1 + ap2d.ap3d.ap1d.ap2d
+ ap2d.ap3d.ap1d.ap2 + ap2d.ap3d.ap1.ap2d + ap2d.ap3d.ap1.ap2
+ ap2d.ap3.ap1d.ap2d + ap2d.ap3.ap1d.ap2 + ap2d.ap3.ap1.ap2d
+ ap2d.ap3.ap1.ap2 + ap2.ap3d.ap1d.ap2d + ap2.ap3d.ap1d.ap2
+ ap2.ap3d.ap1.ap2d + ap2.ap3d.ap1.ap2 + ap2.ap3.ap1d.ap2d
+ ap2.ap3.ap1d.ap2 + ap2.ap3.ap1.ap2d + ap2.ap3.ap1.ap2
+ ap2d.ap3d.ap2d.ap1d + ap2d.ap3d.ap2d.ap1 + ap2d.ap3d.ap2.ap1d
+ ap2d.ap3d.ap2.ap1 + ap2d.ap3.ap2d.ap1d + ap2d.ap3.ap2d.ap1
+ ap2d.ap3.ap2.ap1d + ap2d.ap3.ap2.ap1 + ap2.ap3d.ap2d.ap1d
+ ap2.ap3d.ap2d.ap1 + ap2.ap3d.ap2.ap1d + ap2.ap3d.ap2.ap1
+ ap2.ap3.ap2d.ap1d + ap2.ap3.ap2d.ap1 + ap2.ap3.ap2.ap1d
+ ap2.ap3.ap2.ap1 + ap3d.ap1d.ap1d.ap3d + ap3d.ap1d.ap1d.ap3
+ ap3d.ap1d.ap1.ap3d + ap3d.ap1d.ap1.ap3 + ap3d.ap1.ap1d.ap3d
+ ap3d.ap1.ap1d.ap3 + ap3d.ap1.ap1.ap3d + ap3d.ap1.ap1.ap3
+ ap3.ap1d.ap1d.ap3d + ap3.ap1d.ap1d.ap3 + ap3.ap1d.ap1.ap3d
+ ap3.ap1d.ap1.ap3 + ap3.ap1.ap1d.ap3d + ap3.ap1.ap1d.ap3
+ ap3.ap1.ap1.ap3d + ap3.ap1.ap1.ap3 + ap3d.ap1d.ap2d.ap2d
+ ap3d.ap1d.ap2d.ap2 + ap3d.ap1d.ap2.ap2d + ap3d.ap1d.ap2.ap2
+ ap3d.ap1.ap2d.ap2d + ap3d.ap1.ap2d.ap2 + ap3d.ap1.ap2.ap2d
+ ap3d.ap1.ap2.ap2 + ap3.ap1d.ap2d.ap2d + ap3.ap1d.ap2d.ap2
+ ap3.ap1d.ap2.ap2d + ap3.ap1d.ap2.ap2 + ap3.ap1.ap2d.ap2d
+ ap3.ap1.ap2d.ap2 + ap3.ap1.ap2.ap2d + ap3.ap1.ap2.ap2
+ ap3d.ap1d.ap3d.ap1d + ap3d.ap1d.ap3d.ap1 + ap3d.ap1d.ap3.ap1d
+ ap3d.ap1d.ap3.ap1 + ap3d.ap1.ap3d.ap1d + ap3d.ap1.ap3d.ap1
+ ap3d.ap1.ap3.ap1d + ap3d.ap1.ap3.ap1 + ap3.ap1d.ap3d.ap1d
+ ap3.ap1d.ap3d.ap1 + ap3.ap1d.ap3.ap1d + ap3.ap1d.ap3.ap1
+ ap3.ap1.ap3d.ap1d + ap3.ap1.ap3d.ap1 + ap3.ap1.ap3.ap1d
+ ap3.ap1.ap3.ap1 + ap3d.ap2d.ap1d.ap2d + ap3d.ap2d.ap1d.ap2
+ ap3d.ap2d.ap1.ap2d + ap3d.ap2d.ap1.ap2 + ap3d.ap2.ap1d.ap2d
+ ap3d.ap2.ap1d.ap2 + ap3d.ap2.ap1.ap2d + ap3d.ap2.ap1.ap2
+ ap3.ap2d.ap1d.ap2d + ap3.ap2d.ap1d.ap2 + ap3.ap2d.ap1.ap2d
+ ap3.ap2d.ap1.ap2 + ap3.ap2.ap1d.ap2d + ap3.ap2.ap1d.ap2
+ ap3.ap2.ap1.ap2d + ap3.ap2.ap1.ap2 + ap3d.ap2d.ap2d.ap1d
+ ap3d.ap2d.ap2d.ap1 + ap3d.ap2d.ap2.ap1d + ap3d.ap2d.ap2.ap1
+ ap3d.ap2.ap2d.ap1d + ap3d.ap2.ap2d.ap1 + ap3d.ap2.ap2.ap1d
+ ap3d.ap2.ap2.ap1 + ap3.ap2d.ap2d.ap1d + ap3.ap2d.ap2d.ap1
+ ap3.ap2d.ap2.ap1d + ap3.ap2d.ap2.ap1 + ap3.ap2.ap2d.ap1d
+ ap3.ap2.ap2d.ap1 + ap3.ap2.ap2.ap1d + ap3.ap2.ap2.ap1
+ ap3d.ap3d.ap1d.ap1d + ap3d.ap3d.ap1d.ap1 + ap3d.ap3d.ap1.ap1d
+ ap3d.ap3d.ap1.ap1 + ap3d.ap3.ap1d.ap1d + ap3d.ap3.ap1d.ap1
+ ap3d.ap3.ap1.ap1d + ap3d.ap3.ap1.ap1 + ap3.ap3d.ap1d.ap1d
+ ap3.ap3d.ap1d.ap1 + ap3.ap3d.ap1.ap1d + ap3.ap3d.ap1.ap1
+ ap3.ap3.ap1d.ap1d + ap3.ap3.ap1d.ap1 + ap3.ap3.ap1.ap1d
+ ap3.ap3.ap1.ap1)   (* Full Hamiltonian with phi-fourth interaction *)

ListDensityPlot[H]

Numo = ap1d.ap1 + ap2d.ap2 + ap3d.ap3

AutoCorr = Table[{t/200, Abs[vacuum.MatrixExp[-I*t*H/200].vacuum]^2}, {t, 1, 2000}]
Graphics[Line[AutoCorr], PlotRange -> {{0, 10}, {0, 1}}, Axes -> True]

NumberOp = Table[{t/200, Re[vacuum.MatrixExp[I*t*H/200].Numo.MatrixExp[-I*t*H/200].vacuum]}, {t, 0, 2000}]
Graphics[Line[NumberOp], PlotRange -> {{0, 10}, {0, 3}}, Axes -> True]

Histogram[Eigenvalues[H]]
Plot of the absolute square of vacuum autocorrelation function:

Plot of the expectation value of the particle number operator (at t=0 the system is in vacuum state and there are zero particles):

Mathematica's density plot of the Hamiltonian matrix (the element (1,1) is in the lower left corner):

Histogram of the eigenvalues of the Hamiltonian matrix:

3 modes, 4 excitations (##p_1 = -1##, ##p_2 = 0##, ##p_3 = +1##):
Plot of the absolute square of vacuum autocorrelation function:

Plot of the expectation value of the particle number operator:

Mathematica's density plot of the Hamiltonian matrix:

Histogram of the eigenvalues of the Hamiltonian matrix:

3 modes, 5 excitations (##p_1 = -1##, ##p_2 = 0##, ##p_3 = +1##):
Plot of the absolute square of vacuum autocorrelation function:

Plot of the expectation value of the particle number operator:

Mathematica's density plot of the Hamiltonian matrix:

Histogram of the eigenvalues of the Hamiltonian matrix:

4 modes, 3 excitations (##p_1 = -1##, ##p_2 = -1/3##, ##p_3 = +1/3##, ##p_4 = +1##):
Code:
Id = SparseArray[Table[KroneckerDelta[i, j], {i, 1, 3}, {j, 1,3}]]  (* 3X3 identity matrix *)

a0d = SparseArray[Table[KroneckerDelta[i - 1, j] Sqrt[i - 1], {i, 1, 3}, {j, 1, 3}]]  (* creation operator for a momentum mode *)

a0 = Transpose[a0d]   (* annihilation operator *)

ap1d = KroneckerProduct[a0d,Id,Id,Id]  (* creation operator for momentum p=-1 *)
ap2d = KroneckerProduct[Id,a0d,Id,Id]  (* creation operator for momentum p=-1/3 *)
ap3d = KroneckerProduct[Id,Id,a0d,Id]  (* creation operator for momentum p=+1/3 *)
ap4d = KroneckerProduct[Id,Id,Id,a0d]  (* creation operator for momentum p=+1 *)

ap1 = KroneckerProduct[a0,Id,Id,Id]  (* annihilation operator for momentum p=-1 *)
ap2 = KroneckerProduct[Id,a0,Id,Id]  (* annihilation operator for momentum p=-1/3 *)
ap3 = KroneckerProduct[Id,Id,a0,Id]  (* annihilation operator for momentum p=+1/3 *)
ap4 = KroneckerProduct[Id,Id,Id,a0]  (* annihilation operator for momentum p=+1 *)

vacuum = Table[KroneckerDelta[1,n],{n,1,3^4}]   (* vacuum state vector of the system *)

H0 = ap1d.ap1 + ap2d.ap2/3 + ap3d.ap3/3 + ap4d.ap4   (* Noninteracting Klein-Gordon Hamiltonian *)

H = H0 + 0.1(ap1d.ap1d.ap4d.ap4d +ap1d.ap1d.ap4d.ap4 +
ap1d.ap1d.ap4.ap4d +ap1d.ap1d.ap4.ap4 + ap1d.ap1.ap4d.ap4d +
ap1d.ap1.ap4d.ap4 + ap1d.ap1.ap4.ap4d +ap1d.ap1.ap4.ap4 +
ap1.ap1d.ap4d.ap4d +ap1.ap1d.ap4d.ap4 + ap1.ap1d.ap4.ap4d +
ap1.ap1d.ap4.ap4 + ap1.ap1.ap4d.ap4d +ap1.ap1.ap4d.ap4 +
ap1.ap1.ap4.ap4d +ap1.ap1.ap4.ap4 + ap1d.ap2d.ap3d.ap4d +
ap1d.ap2d.ap3d.ap4 + ap1d.ap2d.ap3.ap4d +ap1d.ap2d.ap3.ap4 +
ap1d.ap2.ap3d.ap4d +ap1d.ap2.ap3d.ap4 + ap1d.ap2.ap3.ap4d +
ap1d.ap2.ap3.ap4 + ap1.ap2d.ap3d.ap4d +ap1.ap2d.ap3d.ap4 +
ap1.ap2d.ap3.ap4d +ap1.ap2d.ap3.ap4 + ap1.ap2.ap3d.ap4d +
ap1.ap2.ap3d.ap4 + ap1.ap2.ap3.ap4d +ap1.ap2.ap3.ap4 +
ap1d.ap2d.ap4d.ap3d +ap1d.ap2d.ap4d.ap3 + ap1d.ap2d.ap4.ap3d +
ap1d.ap2d.ap4.ap3 + ap1d.ap2.ap4d.ap3d +ap1d.ap2.ap4d.ap3 +
ap1d.ap2.ap4.ap3d +ap1d.ap2.ap4.ap3 + ap1.ap2d.ap4d.ap3d +
ap1.ap2d.ap4d.ap3 + ap1.ap2d.ap4.ap3d +ap1.ap2d.ap4.ap3 +
ap1.ap2.ap4d.ap3d +ap1.ap2.ap4d.ap3 + ap1.ap2.ap4.ap3d +
ap1.ap2.ap4.ap3 + ap1d.ap3d.ap2d.ap4d +ap1d.ap3d.ap2d.ap4 +
ap1d.ap3d.ap2.ap4d +ap1d.ap3d.ap2.ap4 + ap1d.ap3.ap2d.ap4d +
ap1d.ap3.ap2d.ap4 + ap1d.ap3.ap2.ap4d +ap1d.ap3.ap2.ap4 +
ap1.ap3d.ap2d.ap4d +ap1.ap3d.ap2d.ap4 + ap1.ap3d.ap2.ap4d +
ap1.ap3d.ap2.ap4 + ap1.ap3.ap2d.ap4d +ap1.ap3.ap2d.ap4 +
ap1.ap3.ap2.ap4d +ap1.ap3.ap2.ap4 + ap1d.ap3d.ap3d.ap3d +
ap1d.ap3d.ap3d.ap3 + ap1d.ap3d.ap3.ap3d +ap1d.ap3d.ap3.ap3 +
ap1d.ap3.ap3d.ap3d +ap1d.ap3.ap3d.ap3 + ap1d.ap3.ap3.ap3d +
ap1d.ap3.ap3.ap3 + ap1.ap3d.ap3d.ap3d +ap1.ap3d.ap3d.ap3 +
ap1.ap3d.ap3.ap3d +ap1.ap3d.ap3.ap3 + ap1.ap3.ap3d.ap3d +
ap1.ap3.ap3d.ap3 + ap1.ap3.ap3.ap3d +ap1.ap3.ap3.ap3 +
ap1d.ap3d.ap4d.ap2d +ap1d.ap3d.ap4d.ap2 + ap1d.ap3d.ap4.ap2d +
ap1d.ap3d.ap4.ap2 + ap1d.ap3.ap4d.ap2d +ap1d.ap3.ap4d.ap2 +
ap1d.ap3.ap4.ap2d +ap1d.ap3.ap4.ap2 + ap1.ap3d.ap4d.ap2d +
ap1.ap3d.ap4d.ap2 + ap1.ap3d.ap4.ap2d +ap1.ap3d.ap4.ap2 +
ap1.ap3.ap4d.ap2d +ap1.ap3.ap4d.ap2 + ap1.ap3.ap4.ap2d +
ap1.ap3.ap4.ap2 + ap1d.ap4d.ap1d.ap4d +ap1d.ap4d.ap1d.ap4 +
ap1d.ap4d.ap1.ap4d +ap1d.ap4d.ap1.ap4 + ap1d.ap4.ap1d.ap4d +
ap1d.ap4.ap1d.ap4 + ap1d.ap4.ap1.ap4d +ap1d.ap4.ap1.ap4 +
ap1.ap4d.ap1d.ap4d +ap1.ap4d.ap1d.ap4 + ap1.ap4d.ap1.ap4d +
ap1.ap4d.ap1.ap4 + ap1.ap4.ap1d.ap4d +ap1.ap4.ap1d.ap4 +
ap1.ap4.ap1.ap4d +ap1.ap4.ap1.ap4 + ap1d.ap4d.ap2d.ap3d +
ap1d.ap4d.ap2d.ap3 + ap1d.ap4d.ap2.ap3d +ap1d.ap4d.ap2.ap3 +
ap1d.ap4.ap2d.ap3d +ap1d.ap4.ap2d.ap3 + ap1d.ap4.ap2.ap3d +
ap1d.ap4.ap2.ap3 + ap1.ap4d.ap2d.ap3d +ap1.ap4d.ap2d.ap3 +
ap1.ap4d.ap2.ap3d +ap1.ap4d.ap2.ap3 + ap1.ap4.ap2d.ap3d +
ap1.ap4.ap2d.ap3 + ap1.ap4.ap2.ap3d +ap1.ap4.ap2.ap3 +
ap1d.ap4d.ap3d.ap2d +ap1d.ap4d.ap3d.ap2 + ap1d.ap4d.ap3.ap2d +
ap1d.ap4d.ap3.ap2 + ap1d.ap4.ap3d.ap2d +ap1d.ap4.ap3d.ap2 +
ap1d.ap4.ap3.ap2d +ap1d.ap4.ap3.ap2 + ap1.ap4d.ap3d.ap2d +
ap1.ap4d.ap3d.ap2 + ap1.ap4d.ap3.ap2d +ap1.ap4d.ap3.ap2 +
ap1.ap4.ap3d.ap2d +ap1.ap4.ap3d.ap2 + ap1.ap4.ap3.ap2d +
ap1.ap4.ap3.ap2 + ap1d.ap4d.ap4d.ap1d +ap1d.ap4d.ap4d.ap1 +
ap1d.ap4d.ap4.ap1d +ap1d.ap4d.ap4.ap1 + ap1d.ap4.ap4d.ap1d +
ap1d.ap4.ap4d.ap1 + ap1d.ap4.ap4.ap1d +ap1d.ap4.ap4.ap1 +
ap1.ap4d.ap4d.ap1d +ap1.ap4d.ap4d.ap1 + ap1.ap4d.ap4.ap1d +
ap1.ap4d.ap4.ap1 + ap1.ap4.ap4d.ap1d +ap1.ap4.ap4d.ap1 +
ap1.ap4.ap4.ap1d +ap1.ap4.ap4.ap1 + ap2d.ap1d.ap3d.ap4d +
ap2d.ap1d.ap3d.ap4 + ap2d.ap1d.ap3.ap4d +ap2d.ap1d.ap3.ap4 +
ap2d.ap1.ap3d.ap4d +ap2d.ap1.ap3d.ap4 + ap2d.ap1.ap3.ap4d +
ap2d.ap1.ap3.ap4 + ap2.ap1d.ap3d.ap4d +ap2.ap1d.ap3d.ap4 +
ap2.ap1d.ap3.ap4d +ap2.ap1d.ap3.ap4 + ap2.ap1.ap3d.ap4d +
ap2.ap1.ap3d.ap4 + ap2.ap1.ap3.ap4d +ap2.ap1.ap3.ap4 +
ap2d.ap1d.ap4d.ap3d +ap2d.ap1d.ap4d.ap3 + ap2d.ap1d.ap4.ap3d +
ap2d.ap1d.ap4.ap3 + ap2d.ap1.ap4d.ap3d +ap2d.ap1.ap4d.ap3 +
ap2d.ap1.ap4.ap3d +ap2d.ap1.ap4.ap3 + ap2.ap1d.ap4d.ap3d +
ap2.ap1d.ap4d.ap3 + ap2.ap1d.ap4.ap3d +ap2.ap1d.ap4.ap3 +
ap2.ap1.ap4d.ap3d +ap2.ap1.ap4d.ap3 + ap2.ap1.ap4.ap3d +
ap2.ap1.ap4.ap3 + ap2d.ap2d.ap2d.ap4d +ap2d.ap2d.ap2d.ap4 +
ap2d.ap2d.ap2.ap4d +ap2d.ap2d.ap2.ap4 + ap2d.ap2.ap2d.ap4d +
ap2d.ap2.ap2d.ap4 + ap2d.ap2.ap2.ap4d +ap2d.ap2.ap2.ap4 +
ap2.ap2d.ap2d.ap4d +ap2.ap2d.ap2d.ap4 + ap2.ap2d.ap2.ap4d +
ap2.ap2d.ap2.ap4 + ap2.ap2.ap2d.ap4d +ap2.ap2.ap2d.ap4 +
ap2.ap2.ap2.ap4d +ap2.ap2.ap2.ap4 + ap2d.ap2d.ap3d.ap3d +
ap2d.ap2d.ap3d.ap3 + ap2d.ap2d.ap3.ap3d +ap2d.ap2d.ap3.ap3 +
ap2d.ap2.ap3d.ap3d +ap2d.ap2.ap3d.ap3 + ap2d.ap2.ap3.ap3d +
ap2d.ap2.ap3.ap3 + ap2.ap2d.ap3d.ap3d +ap2.ap2d.ap3d.ap3 +
ap2.ap2d.ap3.ap3d +ap2.ap2d.ap3.ap3 + ap2.ap2.ap3d.ap3d +
ap2.ap2.ap3d.ap3 + ap2.ap2.ap3.ap3d +ap2.ap2.ap3.ap3 +
ap2d.ap2d.ap4d.ap2d +ap2d.ap2d.ap4d.ap2 + ap2d.ap2d.ap4.ap2d +
ap2d.ap2d.ap4.ap2 + ap2d.ap2.ap4d.ap2d +ap2d.ap2.ap4d.ap2 +
ap2d.ap2.ap4.ap2d +ap2d.ap2.ap4.ap2 + ap2.ap2d.ap4d.ap2d +
ap2.ap2d.ap4d.ap2 + ap2.ap2d.ap4.ap2d +ap2.ap2d.ap4.ap2 +
ap2.ap2.ap4d.ap2d +ap2.ap2.ap4d.ap2 + ap2.ap2.ap4.ap2d +
ap2.ap2.ap4.ap2 + ap2d.ap3d.ap1d.ap4d +ap2d.ap3d.ap1d.ap4 +
ap2d.ap3d.ap1.ap4d +ap2d.ap3d.ap1.ap4 + ap2d.ap3.ap1d.ap4d +
ap2d.ap3.ap1d.ap4 + ap2d.ap3.ap1.ap4d +ap2d.ap3.ap1.ap4 +
ap2.ap3d.ap1d.ap4d +ap2.ap3d.ap1d.ap4 + ap2.ap3d.ap1.ap4d +
ap2.ap3d.ap1.ap4 + ap2.ap3.ap1d.ap4d +ap2.ap3.ap1d.ap4 +
ap2.ap3.ap1.ap4d +ap2.ap3.ap1.ap4 + ap2d.ap3d.ap2d.ap3d +
ap2d.ap3d.ap2d.ap3 + ap2d.ap3d.ap2.ap3d +ap2d.ap3d.ap2.ap3 +
ap2d.ap3.ap2d.ap3d +ap2d.ap3.ap2d.ap3 + ap2d.ap3.ap2.ap3d +
ap2d.ap3.ap2.ap3 + ap2.ap3d.ap2d.ap3d +ap2.ap3d.ap2d.ap3 +
ap2.ap3d.ap2.ap3d +ap2.ap3d.ap2.ap3 + ap2.ap3.ap2d.ap3d +
ap2.ap3.ap2d.ap3 + ap2.ap3.ap2.ap3d +ap2.ap3.ap2.ap3 +
ap2d.ap3d.ap3d.ap2d +ap2d.ap3d.ap3d.ap2 + ap2d.ap3d.ap3.ap2d +
ap2d.ap3d.ap3.ap2 + ap2d.ap3.ap3d.ap2d +ap2d.ap3.ap3d.ap2 +
ap2d.ap3.ap3.ap2d +ap2d.ap3.ap3.ap2 + ap2.ap3d.ap3d.ap2d +
ap2.ap3d.ap3d.ap2 + ap2.ap3d.ap3.ap2d +ap2.ap3d.ap3.ap2 +
ap2.ap3.ap3d.ap2d +ap2.ap3.ap3d.ap2 + ap2.ap3.ap3.ap2d +
ap2.ap3.ap3.ap2 + ap2d.ap3d.ap4d.ap1d +ap2d.ap3d.ap4d.ap1 +
ap2d.ap3d.ap4.ap1d +ap2d.ap3d.ap4.ap1 + ap2d.ap3.ap4d.ap1d +
ap2d.ap3.ap4d.ap1 + ap2d.ap3.ap4.ap1d +ap2d.ap3.ap4.ap1 +
ap2.ap3d.ap4d.ap1d +ap2.ap3d.ap4d.ap1 + ap2.ap3d.ap4.ap1d +
ap2.ap3d.ap4.ap1 + ap2.ap3.ap4d.ap1d +ap2.ap3.ap4d.ap1 +
ap2.ap3.ap4.ap1d +ap2.ap3.ap4.ap1 + ap2d.ap4d.ap1d.ap3d +
ap2d.ap4d.ap1d.ap3 + ap2d.ap4d.ap1.ap3d +ap2d.ap4d.ap1.ap3 +
ap2d.ap4.ap1d.ap3d +ap2d.ap4.ap1d.ap3 + ap2d.ap4.ap1.ap3d +
ap2d.ap4.ap1.ap3 + ap2.ap4d.ap1d.ap3d +ap2.ap4d.ap1d.ap3 +
ap2.ap4d.ap1.ap3d +ap2.ap4d.ap1.ap3 + ap2.ap4.ap1d.ap3d +
ap2.ap4.ap1d.ap3 + ap2.ap4.ap1.ap3d +ap2.ap4.ap1.ap3 +
ap2d.ap4d.ap2d.ap2d +ap2d.ap4d.ap2d.ap2 + ap2d.ap4d.ap2.ap2d +
ap2d.ap4d.ap2.ap2 + ap2d.ap4.ap2d.ap2d +ap2d.ap4.ap2d.ap2 +
ap2d.ap4.ap2.ap2d +ap2d.ap4.ap2.ap2 + ap2.ap4d.ap2d.ap2d +
ap2.ap4d.ap2d.ap2 + ap2.ap4d.ap2.ap2d +ap2.ap4d.ap2.ap2 +
ap2.ap4.ap2d.ap2d +ap2.ap4.ap2d.ap2 + ap2.ap4.ap2.ap2d +
ap2.ap4.ap2.ap2 + ap2d.ap4d.ap3d.ap1d +ap2d.ap4d.ap3d.ap1 +
ap2d.ap4d.ap3.ap1d +ap2d.ap4d.ap3.ap1 + ap2d.ap4.ap3d.ap1d +
ap2d.ap4.ap3d.ap1 + ap2d.ap4.ap3.ap1d +ap2d.ap4.ap3.ap1 +
ap2.ap4d.ap3d.ap1d +ap2.ap4d.ap3d.ap1 + ap2.ap4d.ap3.ap1d +
ap2.ap4d.ap3.ap1 + ap2.ap4.ap3d.ap1d +ap2.ap4.ap3d.ap1 +
ap2.ap4.ap3.ap1d +ap2.ap4.ap3.ap1 + ap3d.ap1d.ap2d.ap4d +
ap3d.ap1d.ap2d.ap4 + ap3d.ap1d.ap2.ap4d +ap3d.ap1d.ap2.ap4 +
ap3d.ap1.ap2d.ap4d +ap3d.ap1.ap2d.ap4 + ap3d.ap1.ap2.ap4d +
ap3d.ap1.ap2.ap4 + ap3.ap1d.ap2d.ap4d +ap3.ap1d.ap2d.ap4 +
ap3.ap1d.ap2.ap4d +ap3.ap1d.ap2.ap4 + ap3.ap1.ap2d.ap4d +
ap3.ap1.ap2d.ap4 + ap3.ap1.ap2.ap4d +ap3.ap1.ap2.ap4 +
ap3d.ap1d.ap3d.ap3d +ap3d.ap1d.ap3d.ap3 + ap3d.ap1d.ap3.ap3d +
ap3d.ap1d.ap3.ap3 + ap3d.ap1.ap3d.ap3d +ap3d.ap1.ap3d.ap3 +
ap3d.ap1.ap3.ap3d +ap3d.ap1.ap3.ap3 + ap3.ap1d.ap3d.ap3d +
ap3.ap1d.ap3d.ap3 + ap3.ap1d.ap3.ap3d +ap3.ap1d.ap3.ap3 +
ap3.ap1.ap3d.ap3d +ap3.ap1.ap3d.ap3 + ap3.ap1.ap3.ap3d +
ap3.ap1.ap3.ap3 + ap3d.ap1d.ap4d.ap2d +ap3d.ap1d.ap4d.ap2 +
ap3d.ap1d.ap4.ap2d +ap3d.ap1d.ap4.ap2 + ap3d.ap1.ap4d.ap2d +
ap3d.ap1.ap4d.ap2 + ap3d.ap1.ap4.ap2d +ap3d.ap1.ap4.ap2 +
ap3.ap1d.ap4d.ap2d +ap3.ap1d.ap4d.ap2 + ap3.ap1d.ap4.ap2d +
ap3.ap1d.ap4.ap2 + ap3.ap1.ap4d.ap2d +ap3.ap1.ap4d.ap2 +
ap3.ap1.ap4.ap2d +ap3.ap1.ap4.ap2 + ap3d.ap2d.ap1d.ap4d +
ap3d.ap2d.ap1d.ap4 + ap3d.ap2d.ap1.ap4d +ap3d.ap2d.ap1.ap4 +
ap3d.ap2.ap1d.ap4d +ap3d.ap2.ap1d.ap4 + ap3d.ap2.ap1.ap4d +
ap3d.ap2.ap1.ap4 + ap3.ap2d.ap1d.ap4d +ap3.ap2d.ap1d.ap4 +
ap3.ap2d.ap1.ap4d +ap3.ap2d.ap1.ap4 + ap3.ap2.ap1d.ap4d +
ap3.ap2.ap1d.ap4 + ap3.ap2.ap1.ap4d +ap3.ap2.ap1.ap4 +
ap3d.ap2d.ap2d.ap3d +ap3d.ap2d.ap2d.ap3 + ap3d.ap2d.ap2.ap3d +
ap3d.ap2d.ap2.ap3 + ap3d.ap2.ap2d.ap3d +ap3d.ap2.ap2d.ap3 +
ap3d.ap2.ap2.ap3d +ap3d.ap2.ap2.ap3 + ap3.ap2d.ap2d.ap3d +
ap3.ap2d.ap2d.ap3 + ap3.ap2d.ap2.ap3d +ap3.ap2d.ap2.ap3 +
ap3.ap2.ap2d.ap3d +ap3.ap2.ap2d.ap3 + ap3.ap2.ap2.ap3d +
ap3.ap2.ap2.ap3 + ap3d.ap2d.ap3d.ap2d +ap3d.ap2d.ap3d.ap2 +
ap3d.ap2d.ap3.ap2d +ap3d.ap2d.ap3.ap2 + ap3d.ap2.ap3d.ap2d +
ap3d.ap2.ap3d.ap2 + ap3d.ap2.ap3.ap2d +ap3d.ap2.ap3.ap2 +
ap3.ap2d.ap3d.ap2d +ap3.ap2d.ap3d.ap2 + ap3.ap2d.ap3.ap2d +
ap3.ap2d.ap3.ap2 + ap3.ap2.ap3d.ap2d +ap3.ap2.ap3d.ap2 +
ap3.ap2.ap3.ap2d +ap3.ap2.ap3.ap2 + ap3d.ap2d.ap4d.ap1d +
ap3d.ap2d.ap4d.ap1 + ap3d.ap2d.ap4.ap1d +ap3d.ap2d.ap4.ap1 +
ap3d.ap2.ap4d.ap1d +ap3d.ap2.ap4d.ap1 + ap3d.ap2.ap4.ap1d +
ap3d.ap2.ap4.ap1 + ap3.ap2d.ap4d.ap1d +ap3.ap2d.ap4d.ap1 +
ap3.ap2d.ap4.ap1d +ap3.ap2d.ap4.ap1 + ap3.ap2.ap4d.ap1d +
ap3.ap2.ap4d.ap1 + ap3.ap2.ap4.ap1d +ap3.ap2.ap4.ap1 +
ap3d.ap3d.ap1d.ap3d +ap3d.ap3d.ap1d.ap3 + ap3d.ap3d.ap1.ap3d +
ap3d.ap3d.ap1.ap3 + ap3d.ap3.ap1d.ap3d +ap3d.ap3.ap1d.ap3 +
ap3d.ap3.ap1.ap3d +ap3d.ap3.ap1.ap3 + ap3.ap3d.ap1d.ap3d +
ap3.ap3d.ap1d.ap3 + ap3.ap3d.ap1.ap3d +ap3.ap3d.ap1.ap3 +
ap3.ap3.ap1d.ap3d +ap3.ap3.ap1d.ap3 + ap3.ap3.ap1.ap3d +
ap3.ap3.ap1.ap3 + ap3d.ap3d.ap2d.ap2d +ap3d.ap3d.ap2d.ap2 +
ap3d.ap3d.ap2.ap2d +ap3d.ap3d.ap2.ap2 + ap3d.ap3.ap2d.ap2d +
ap3d.ap3.ap2d.ap2 + ap3d.ap3.ap2.ap2d +ap3d.ap3.ap2.ap2 +
ap3.ap3d.ap2d.ap2d +ap3.ap3d.ap2d.ap2 + ap3.ap3d.ap2.ap2d +
ap3.ap3d.ap2.ap2 + ap3.ap3.ap2d.ap2d +ap3.ap3.ap2d.ap2 +
ap3.ap3.ap2.ap2d +ap3.ap3.ap2.ap2 + ap3d.ap3d.ap3d.ap1d +
ap3d.ap3d.ap3d.ap1 + ap3d.ap3d.ap3.ap1d +ap3d.ap3d.ap3.ap1 +
ap3d.ap3.ap3d.ap1d +ap3d.ap3.ap3d.ap1 + ap3d.ap3.ap3.ap1d +
ap3d.ap3.ap3.ap1 + ap3.ap3d.ap3d.ap1d +ap3.ap3d.ap3d.ap1 +
ap3.ap3d.ap3.ap1d +ap3.ap3d.ap3.ap1 + ap3.ap3.ap3d.ap1d +
ap3.ap3.ap3d.ap1 + ap3.ap3.ap3.ap1d +ap3.ap3.ap3.ap1 +
ap3d.ap4d.ap1d.ap2d +ap3d.ap4d.ap1d.ap2 + ap3d.ap4d.ap1.ap2d +
ap3d.ap4d.ap1.ap2 + ap3d.ap4.ap1d.ap2d +ap3d.ap4.ap1d.ap2 +
ap3d.ap4.ap1.ap2d +ap3d.ap4.ap1.ap2 + ap3.ap4d.ap1d.ap2d +
ap3.ap4d.ap1d.ap2 + ap3.ap4d.ap1.ap2d +ap3.ap4d.ap1.ap2 +
ap3.ap4.ap1d.ap2d +ap3.ap4.ap1d.ap2 + ap3.ap4.ap1.ap2d +
ap3.ap4.ap1.ap2 + ap3d.ap4d.ap2d.ap1d +ap3d.ap4d.ap2d.ap1 +
ap3d.ap4d.ap2.ap1d +ap3d.ap4d.ap2.ap1 + ap3d.ap4.ap2d.ap1d +
ap3d.ap4.ap2d.ap1 + ap3d.ap4.ap2.ap1d +ap3d.ap4.ap2.ap1 +
ap3.ap4d.ap2d.ap1d +ap3.ap4d.ap2d.ap1 + ap3.ap4d.ap2.ap1d +
ap3.ap4d.ap2.ap1 + ap3.ap4.ap2d.ap1d +ap3.ap4.ap2d.ap1 +
ap3.ap4.ap2.ap1d +ap3.ap4.ap2.ap1 + ap4d.ap1d.ap1d.ap4d +
ap4d.ap1d.ap1d.ap4 + ap4d.ap1d.ap1.ap4d +ap4d.ap1d.ap1.ap4 +
ap4d.ap1.ap1d.ap4d +ap4d.ap1.ap1d.ap4 + ap4d.ap1.ap1.ap4d +
ap4d.ap1.ap1.ap4 + ap4.ap1d.ap1d.ap4d +ap4.ap1d.ap1d.ap4 +
ap4.ap1d.ap1.ap4d +ap4.ap1d.ap1.ap4 + ap4.ap1.ap1d.ap4d +
ap4.ap1.ap1d.ap4 + ap4.ap1.ap1.ap4d +ap4.ap1.ap1.ap4 +
ap4d.ap1d.ap2d.ap3d +ap4d.ap1d.ap2d.ap3 + ap4d.ap1d.ap2.ap3d +
ap4d.ap1d.ap2.ap3 + ap4d.ap1.ap2d.ap3d +ap4d.ap1.ap2d.ap3 +
ap4d.ap1.ap2.ap3d +ap4d.ap1.ap2.ap3 + ap4.ap1d.ap2d.ap3d +
ap4.ap1d.ap2d.ap3 + ap4.ap1d.ap2.ap3d +ap4.ap1d.ap2.ap3 +
ap4.ap1.ap2d.ap3d +ap4.ap1.ap2d.ap3 + ap4.ap1.ap2.ap3d +
ap4.ap1.ap2.ap3 + ap4d.ap1d.ap3d.ap2d +ap4d.ap1d.ap3d.ap2 +
ap4d.ap1d.ap3.ap2d +ap4d.ap1d.ap3.ap2 + ap4d.ap1.ap3d.ap2d +
ap4d.ap1.ap3d.ap2 + ap4d.ap1.ap3.ap2d +ap4d.ap1.ap3.ap2 +
ap4.ap1d.ap3d.ap2d +ap4.ap1d.ap3d.ap2 + ap4.ap1d.ap3.ap2d +
ap4.ap1d.ap3.ap2 + ap4.ap1.ap3d.ap2d +ap4.ap1.ap3d.ap2 +
ap4.ap1.ap3.ap2d +ap4.ap1.ap3.ap2 + ap4d.ap1d.ap4d.ap1d +
ap4d.ap1d.ap4d.ap1 + ap4d.ap1d.ap4.ap1d +ap4d.ap1d.ap4.ap1 +
ap4d.ap1.ap4d.ap1d +ap4d.ap1.ap4d.ap1 + ap4d.ap1.ap4.ap1d +
ap4d.ap1.ap4.ap1 + ap4.ap1d.ap4d.ap1d +ap4.ap1d.ap4d.ap1 +
ap4.ap1d.ap4.ap1d +ap4.ap1d.ap4.ap1 + ap4.ap1.ap4d.ap1d +
ap4.ap1.ap4d.ap1 + ap4.ap1.ap4.ap1d +ap4.ap1.ap4.ap1 +
ap4d.ap2d.ap1d.ap3d +ap4d.ap2d.ap1d.ap3 + ap4d.ap2d.ap1.ap3d +
ap4d.ap2d.ap1.ap3 + ap4d.ap2.ap1d.ap3d +ap4d.ap2.ap1d.ap3 +
ap4d.ap2.ap1.ap3d +ap4d.ap2.ap1.ap3 + ap4.ap2d.ap1d.ap3d +
ap4.ap2d.ap1d.ap3 + ap4.ap2d.ap1.ap3d +ap4.ap2d.ap1.ap3 +
ap4.ap2.ap1d.ap3d +ap4.ap2.ap1d.ap3 + ap4.ap2.ap1.ap3d +
ap4.ap2.ap1.ap3 + ap4d.ap2d.ap2d.ap2d +ap4d.ap2d.ap2d.ap2 +
ap4d.ap2d.ap2.ap2d +ap4d.ap2d.ap2.ap2 + ap4d.ap2.ap2d.ap2d +
ap4d.ap2.ap2d.ap2 + ap4d.ap2.ap2.ap2d +ap4d.ap2.ap2.ap2 +
ap4.ap2d.ap2d.ap2d +ap4.ap2d.ap2d.ap2 + ap4.ap2d.ap2.ap2d +
ap4.ap2d.ap2.ap2 + ap4.ap2.ap2d.ap2d +ap4.ap2.ap2d.ap2 +
ap4.ap2.ap2.ap2d +ap4.ap2.ap2.ap2 + ap4d.ap2d.ap3d.ap1d +
ap4d.ap2d.ap3d.ap1 + ap4d.ap2d.ap3.ap1d +ap4d.ap2d.ap3.ap1 +
ap4d.ap2.ap3d.ap1d +ap4d.ap2.ap3d.ap1 + ap4d.ap2.ap3.ap1d +
ap4d.ap2.ap3.ap1 + ap4.ap2d.ap3d.ap1d +ap4.ap2d.ap3d.ap1 +
ap4.ap2d.ap3.ap1d +ap4.ap2d.ap3.ap1 + ap4.ap2.ap3d.ap1d +
ap4.ap2.ap3d.ap1 + ap4.ap2.ap3.ap1d +ap4.ap2.ap3.ap1 +
ap4d.ap3d.ap1d.ap2d +ap4d.ap3d.ap1d.ap2 + ap4d.ap3d.ap1.ap2d +
ap4d.ap3d.ap1.ap2 + ap4d.ap3.ap1d.ap2d +ap4d.ap3.ap1d.ap2 +
ap4d.ap3.ap1.ap2d +ap4d.ap3.ap1.ap2 + ap4.ap3d.ap1d.ap2d +
ap4.ap3d.ap1d.ap2 + ap4.ap3d.ap1.ap2d +ap4.ap3d.ap1.ap2 +
ap4.ap3.ap1d.ap2d +ap4.ap3.ap1d.ap2 + ap4.ap3.ap1.ap2d +
ap4.ap3.ap1.ap2 + ap4d.ap3d.ap2d.ap1d +ap4d.ap3d.ap2d.ap1 +
ap4d.ap3d.ap2.ap1d +ap4d.ap3d.ap2.ap1 + ap4d.ap3.ap2d.ap1d +
ap4d.ap3.ap2d.ap1 + ap4d.ap3.ap2.ap1d +ap4d.ap3.ap2.ap1 +
ap4.ap3d.ap2d.ap1d +ap4.ap3d.ap2d.ap1 + ap4.ap3d.ap2.ap1d +
ap4.ap3d.ap2.ap1 + ap4.ap3.ap2d.ap1d +ap4.ap3.ap2d.ap1 +
ap4.ap3.ap2.ap1d +ap4.ap3.ap2.ap1 + ap4d.ap4d.ap1d.ap1d +
ap4d.ap4d.ap1d.ap1 + ap4d.ap4d.ap1.ap1d +ap4d.ap4d.ap1.ap1 +
ap4d.ap4.ap1d.ap1d +ap4d.ap4.ap1d.ap1 + ap4d.ap4.ap1.ap1d +
ap4d.ap4.ap1.ap1 + ap4.ap4d.ap1d.ap1d +ap4.ap4d.ap1d.ap1 +
ap4.ap4d.ap1.ap1d +ap4.ap4d.ap1.ap1 + ap4.ap4.ap1d.ap1d +
ap4.ap4.ap1d.ap1 + ap4.ap4.ap1.ap1d +ap4.ap4.ap1.ap1)

NumberOp = ap1d.ap1 + ap2d.ap2 + ap3d.ap3 + ap4d.ap4

AutoCorr = Table[{t/200, Abs[vacuum.MatrixExp[-I*t*H/200].vacuum]^2}, {t, 1, 2000}]
Graphics[Line[AutoCorr], PlotRange -> {{0, 10}, {0, 1}}, Axes -> True]

Numbo = Table[{t/200, Re[vacuum.MatrixExp[I*t*H/200].NumberOp.MatrixExp[-I*t*H/200].vacuum]}, {t, 0, 2000}]
Graphics[Line[Numbo], PlotRange -> {{0, 10}, {0, 3}}, Axes -> True]

ListDensityPlot[H]

Histogram[Eigenvalues[H]]
Plot of the absolute square of vacuum autocorrelation function:

Plot of the expectation value of the particle number operator:

Mathematica's density plot of the Hamiltonian matrix:

Histogram of the eigenvalues of the Hamiltonian matrix:

4 modes, 4 excitations (##p_1 = -1##, ##p_2 = -1/3##, ##p_3 = +1/3##, ##p_4 = +1##):
Plot of the absolute square of vacuum autocorrelation function:

Plot of the expectation value of the particle number operator:

Mathematica's density plot of the Hamiltonian matrix:

Histogram of the eigenvalues of the Hamiltonian matrix:

Last edited:
Science Advisor
Gold Member
Still a little question about this subject... What if I try to simulate a KG field that has been confined in a box and has to vanish at the edges of the box? In analogy to the "particle in a box" problem of ordinary QM, I'd expect that only states with zero net momentum would be allowed, and the set of allowed quantum states could be spanned with vectors that are obtained by acting on the vacuum with operators of the form ##a_{p}^{\dagger} + a_{-p}^{\dagger}## (or should I also include excitations with the operators ##a_{p}^{\dagger} - a_{-p}^{\dagger}## ?) This, however, would not allow states like ##\left|p=-2/3;n=1\right>\left|p=+1/3;n=2\right>##.

I already tried to simulate something like this by making a projection operator matrix that projects the original state vectors to a lower dimensional space where all states have zero net momentum, but this seemed to turn the behavior of the vacuum autocorrelation and particle expectation number curves into simple sine/cosine form oscillations. Maybe I need to add more possible values of momentum ##p## to get anything interesting to happen. The dimensional reduction would be very useful for making the system feasible for computational simulation.

Last edited: