-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtrottersuzuki_8h_source.html
190 lines (188 loc) · 102 KB
/
trottersuzuki_8h_source.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>Massively Parallel Trotter-Suzuki Solver: /home/pwittek/trotter-suzuki-mpi/src/trottersuzuki.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="vortex.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Massively Parallel Trotter-Suzuki Solver
 <span id="projectnumber">1.6.2</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
<li><a href="md_download.html"><span>Download and Installation</span></a></li>
<li><a href="md_tutorial.html"><span>Tutorial</span></a></li>
<li><a href="md_TSapproximation.html"><span>Mathematical Details</span></a></li>
<li><a href="md_examples.html"><span>Examples</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="md_changes.html"><span>Revision History</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">trottersuzuki.h</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#ifndef __TROTTERSUZUKI_H</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#define __TROTTERSUZUKI_H</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include <string></span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#define _USE_MATH_DEFINES</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#include <cfloat></span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#include <complex></span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#if HAVE_CONFIG_H</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#include "config.h"</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef HAVE_MPI</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#include <mpi.h></span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="keyword">using namespace </span><a class="code" href="namespacestd.html">std</a>;</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="keyword">class </span>Lattice {</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <span class="keywordtype">int</span> mpi_rank; </div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <span class="keywordtype">int</span> mpi_procs; </div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  <span class="keywordtype">double</span> length_x, length_y; </div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <span class="keywordtype">double</span> delta_x, delta_y; </div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <span class="keywordtype">int</span> dim_x, dim_y; </div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <span class="keywordtype">int</span> global_no_halo_dim_x, global_no_halo_dim_y; </div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <span class="keywordtype">int</span> global_dim_x, global_dim_y; </div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <span class="keywordtype">int</span> periods[2]; </div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keywordtype">string</span> coordinate_system; </div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="comment">// Computational topology</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="keywordtype">int</span> halo_x, halo_y; </div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <span class="keywordtype">int</span> start_x, start_y; </div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keywordtype">int</span> end_x, end_y; </div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keywordtype">int</span> inner_start_x, inner_start_y; </div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keywordtype">int</span> inner_end_x, inner_end_y; </div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <span class="keywordtype">int</span> mpi_coords[2], mpi_dims[2]; </div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#ifdef HAVE_MPI</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  MPI_Comm cartcomm; </div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> };</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="classLattice1D.html"> 64</a></span> <span class="keyword">class </span><a class="code" href="classLattice1D.html">Lattice1D</a>: <span class="keyword">public</span> Lattice {</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <a class="code" href="classLattice1D.html">Lattice1D</a>(<span class="keywordtype">int</span> dim, <span class="keywordtype">double</span> length, <span class="keywordtype">bool</span> periodic_x_axis = <span class="keyword">false</span>, <span class="keywordtype">string</span> coordinate_system = <span class="stringliteral">"cartesian"</span>);</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span> };</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="classLattice2D.html"> 83</a></span> <span class="keyword">class </span><a class="code" href="classLattice2D.html">Lattice2D</a>: <span class="keyword">public</span> Lattice {</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <a class="code" href="classLattice2D.html">Lattice2D</a>(<span class="keywordtype">int</span> dim, <span class="keywordtype">double</span> length,</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="keywordtype">bool</span> periodic_x_axis = <span class="keyword">false</span>, <span class="keywordtype">bool</span> periodic_y_axis = <span class="keyword">false</span>,</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keywordtype">double</span> angular_velocity = 0., <span class="keywordtype">string</span> coordinate_system = <span class="stringliteral">"cartesian"</span>);</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <a class="code" href="classLattice2D.html">Lattice2D</a>(<span class="keywordtype">int</span> dim_x, <span class="keywordtype">double</span> length_x, <span class="keywordtype">int</span> dim_y, <span class="keywordtype">double</span> length_y,</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <span class="keywordtype">bool</span> periodic_x_axis = <span class="keyword">false</span>, <span class="keywordtype">bool</span> periodic_y_axis = <span class="keyword">false</span>,</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keywordtype">double</span> angular_velocity = 0., <span class="keywordtype">string</span> coordinate_system = <span class="stringliteral">"cartesian"</span>);</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keywordtype">void</span> init(<span class="keywordtype">int</span> dim_x, <span class="keywordtype">double</span> length_x, <span class="keywordtype">int</span> dim_y, <span class="keywordtype">double</span> length_y,</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <span class="keywordtype">bool</span> periodic_x_axis = <span class="keyword">false</span>, <span class="keywordtype">bool</span> periodic_y_axis = <span class="keyword">false</span>,</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keywordtype">double</span> angular_velocity = 0., <span class="keywordtype">string</span> coordinate_system = <span class="stringliteral">"cartesian"</span>);</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span> };</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="classState.html"> 123</a></span> <span class="keyword">class </span><a class="code" href="classState.html">State</a> {</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="classState.html#aa136418a4aeb94dd43f36abdfc6d601b"> 125</a></span>  <span class="keywordtype">double</span> *<a class="code" href="classState.html#aa136418a4aeb94dd43f36abdfc6d601b">p_real</a>; </div><div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="classState.html#aed69f02d92f9853d8c195c3041ac765f"> 126</a></span>  <span class="keywordtype">double</span> *<a class="code" href="classState.html#aed69f02d92f9853d8c195c3041ac765f">p_imag</a>; </div><div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="classState.html#a05cc240880b62480836b735c128a46d2"> 127</a></span>  Lattice *<a class="code" href="classState.html#a05cc240880b62480836b735c128a46d2">grid</a>; </div><div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="classState.html#a25d1401ca844b5a831ab1a96948b967b"> 128</a></span>  <span class="keywordtype">int</span> <a class="code" href="classState.html#a25d1401ca844b5a831ab1a96948b967b">angular_momentum</a>; </div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <a class="code" href="classState.html">State</a>(Lattice *grid, <span class="keywordtype">int</span> angular_momentum = 0, <span class="keywordtype">double</span> *p_real = 0, <span class="keywordtype">double</span> *p_imag = 0);</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <a class="code" href="classState.html">State</a>(<span class="keyword">const</span> <a class="code" href="classState.html">State</a> &obj ); </div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  ~<a class="code" href="classState.html">State</a>(); </div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keywordtype">void</span> init_state(complex<double> (*ini_state)(<span class="keywordtype">double</span> x) ); </div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keywordtype">void</span> init_state(complex<double> (*ini_state)(<span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y) ); </div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="keywordtype">void</span> loadtxt(<span class="keywordtype">char</span> *file_name); </div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keywordtype">void</span> imprint(complex<double> (*<span class="keyword">function</span>)(<span class="keywordtype">double</span> x) ); </div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="keywordtype">void</span> imprint(complex<double> (*<span class="keyword">function</span>)(<span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y) ); </div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <span class="keywordtype">double</span> *get_particle_density(<span class="keywordtype">double</span> *density = 0 ); </div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordtype">double</span> *get_phase(<span class="keywordtype">double</span> *phase = 0 ); </div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keywordtype">double</span> get_expected_value(<span class="keywordtype">string</span> _operator); </div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <span class="keywordtype">double</span> get_squared_norm(<span class="keywordtype">void</span>); </div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <span class="keywordtype">double</span> get_mean_x(<span class="keywordtype">void</span>); </div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="keywordtype">double</span> get_mean_xx(<span class="keywordtype">void</span>); </div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keywordtype">double</span> get_mean_y(<span class="keywordtype">void</span>); </div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keywordtype">double</span> get_mean_yy(<span class="keywordtype">void</span>); </div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keywordtype">double</span> get_mean_px(<span class="keywordtype">void</span>); </div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keywordtype">double</span> get_mean_pxpx(<span class="keywordtype">void</span>); </div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="keywordtype">double</span> get_mean_py(<span class="keywordtype">void</span>); </div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="keywordtype">double</span> get_mean_pypy(<span class="keywordtype">void</span>); </div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="keywordtype">double</span> get_mean_angular_momentum(<span class="keywordtype">void</span>); </div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="keywordtype">void</span> write_to_file(<span class="keywordtype">string</span> fileprefix ); </div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="keywordtype">void</span> write_particle_density(<span class="keywordtype">string</span> fileprefix ); </div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <span class="keywordtype">void</span> write_phase(<span class="keywordtype">string</span> fileprefix ); </div><div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="classState.html#a30a90a18e6065bfce9663f894c2fa13b"> 164</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classState.html#a30a90a18e6065bfce9663f894c2fa13b">expected_values_updated</a>; </div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="keyword">protected</span>:</div><div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="classState.html#a5517200f76f2551e7315e98a1980fb20"> 167</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classState.html#a5517200f76f2551e7315e98a1980fb20">self_init</a>; </div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <span class="keywordtype">void</span> calculate_expected_values(<span class="keywordtype">void</span>); </div><div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="classState.html#a8defbbd6529fb5b6665f00f2a6271b28"> 169</a></span>  <span class="keywordtype">double</span> mean_X, <a class="code" href="classState.html#a8defbbd6529fb5b6665f00f2a6271b28">mean_XX</a>; </div><div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="classState.html#affa31b0edc363365d52e5b36575ece66"> 170</a></span>  <span class="keywordtype">double</span> mean_Y, <a class="code" href="classState.html#affa31b0edc363365d52e5b36575ece66">mean_YY</a>; </div><div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="classState.html#ad6ea4dd8e3a97962343a92eb9b586758"> 171</a></span>  <span class="keywordtype">double</span> mean_Px, <a class="code" href="classState.html#ad6ea4dd8e3a97962343a92eb9b586758">mean_PxPx</a>; </div><div class="line"><a name="l00172"></a><span class="lineno"><a class="line" href="classState.html#abbbf0b418ef3256d32a82df9f41c0a70"> 172</a></span>  <span class="keywordtype">double</span> mean_Py, <a class="code" href="classState.html#abbbf0b418ef3256d32a82df9f41c0a70">mean_PyPy</a>; </div><div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="classState.html#a0443bdad5f2d7d07c1246d871906328f"> 173</a></span>  <span class="keywordtype">double</span> <a class="code" href="classState.html#a0443bdad5f2d7d07c1246d871906328f">mean_angular_momentum</a>; </div><div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="classState.html#a547f367dd2ac6437ff2f1a979f59309c"> 174</a></span>  <span class="keywordtype">double</span> <a class="code" href="classState.html#a547f367dd2ac6437ff2f1a979f59309c">norm2</a>; </div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span> };</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div><div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="classBesselState.html"> 182</a></span> <span class="keyword">class </span><a class="code" href="classBesselState.html">BesselState</a>: <span class="keyword">public</span> <a class="code" href="classState.html">State</a> {</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <a class="code" href="classBesselState.html">BesselState</a>(<a class="code" href="classLattice1D.html">Lattice1D</a> *grid, <span class="keywordtype">int</span> angular_momentum = 0, <span class="keywordtype">int</span> zeros = 1, <span class="keywordtype">double</span> norm = 1, <span class="keywordtype">double</span> phase = 0, <span class="keywordtype">double</span> *p_real = 0, <span class="keywordtype">double</span> *p_imag = 0);</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <a class="code" href="classBesselState.html">BesselState</a>(<a class="code" href="classLattice2D.html">Lattice2D</a> *grid, <span class="keywordtype">int</span> angular_momentum = 0, <span class="keywordtype">int</span> zeros = 1, <span class="keywordtype">int</span> n_y = 0, <span class="keywordtype">double</span> norm = 1, <span class="keywordtype">double</span> phase = 0, <span class="keywordtype">double</span> *p_real = 0, <span class="keywordtype">double</span> *p_imag = 0);</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="classBesselState.html#a0fa21b5a33ee61881bec998a393efd7c"> 212</a></span>  <span class="keywordtype">int</span> <a class="code" href="classBesselState.html#a0fa21b5a33ee61881bec998a393efd7c">angular_momentum</a>; </div><div class="line"><a name="l00213"></a><span class="lineno"><a class="line" href="classBesselState.html#adee2ae3dcd2c969a8b4ecb3c140ba5a2"> 213</a></span>  <span class="keywordtype">int</span> zeros, <a class="code" href="classBesselState.html#adee2ae3dcd2c969a8b4ecb3c140ba5a2">n_y</a>; </div><div class="line"><a name="l00214"></a><span class="lineno"><a class="line" href="classBesselState.html#a4ecf6ece677b9f3b79465afd89bf34b6"> 214</a></span>  <span class="keywordtype">double</span> <a class="code" href="classBesselState.html#a4ecf6ece677b9f3b79465afd89bf34b6">zero</a>; </div><div class="line"><a name="l00215"></a><span class="lineno"><a class="line" href="classBesselState.html#ac5f2e4507951d90b4ce0e34a53edf7b4"> 215</a></span>  <span class="keywordtype">double</span> <a class="code" href="classBesselState.html#ac5f2e4507951d90b4ce0e34a53edf7b4">normalization</a>; </div><div class="line"><a name="l00216"></a><span class="lineno"><a class="line" href="classBesselState.html#a654535a23220dd290c84581013844051"> 216</a></span>  <span class="keywordtype">double</span> norm, <a class="code" href="classBesselState.html#a654535a23220dd290c84581013844051">phase</a>; </div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  complex<double> bessel_state1D(<span class="keywordtype">double</span> x); </div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  complex<double> bessel_state2D(<span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y); </div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span> };</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span> </div><div class="line"><a name="l00226"></a><span class="lineno"><a class="line" href="classExponentialState.html"> 226</a></span> <span class="keyword">class </span><a class="code" href="classExponentialState.html">ExponentialState</a>: <span class="keyword">public</span> <a class="code" href="classState.html">State</a> {</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <a class="code" href="classExponentialState.html">ExponentialState</a>(<a class="code" href="classLattice1D.html">Lattice1D</a> *grid, <span class="keywordtype">int</span> n_x = 1, <span class="keywordtype">double</span> norm = 1, <span class="keywordtype">double</span> phase = 0, <span class="keywordtype">double</span> *p_real = 0, <span class="keywordtype">double</span> *p_imag = 0);</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  <a class="code" href="classExponentialState.html">ExponentialState</a>(<a class="code" href="classLattice2D.html">Lattice2D</a> *grid, <span class="keywordtype">int</span> n_x = 1, <span class="keywordtype">int</span> n_y = 1, <span class="keywordtype">double</span> norm = 1, <span class="keywordtype">double</span> phase = 0, <span class="keywordtype">double</span> *p_real = 0, <span class="keywordtype">double</span> *p_imag = 0);</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span> </div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00254"></a><span class="lineno"><a class="line" href="classExponentialState.html#a753373fb8f35b7011a32c911bb145fed"> 254</a></span>  <span class="keywordtype">int</span> n_x, <a class="code" href="classExponentialState.html#a753373fb8f35b7011a32c911bb145fed">n_y</a>; </div><div class="line"><a name="l00255"></a><span class="lineno"><a class="line" href="classExponentialState.html#a72d71d0051694eb716d023069a6afebf"> 255</a></span>  <span class="keywordtype">double</span> norm, <a class="code" href="classExponentialState.html#a72d71d0051694eb716d023069a6afebf">phase</a>; </div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  complex<double> exp_state(<span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y); </div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span> };</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span> </div><div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="classGaussianState.html"> 264</a></span> <span class="keyword">class </span><a class="code" href="classGaussianState.html">GaussianState</a>: <span class="keyword">public</span> <a class="code" href="classState.html">State</a> {</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <a class="code" href="classGaussianState.html">GaussianState</a>(<a class="code" href="classLattice1D.html">Lattice1D</a> *grid, <span class="keywordtype">double</span> omega_x, <span class="keywordtype">double</span> mean_x = 0, <span class="keywordtype">double</span> norm = 1, <span class="keywordtype">double</span> phase = 0,</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <span class="keywordtype">double</span> *p_real = 0, <span class="keywordtype">double</span> *p_imag = 0);</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span> </div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  <a class="code" href="classGaussianState.html">GaussianState</a>(<a class="code" href="classLattice2D.html">Lattice2D</a> *grid, <span class="keywordtype">double</span> omega_x, <span class="keywordtype">double</span> omega_y = -1., <span class="keywordtype">double</span> mean_x = 0, <span class="keywordtype">double</span> mean_y = 0, <span class="keywordtype">double</span> norm = 1, <span class="keywordtype">double</span> phase = 0,</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  <span class="keywordtype">double</span> *p_real = 0, <span class="keywordtype">double</span> *p_imag = 0);</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span> </div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00297"></a><span class="lineno"><a class="line" href="classGaussianState.html#a2f834d1ee7729aa0f8cfdc99df149a6a"> 297</a></span>  <span class="keywordtype">double</span> <a class="code" href="classGaussianState.html#a2f834d1ee7729aa0f8cfdc99df149a6a">mean_x</a>; </div><div class="line"><a name="l00298"></a><span class="lineno"><a class="line" href="classGaussianState.html#a7c2e1bab4381247156fd8af9bfae3a44"> 298</a></span>  <span class="keywordtype">double</span> <a class="code" href="classGaussianState.html#a7c2e1bab4381247156fd8af9bfae3a44">mean_y</a>; </div><div class="line"><a name="l00299"></a><span class="lineno"><a class="line" href="classGaussianState.html#aef9752d98c7ae3236eda669f243910ad"> 299</a></span>  <span class="keywordtype">double</span> <a class="code" href="classGaussianState.html#aef9752d98c7ae3236eda669f243910ad">omega_x</a>; </div><div class="line"><a name="l00300"></a><span class="lineno"><a class="line" href="classGaussianState.html#acb112ed63247fd79903daa0520eead43"> 300</a></span>  <span class="keywordtype">double</span> <a class="code" href="classGaussianState.html#acb112ed63247fd79903daa0520eead43">omega_y</a>; </div><div class="line"><a name="l00301"></a><span class="lineno"><a class="line" href="classGaussianState.html#a4ad4481a15d731771937f6a5a5c242fc"> 301</a></span>  <span class="keywordtype">double</span> <a class="code" href="classGaussianState.html#a4ad4481a15d731771937f6a5a5c242fc">norm</a>; </div><div class="line"><a name="l00302"></a><span class="lineno"><a class="line" href="classGaussianState.html#a70d08627bf0ad1fdf0e5fae75edb9a3c"> 302</a></span>  <span class="keywordtype">double</span> <a class="code" href="classGaussianState.html#a70d08627bf0ad1fdf0e5fae75edb9a3c">phase</a>; </div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  complex<double> gauss_state(<span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y); </div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span> };</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span> </div><div class="line"><a name="l00311"></a><span class="lineno"><a class="line" href="classSinusoidState.html"> 311</a></span> <span class="keyword">class </span><a class="code" href="classSinusoidState.html">SinusoidState</a>: <span class="keyword">public</span> <a class="code" href="classState.html">State</a> {</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  <a class="code" href="classSinusoidState.html">SinusoidState</a>(<a class="code" href="classLattice1D.html">Lattice1D</a> *grid, <span class="keywordtype">int</span> n_x = 1, <span class="keywordtype">double</span> norm = 1, <span class="keywordtype">double</span> phase = 0, <span class="keywordtype">double</span> *p_real = 0, <span class="keywordtype">double</span> *p_imag = 0);</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span> </div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  <a class="code" href="classSinusoidState.html">SinusoidState</a>(<a class="code" href="classLattice2D.html">Lattice2D</a> *grid, <span class="keywordtype">int</span> n_x = 1, <span class="keywordtype">int</span> n_y = 1, <span class="keywordtype">double</span> norm = 1, <span class="keywordtype">double</span> phase = 0, <span class="keywordtype">double</span> *p_real = 0, <span class="keywordtype">double</span> *p_imag = 0);</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span> </div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00339"></a><span class="lineno"><a class="line" href="classSinusoidState.html#a2d15cbf89eb65711e0cbe751f9a074bf"> 339</a></span>  <span class="keywordtype">int</span> n_x, <a class="code" href="classSinusoidState.html#a2d15cbf89eb65711e0cbe751f9a074bf">n_y</a>; </div><div class="line"><a name="l00340"></a><span class="lineno"><a class="line" href="classSinusoidState.html#a38177991dd0b7fbaff89fbc8113730aa"> 340</a></span>  <span class="keywordtype">double</span> norm, <a class="code" href="classSinusoidState.html#a38177991dd0b7fbaff89fbc8113730aa">phase</a>; </div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  complex<double> sinusoid_state(<span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y); </div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span> };</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span> </div><div class="line"><a name="l00347"></a><span class="lineno"><a class="line" href="classPotential.html"> 347</a></span> <span class="keyword">class </span><a class="code" href="classPotential.html">Potential</a> {</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00349"></a><span class="lineno"><a class="line" href="classPotential.html#ad6be35f42f23d05afededc0e69c77b1d"> 349</a></span>  Lattice *<a class="code" href="classPotential.html#ad6be35f42f23d05afededc0e69c77b1d">grid</a>; </div><div class="line"><a name="l00350"></a><span class="lineno"><a class="line" href="classPotential.html#ae865ac56ca471da36d21b97fed06d105"> 350</a></span>  <span class="keywordtype">double</span> *<a class="code" href="classPotential.html#ae865ac56ca471da36d21b97fed06d105">matrix</a>; </div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span> </div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <a class="code" href="classPotential.html">Potential</a>(Lattice *grid, <span class="keywordtype">char</span> *filename);</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  <a class="code" href="classPotential.html">Potential</a>(Lattice *grid, <span class="keywordtype">double</span> *external_pot = 0);</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  <a class="code" href="classPotential.html">Potential</a>(Lattice *grid, <span class="keywordtype">double</span> (*potential_function)(<span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y));</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  <a class="code" href="classPotential.html">Potential</a>(Lattice *grid, <span class="keywordtype">double</span> (*potential_function)(<span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y, <span class="keywordtype">double</span> t), <span class="keywordtype">int</span> t = 0);</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  <span class="keyword">virtual</span> ~<a class="code" href="classPotential.html">Potential</a>();</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  <span class="keyword">virtual</span> <span class="keywordtype">double</span> get_value(<span class="keywordtype">int</span> x); </div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  <span class="keyword">virtual</span> <span class="keywordtype">double</span> get_value(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y); </div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <span class="keywordtype">bool</span> update(<span class="keywordtype">double</span> t); </div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  <span class="keywordtype">bool</span> updated_potential_matrix;</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <span class="keyword">protected</span>:</div><div class="line"><a name="l00386"></a><span class="lineno"><a class="line" href="classPotential.html#a45b187d7d1e6996b74443a2d9a1eeed5"> 386</a></span>  <span class="keywordtype">double</span> <a class="code" href="classPotential.html#a45b187d7d1e6996b74443a2d9a1eeed5">current_evolution_time</a>; </div><div class="line"><a name="l00387"></a><span class="lineno"><a class="line" href="classPotential.html#a6d9154fe48d9168c1bc238781489f253"> 387</a></span>  double (*static_potential)(<span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y); </div><div class="line"><a name="l00388"></a><span class="lineno"><a class="line" href="classPotential.html#a0356c0ac5863e4b1abcbd9841d9829af"> 388</a></span>  double (*evolving_potential)(<span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y, <span class="keywordtype">double</span> t); </div><div class="line"><a name="l00389"></a><span class="lineno"><a class="line" href="classPotential.html#a0cf798f9a82ffba2e8a97d47a66eafe2"> 389</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classPotential.html#a0cf798f9a82ffba2e8a97d47a66eafe2">self_init</a>; </div><div class="line"><a name="l00390"></a><span class="lineno"><a class="line" href="classPotential.html#a9746ff3bd9a468288179fa4b1126f098"> 390</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classPotential.html#a9746ff3bd9a468288179fa4b1126f098">is_static</a>; </div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span> };</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span> </div><div class="line"><a name="l00398"></a><span class="lineno"><a class="line" href="classHarmonicPotential.html"> 398</a></span> <span class="keyword">class </span><a class="code" href="classHarmonicPotential.html">HarmonicPotential</a>: <span class="keyword">public</span> <a class="code" href="classPotential.html">Potential</a> {</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  <a class="code" href="classHarmonicPotential.html">HarmonicPotential</a>(<a class="code" href="classLattice2D.html">Lattice2D</a> *grid, <span class="keywordtype">double</span> omegax, <span class="keywordtype">double</span> omegay, <span class="keywordtype">double</span> mass = 1., <span class="keywordtype">double</span> mean_x = 0., <span class="keywordtype">double</span> mean_y = 0.);</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  ~<a class="code" href="classHarmonicPotential.html">HarmonicPotential</a>();</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  <span class="keywordtype">double</span> get_value(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y); </div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span> </div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00415"></a><span class="lineno"><a class="line" href="classHarmonicPotential.html#af7a789997d1887cc1ca8ec587699a69f"> 415</a></span>  <span class="keywordtype">double</span> omegax, <a class="code" href="classHarmonicPotential.html#af7a789997d1887cc1ca8ec587699a69f">omegay</a>; </div><div class="line"><a name="l00416"></a><span class="lineno"><a class="line" href="classHarmonicPotential.html#a84c6074aaa70e4aea5339ffc5e1b68d7"> 416</a></span>  <span class="keywordtype">double</span> <a class="code" href="classHarmonicPotential.html#a84c6074aaa70e4aea5339ffc5e1b68d7">mass</a>; </div><div class="line"><a name="l00417"></a><span class="lineno"><a class="line" href="classHarmonicPotential.html#a91256c037cc9b2a0e7d5857af9b33d60"> 417</a></span>  <span class="keywordtype">double</span> mean_x, <a class="code" href="classHarmonicPotential.html#a91256c037cc9b2a0e7d5857af9b33d60">mean_y</a>; </div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span> };</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span> </div><div class="line"><a name="l00423"></a><span class="lineno"><a class="line" href="classHamiltonian.html"> 423</a></span> <span class="keyword">class </span><a class="code" href="classHamiltonian.html">Hamiltonian</a> {</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00425"></a><span class="lineno"><a class="line" href="classHamiltonian.html#a7eb6c2198c73ee1057b6b56d9bf94b49"> 425</a></span>  <a class="code" href="classPotential.html">Potential</a> *<a class="code" href="classHamiltonian.html#a7eb6c2198c73ee1057b6b56d9bf94b49">potential</a>; </div><div class="line"><a name="l00426"></a><span class="lineno"><a class="line" href="classHamiltonian.html#a664167df256a4054493cf979a5ec6d36"> 426</a></span>  <span class="keywordtype">double</span> <a class="code" href="classHamiltonian.html#a664167df256a4054493cf979a5ec6d36">mass</a>; </div><div class="line"><a name="l00427"></a><span class="lineno"><a class="line" href="classHamiltonian.html#a24307c921a272175963f66f85e16df71"> 427</a></span>  <span class="keywordtype">double</span> <a class="code" href="classHamiltonian.html#a24307c921a272175963f66f85e16df71">coupling_a</a>; </div><div class="line"><a name="l00428"></a><span class="lineno"><a class="line" href="classHamiltonian.html#a3093984b92cf18af0ea18e67e0143497"> 428</a></span>  <span class="keywordtype">double</span> <a class="code" href="classHamiltonian.html#a3093984b92cf18af0ea18e67e0143497">LeeHuangYang_coupling_a</a>; </div><div class="line"><a name="l00429"></a><span class="lineno"><a class="line" href="classHamiltonian.html#a51176e56a8b486cb7bae0fcfb931da43"> 429</a></span>  <span class="keywordtype">double</span> <a class="code" href="classHamiltonian.html#a51176e56a8b486cb7bae0fcfb931da43">angular_velocity</a>; </div><div class="line"><a name="l00430"></a><span class="lineno"><a class="line" href="classHamiltonian.html#ac60d0d51f08d445c72837d138059595f"> 430</a></span>  <span class="keywordtype">double</span> <a class="code" href="classHamiltonian.html#ac60d0d51f08d445c72837d138059595f">rot_coord_x</a>; </div><div class="line"><a name="l00431"></a><span class="lineno"><a class="line" href="classHamiltonian.html#a4c18f841e75c157bcf4c7f3976c7d2ee"> 431</a></span>  <span class="keywordtype">double</span> <a class="code" href="classHamiltonian.html#a4c18f841e75c157bcf4c7f3976c7d2ee">rot_coord_y</a>; </div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  <span class="keywordtype">double</span> azimuthal_potential(<span class="keywordtype">double</span> x, <span class="keywordtype">int</span> angular_momentum);</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span> </div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  <a class="code" href="classHamiltonian.html">Hamiltonian</a>(Lattice *grid, <a class="code" href="classPotential.html">Potential</a> *potential = 0, <span class="keywordtype">double</span> mass = 1., <span class="keywordtype">double</span> coupling_a = 0., <span class="keywordtype">double</span> LeeHuangYang_coupling_a = 0.,</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  <span class="keywordtype">double</span> angular_velocity = 0.,</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  <span class="keywordtype">double</span> rot_coord_x = 0, <span class="keywordtype">double</span> rot_coord_y = 0);</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  ~<a class="code" href="classHamiltonian.html">Hamiltonian</a>();</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span> </div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span> <span class="keyword">protected</span>:</div><div class="line"><a name="l00452"></a><span class="lineno"><a class="line" href="classHamiltonian.html#a44667e6b76fe6c773c1692ab44f28449"> 452</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classHamiltonian.html#a44667e6b76fe6c773c1692ab44f28449">self_init</a>; </div><div class="line"><a name="l00453"></a><span class="lineno"><a class="line" href="classHamiltonian.html#a0e5d649fbe4ab10fd1a7aaf6e31e950a"> 453</a></span>  Lattice *<a class="code" href="classHamiltonian.html#a0e5d649fbe4ab10fd1a7aaf6e31e950a">grid</a>; </div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span> };</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span> </div><div class="line"><a name="l00459"></a><span class="lineno"><a class="line" href="classHamiltonian2Component.html"> 459</a></span> <span class="keyword">class </span><a class="code" href="classHamiltonian2Component.html">Hamiltonian2Component</a>: <span class="keyword">public</span> <a class="code" href="classHamiltonian.html">Hamiltonian</a> {</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00461"></a><span class="lineno"><a class="line" href="classHamiltonian2Component.html#ad815366d0a90b4c0f23ee2739f81db9a"> 461</a></span>  <span class="keywordtype">double</span> <a class="code" href="classHamiltonian2Component.html#ad815366d0a90b4c0f23ee2739f81db9a">mass_b</a>; </div><div class="line"><a name="l00462"></a><span class="lineno"><a class="line" href="classHamiltonian2Component.html#a45091419afd4b2670952f8d4618bb787"> 462</a></span>  <span class="keywordtype">double</span> <a class="code" href="classHamiltonian2Component.html#a45091419afd4b2670952f8d4618bb787">coupling_ab</a>; </div><div class="line"><a name="l00463"></a><span class="lineno"><a class="line" href="classHamiltonian2Component.html#ade4553d4ed4081722288dc73a239ef48"> 463</a></span>  <span class="keywordtype">double</span> <a class="code" href="classHamiltonian2Component.html#ade4553d4ed4081722288dc73a239ef48">coupling_b</a>; </div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  <span class="comment">//double LeeHuangYang_coupling_b; ///< Coupling constant of the Lee-Huang-Yang term of the second component.</span></div><div class="line"><a name="l00465"></a><span class="lineno"><a class="line" href="classHamiltonian2Component.html#ac1e3ac19366837747e820bd9e5572315"> 465</a></span>  <span class="keywordtype">double</span> <a class="code" href="classHamiltonian2Component.html#ac1e3ac19366837747e820bd9e5572315">omega_r</a>; </div><div class="line"><a name="l00466"></a><span class="lineno"><a class="line" href="classHamiltonian2Component.html#a68bfd9e1ceaac167b8c5814098eb4f5b"> 466</a></span>  <span class="keywordtype">double</span> <a class="code" href="classHamiltonian2Component.html#a68bfd9e1ceaac167b8c5814098eb4f5b">omega_i</a>; </div><div class="line"><a name="l00467"></a><span class="lineno"><a class="line" href="classHamiltonian2Component.html#ae18981a85c444f32061dfc5612716d92"> 467</a></span>  <a class="code" href="classPotential.html">Potential</a> *<a class="code" href="classHamiltonian2Component.html#ae18981a85c444f32061dfc5612716d92">potential_b</a>; </div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  <span class="keywordtype">double</span> azimuthal_potential_b(<span class="keywordtype">double</span> x, <span class="keywordtype">int</span> angular_momentum);</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span> </div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>  <a class="code" href="classHamiltonian2Component.html">Hamiltonian2Component</a>(Lattice *grid, <a class="code" href="classPotential.html">Potential</a> *potential = 0,</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  <a class="code" href="classPotential.html">Potential</a> *potential_b = 0,</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  <span class="keywordtype">double</span> mass = 1., <span class="keywordtype">double</span> mass_b = 1.,</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  <span class="keywordtype">double</span> coupling_a = 0.,<span class="comment">/* double LeeHuangYang_coupling_a = 0.,*/</span> <span class="keywordtype">double</span> coupling_ab = 0.,</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  <span class="keywordtype">double</span> coupling_b = 0.,<span class="comment">/* double LeeHuangYang_coupling_b = 0.,*/</span></div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>  <span class="keywordtype">double</span> omega_r = 0, <span class="keywordtype">double</span> omega_i = 0,</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  <span class="keywordtype">double</span> angular_velocity = 0.,</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  <span class="keywordtype">double</span> rot_coord_x = 0,</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  <span class="keywordtype">double</span> rot_coord_y = 0);</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  ~<a class="code" href="classHamiltonian2Component.html">Hamiltonian2Component</a>();</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span> };</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span> </div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span> <span class="keyword">class </span>ITrotterKernel {</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  <span class="keyword">virtual</span> ~ITrotterKernel() {};</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> run_kernel() = 0; </div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> run_kernel_on_halo() = 0; </div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> wait_for_completion() = 0; </div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> get_sample(<span class="keywordtype">size_t</span> dest_stride, <span class="keywordtype">size_t</span> x, <span class="keywordtype">size_t</span> y, <span class="keywordtype">size_t</span> width, <span class="keywordtype">size_t</span> height, <span class="keywordtype">double</span> * dest_real, <span class="keywordtype">double</span> * dest_imag, <span class="keywordtype">double</span> * dest_real2 = 0, <span class="keywordtype">double</span> * dest_imag2 = 0) <span class="keyword">const</span> = 0; </div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> normalization() = 0; </div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> rabi_coupling(<span class="keywordtype">double</span> var, <span class="keywordtype">double</span> delta_t) = 0; </div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  <span class="keyword">virtual</span> <span class="keywordtype">double</span> calculate_squared_norm(<span class="keywordtype">bool</span> global = <span class="keyword">true</span>) <span class="keyword">const</span> = 0; </div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> runs_in_place() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>  <span class="keyword">virtual</span> <span class="keywordtype">string</span> get_name() <span class="keyword">const</span> = 0; </div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> update_potential(<span class="keywordtype">double</span> *_external_pot_real, <span class="keywordtype">double</span> *_external_pot_imag, <span class="keywordtype">int</span> which) = 0; </div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> cpy_first_positive_to_first_negative() = 0; </div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span> </div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> start_halo_exchange() = 0; </div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> finish_halo_exchange() = 0; </div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span> </div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span> };</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span> </div><div class="line"><a name="l00525"></a><span class="lineno"><a class="line" href="classSolver.html"> 525</a></span> <span class="keyword">class </span><a class="code" href="classSolver.html">Solver</a> {</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00527"></a><span class="lineno"><a class="line" href="classSolver.html#a78bfcb649d53580d1e8c541085a8fbf1"> 527</a></span>  Lattice *<a class="code" href="classSolver.html#a78bfcb649d53580d1e8c541085a8fbf1">grid</a>; </div><div class="line"><a name="l00528"></a><span class="lineno"><a class="line" href="classSolver.html#a7dda1e092bba9f2e654445df5814a81c"> 528</a></span>  <a class="code" href="classState.html">State</a> *<a class="code" href="classSolver.html#a7dda1e092bba9f2e654445df5814a81c">state</a>; </div><div class="line"><a name="l00529"></a><span class="lineno"><a class="line" href="classSolver.html#ae0ac5328119b67aedd7d234ed1bc546b"> 529</a></span>  <a class="code" href="classState.html">State</a> *<a class="code" href="classSolver.html#ae0ac5328119b67aedd7d234ed1bc546b">state_b</a>; </div><div class="line"><a name="l00530"></a><span class="lineno"><a class="line" href="classSolver.html#ad196816d8e3b0ec909a13535aee74d59"> 530</a></span>  <a class="code" href="classHamiltonian.html">Hamiltonian</a> *<a class="code" href="classSolver.html#ad196816d8e3b0ec909a13535aee74d59">hamiltonian</a>; </div><div class="line"><a name="l00531"></a><span class="lineno"><a class="line" href="classSolver.html#a3c2aa1b16c4af232cd0bb71d8c6bd239"> 531</a></span>  <span class="keywordtype">double</span> <a class="code" href="classSolver.html#a3c2aa1b16c4af232cd0bb71d8c6bd239">current_evolution_time</a>; </div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span> </div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>  <a class="code" href="classSolver.html">Solver</a>(Lattice *grid, <a class="code" href="classState.html">State</a> *state, <a class="code" href="classHamiltonian.html">Hamiltonian</a> *hamiltonian, <span class="keywordtype">double</span> delta_t,</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>  <span class="keywordtype">string</span> kernel_type = <span class="stringliteral">"cpu"</span>);</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>  <a class="code" href="classSolver.html">Solver</a>(Lattice *grid, <a class="code" href="classState.html">State</a> *state1, <a class="code" href="classState.html">State</a> *state2,</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>  <a class="code" href="classHamiltonian2Component.html">Hamiltonian2Component</a> *hamiltonian,</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>  <span class="keywordtype">double</span> delta_t, <span class="keywordtype">string</span> kernel_type = <span class="stringliteral">"cpu"</span>);</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>  ~<a class="code" href="classSolver.html">Solver</a>();</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>  <span class="keywordtype">void</span> evolve(<span class="keywordtype">int</span> iterations, <span class="keywordtype">bool</span> imag_time = <span class="keyword">false</span>); </div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>  <span class="keywordtype">void</span> update_parameters(); </div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>  <span class="keywordtype">double</span> get_total_energy(<span class="keywordtype">void</span>); </div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>  <span class="keywordtype">double</span> get_squared_norm(<span class="keywordtype">size_t</span> which = 3 ); </div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>  <span class="keywordtype">double</span> get_kinetic_energy(<span class="keywordtype">size_t</span> which = 3 ); </div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>  <span class="keywordtype">double</span> get_potential_energy(<span class="keywordtype">size_t</span> which = 3 ); </div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>  <span class="keywordtype">double</span> get_rotational_energy(<span class="keywordtype">size_t</span> which = 3 ); </div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>  <span class="keywordtype">double</span> get_intra_species_energy(<span class="keywordtype">size_t</span> which = 3 ); </div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>  <span class="keywordtype">double</span> get_LeeHuangYang_energy(<span class="keywordtype">void</span>); </div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>  <span class="keywordtype">double</span> get_inter_species_energy(<span class="keywordtype">void</span>); </div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>  <span class="keywordtype">double</span> get_rabi_energy(<span class="keywordtype">void</span>); </div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>  <span class="keywordtype">void</span> set_exp_potential(<span class="keywordtype">double</span> *real, <span class="keywordtype">int</span> real_length, <span class="keywordtype">double</span> *imag,</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>  <span class="keywordtype">int</span> imag_length, <span class="keywordtype">int</span> which); </div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00571"></a><span class="lineno"><a class="line" href="classSolver.html#ac92298a066d9525df6eb6e504ba6f044"> 571</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classSolver.html#ac92298a066d9525df6eb6e504ba6f044">imag_time</a>; </div><div class="line"><a name="l00572"></a><span class="lineno"><a class="line" href="classSolver.html#aa5b25076c13592bb2db571792c711285"> 572</a></span>  <span class="keywordtype">double</span> **<a class="code" href="classSolver.html#aa5b25076c13592bb2db571792c711285">external_pot_real</a>; </div><div class="line"><a name="l00573"></a><span class="lineno"><a class="line" href="classSolver.html#a27fe2eff3bb6c18d15d089d9097303fd"> 573</a></span>  <span class="keywordtype">double</span> **<a class="code" href="classSolver.html#a27fe2eff3bb6c18d15d089d9097303fd">external_pot_imag</a>; </div><div class="line"><a name="l00574"></a><span class="lineno"><a class="line" href="classSolver.html#a5245c60018e4b5ff9854d21a233513d6"> 574</a></span>  <span class="keywordtype">double</span> <a class="code" href="classSolver.html#a5245c60018e4b5ff9854d21a233513d6">delta_t</a>; </div><div class="line"><a name="l00575"></a><span class="lineno"><a class="line" href="classSolver.html#ac1117f609b88a8f666b12960718251d8"> 575</a></span>  <span class="keywordtype">double</span> norm2[2]; </div><div class="line"><a name="l00576"></a><span class="lineno"><a class="line" href="classSolver.html#a32bed12b4bdc053c8fae29ca2a6b0855"> 576</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classSolver.html#a32bed12b4bdc053c8fae29ca2a6b0855">single_component</a>; </div><div class="line"><a name="l00577"></a><span class="lineno"><a class="line" href="classSolver.html#a42c174b2638615801ee0ccf69a8333f3"> 577</a></span>  <span class="keywordtype">string</span> <a class="code" href="classSolver.html#a42c174b2638615801ee0ccf69a8333f3">kernel_type</a>; </div><div class="line"><a name="l00578"></a><span class="lineno"><a class="line" href="classSolver.html#a009f346c3b3ed2ed69726b426cb2e0ef"> 578</a></span>  ITrotterKernel * <a class="code" href="classSolver.html#a009f346c3b3ed2ed69726b426cb2e0ef">kernel</a>; </div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>  <span class="keywordtype">void</span> initialize_exp_potential(<span class="keywordtype">double</span> time_single_it, <span class="keywordtype">int</span> which); </div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>  <span class="keywordtype">void</span> init_kernel(); </div><div class="line"><a name="l00581"></a><span class="lineno"><a class="line" href="classSolver.html#a2b0487b16edfffca5f3e779c6c869cae"> 581</a></span>  <span class="keywordtype">double</span> <a class="code" href="classSolver.html#a2b0487b16edfffca5f3e779c6c869cae">total_energy</a>; </div><div class="line"><a name="l00582"></a><span class="lineno"><a class="line" href="classSolver.html#ac2796f95cd98f72792a47a2b7f8c98a8"> 582</a></span>  <span class="keywordtype">double</span> kinetic_energy[2]; </div><div class="line"><a name="l00583"></a><span class="lineno"><a class="line" href="classSolver.html#a6224555d0166f0bf410fd20f7c61b5ae"> 583</a></span>  <span class="keywordtype">double</span> <a class="code" href="classSolver.html#a6224555d0166f0bf410fd20f7c61b5ae">tot_kinetic_energy</a>; </div><div class="line"><a name="l00584"></a><span class="lineno"><a class="line" href="classSolver.html#a271851889fcfdcac738131b5724556df"> 584</a></span>  <span class="keywordtype">double</span> potential_energy[2]; </div><div class="line"><a name="l00585"></a><span class="lineno"><a class="line" href="classSolver.html#a287208a6319d1d64dca3d2b70e954e52"> 585</a></span>  <span class="keywordtype">double</span> <a class="code" href="classSolver.html#a287208a6319d1d64dca3d2b70e954e52">tot_potential_energy</a>; </div><div class="line"><a name="l00586"></a><span class="lineno"><a class="line" href="classSolver.html#a7b02299b5a2a9aaa856ccf3e25ce718c"> 586</a></span>  <span class="keywordtype">double</span> rotational_energy[2]; </div><div class="line"><a name="l00587"></a><span class="lineno"><a class="line" href="classSolver.html#aa2d4923d98185727e1dad8f27ccfce86"> 587</a></span>  <span class="keywordtype">double</span> <a class="code" href="classSolver.html#aa2d4923d98185727e1dad8f27ccfce86">tot_rotational_energy</a>; </div><div class="line"><a name="l00588"></a><span class="lineno"><a class="line" href="classSolver.html#a82b4191c01585f781864fe5eed15ef19"> 588</a></span>  <span class="keywordtype">double</span> intra_species_energy[2]; </div><div class="line"><a name="l00589"></a><span class="lineno"><a class="line" href="classSolver.html#a5280b40ef6d0fafc90c6a5371a5030ec"> 589</a></span>  <span class="keywordtype">double</span> <a class="code" href="classSolver.html#a5280b40ef6d0fafc90c6a5371a5030ec">tot_intra_species_energy</a>; </div><div class="line"><a name="l00590"></a><span class="lineno"><a class="line" href="classSolver.html#aa2474b6c6f5a550e34c59898c4a183c7"> 590</a></span>  <span class="keywordtype">double</span> <a class="code" href="classSolver.html#aa2474b6c6f5a550e34c59898c4a183c7">LeeHuangYang_energy</a>; </div><div class="line"><a name="l00591"></a><span class="lineno"><a class="line" href="classSolver.html#a62c3613eaa7e36e7177f4b120ecb5619"> 591</a></span>  <span class="keywordtype">double</span> <a class="code" href="classSolver.html#a62c3613eaa7e36e7177f4b120ecb5619">inter_species_energy</a>; </div><div class="line"><a name="l00592"></a><span class="lineno"><a class="line" href="classSolver.html#a707c56538ea67b82cb9229b216d88a6f"> 592</a></span>  <span class="keywordtype">double</span> <a class="code" href="classSolver.html#a707c56538ea67b82cb9229b216d88a6f">rabi_energy</a>; </div><div class="line"><a name="l00593"></a><span class="lineno"><a class="line" href="classSolver.html#aa6ed7ad3e5973aba8d2d69b9a527986a"> 593</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classSolver.html#aa6ed7ad3e5973aba8d2d69b9a527986a">has_parameters_changed</a>; </div><div class="line"><a name="l00594"></a><span class="lineno"><a class="line" href="classSolver.html#ab1991188dc0fadaa8bce87fe774e925c"> 594</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classSolver.html#ab1991188dc0fadaa8bce87fe774e925c">energy_expected_values_updated</a>; </div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>  <span class="keywordtype">void</span> calculate_energy_expected_values(<span class="keywordtype">void</span>); </div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>  <span class="keywordtype">bool</span> is_python;</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span> };</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span> </div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span> <span class="keywordtype">double</span> const_potential(<span class="keywordtype">double</span> x); </div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span> <span class="keywordtype">double</span> const_potential(<span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y); </div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span> <span class="keywordtype">void</span> map_lattice_to_coordinate_space(Lattice *grid, <span class="keywordtype">int</span> x_in, <span class="keywordtype">double</span> *x_out); </div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span> <span class="keywordtype">void</span> map_lattice_to_coordinate_space(Lattice *grid, <span class="keywordtype">int</span> x_in, <span class="keywordtype">int</span> y_in, <span class="keywordtype">double</span> *x_out, <span class="keywordtype">double</span> *y_out); </div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span> <span class="preprocessor">#endif // __TROTTERSUZUKI_H</span></div><div class="ttc" id="classHamiltonian2Component_html_ade4553d4ed4081722288dc73a239ef48"><div class="ttname"><a href="classHamiltonian2Component.html#ade4553d4ed4081722288dc73a239ef48">Hamiltonian2Component::coupling_b</a></div><div class="ttdeci">double coupling_b</div><div class="ttdoc">Coupling constant of the intra-particles interaction of the second component. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:463</div></div>
<div class="ttc" id="classGaussianState_html_acb112ed63247fd79903daa0520eead43"><div class="ttname"><a href="classGaussianState.html#acb112ed63247fd79903daa0520eead43">GaussianState::omega_y</a></div><div class="ttdeci">double omega_y</div><div class="ttdoc">Gaussian coefficient. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:300</div></div>
<div class="ttc" id="classSolver_html_aa2474b6c6f5a550e34c59898c4a183c7"><div class="ttname"><a href="classSolver.html#aa2474b6c6f5a550e34c59898c4a183c7">Solver::LeeHuangYang_energy</a></div><div class="ttdeci">double LeeHuangYang_energy</div><div class="ttdoc">LeeHuangYang energy term. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:590</div></div>
<div class="ttc" id="classSolver_html_a287208a6319d1d64dca3d2b70e954e52"><div class="ttname"><a href="classSolver.html#a287208a6319d1d64dca3d2b70e954e52">Solver::tot_potential_energy</a></div><div class="ttdeci">double tot_potential_energy</div><div class="ttdoc">Total potential energy of the system. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:585</div></div>
<div class="ttc" id="classGaussianState_html_a7c2e1bab4381247156fd8af9bfae3a44"><div class="ttname"><a href="classGaussianState.html#a7c2e1bab4381247156fd8af9bfae3a44">GaussianState::mean_y</a></div><div class="ttdeci">double mean_y</div><div class="ttdoc">Y coordinate of the gaussian function&#39;s center. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:298</div></div>
<div class="ttc" id="classState_html_a0443bdad5f2d7d07c1246d871906328f"><div class="ttname"><a href="classState.html#a0443bdad5f2d7d07c1246d871906328f">State::mean_angular_momentum</a></div><div class="ttdeci">double mean_angular_momentum</div><div class="ttdoc">Expected value of the L_z operator. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:173</div></div>
<div class="ttc" id="classExponentialState_html_a753373fb8f35b7011a32c911bb145fed"><div class="ttname"><a href="classExponentialState.html#a753373fb8f35b7011a32c911bb145fed">ExponentialState::n_y</a></div><div class="ttdeci">int n_y</div><div class="ttdoc">First and second quantum number. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:254</div></div>
<div class="ttc" id="classExponentialState_html_a72d71d0051694eb716d023069a6afebf"><div class="ttname"><a href="classExponentialState.html#a72d71d0051694eb716d023069a6afebf">ExponentialState::phase</a></div><div class="ttdeci">double phase</div><div class="ttdoc">Norm and phase of the state. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:255</div></div>
<div class="ttc" id="classHamiltonian_html_a4c18f841e75c157bcf4c7f3976c7d2ee"><div class="ttname"><a href="classHamiltonian.html#a4c18f841e75c157bcf4c7f3976c7d2ee">Hamiltonian::rot_coord_y</a></div><div class="ttdeci">double rot_coord_y</div><div class="ttdoc">Y coordinate of the center of rotation. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:431</div></div>
<div class="ttc" id="classState_html_aed69f02d92f9853d8c195c3041ac765f"><div class="ttname"><a href="classState.html#aed69f02d92f9853d8c195c3041ac765f">State::p_imag</a></div><div class="ttdeci">double * p_imag</div><div class="ttdoc">Imaginary part of the wave function. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:126</div></div>
<div class="ttc" id="classState_html_aa136418a4aeb94dd43f36abdfc6d601b"><div class="ttname"><a href="classState.html#aa136418a4aeb94dd43f36abdfc6d601b">State::p_real</a></div><div class="ttdeci">double * p_real</div><div class="ttdoc">Real part of the wave function. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:125</div></div>
<div class="ttc" id="classHamiltonian_html"><div class="ttname"><a href="classHamiltonian.html">Hamiltonian</a></div><div class="ttdoc">This class defines the Hamiltonian of a single component system. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:423</div></div>
<div class="ttc" id="classSolver_html_a7dda1e092bba9f2e654445df5814a81c"><div class="ttname"><a href="classSolver.html#a7dda1e092bba9f2e654445df5814a81c">Solver::state</a></div><div class="ttdeci">State * state</div><div class="ttdoc">State of the first component. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:528</div></div>
<div class="ttc" id="classPotential_html_a45b187d7d1e6996b74443a2d9a1eeed5"><div class="ttname"><a href="classPotential.html#a45b187d7d1e6996b74443a2d9a1eeed5">Potential::current_evolution_time</a></div><div class="ttdeci">double current_evolution_time</div><div class="ttdoc">Amount of time evolved since the beginning of the evolution. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:386</div></div>
<div class="ttc" id="classSolver_html_a5280b40ef6d0fafc90c6a5371a5030ec"><div class="ttname"><a href="classSolver.html#a5280b40ef6d0fafc90c6a5371a5030ec">Solver::tot_intra_species_energy</a></div><div class="ttdeci">double tot_intra_species_energy</div><div class="ttdoc">Total intra-particles interaction energy of the system. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:589</div></div>
<div class="ttc" id="classGaussianState_html"><div class="ttname"><a href="classGaussianState.html">GaussianState</a></div><div class="ttdoc">This class defines a quantum state with gaussian like wave function. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:264</div></div>
<div class="ttc" id="classSolver_html_aa5b25076c13592bb2db571792c711285"><div class="ttname"><a href="classSolver.html#aa5b25076c13592bb2db571792c711285">Solver::external_pot_real</a></div><div class="ttdeci">double ** external_pot_real</div><div class="ttdoc">Real part of the evolution operator regarding the external potential. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:572</div></div>
<div class="ttc" id="classSolver_html_a3c2aa1b16c4af232cd0bb71d8c6bd239"><div class="ttname"><a href="classSolver.html#a3c2aa1b16c4af232cd0bb71d8c6bd239">Solver::current_evolution_time</a></div><div class="ttdeci">double current_evolution_time</div><div class="ttdoc">Amount of time evolved since the beginning of the evolution. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:531</div></div>
<div class="ttc" id="classBesselState_html_a4ecf6ece677b9f3b79465afd89bf34b6"><div class="ttname"><a href="classBesselState.html#a4ecf6ece677b9f3b79465afd89bf34b6">BesselState::zero</a></div><div class="ttdeci">double zero</div><div class="ttdoc">radial coordinate of the last zero. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:214</div></div>
<div class="ttc" id="classPotential_html"><div class="ttname"><a href="classPotential.html">Potential</a></div><div class="ttdoc">This class defines the external potential that is used for Hamiltonian class. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:347</div></div>
<div class="ttc" id="classHamiltonian2Component_html_ae18981a85c444f32061dfc5612716d92"><div class="ttname"><a href="classHamiltonian2Component.html#ae18981a85c444f32061dfc5612716d92">Hamiltonian2Component::potential_b</a></div><div class="ttdeci">Potential * potential_b</div><div class="ttdoc">External potential for the second component. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:467</div></div>
<div class="ttc" id="classLattice2D_html"><div class="ttname"><a href="classLattice2D.html">Lattice2D</a></div><div class="ttdoc">This class defines the 2D lattice structure over which the state and potential matrices are defined...</div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:83</div></div>
<div class="ttc" id="namespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div></div>
<div class="ttc" id="classSolver_html_ae0ac5328119b67aedd7d234ed1bc546b"><div class="ttname"><a href="classSolver.html#ae0ac5328119b67aedd7d234ed1bc546b">Solver::state_b</a></div><div class="ttdeci">State * state_b</div><div class="ttdoc">State of the second component. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:529</div></div>
<div class="ttc" id="classPotential_html_ae865ac56ca471da36d21b97fed06d105"><div class="ttname"><a href="classPotential.html#ae865ac56ca471da36d21b97fed06d105">Potential::matrix</a></div><div class="ttdeci">double * matrix</div><div class="ttdoc">Matrix storing the potential. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:350</div></div>
<div class="ttc" id="classPotential_html_a0cf798f9a82ffba2e8a97d47a66eafe2"><div class="ttname"><a href="classPotential.html#a0cf798f9a82ffba2e8a97d47a66eafe2">Potential::self_init</a></div><div class="ttdeci">bool self_init</div><div class="ttdoc">Whether the external potential matrix has been initialized from the Potential constructor or not...</div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:389</div></div>
<div class="ttc" id="classHamiltonian_html_a3093984b92cf18af0ea18e67e0143497"><div class="ttname"><a href="classHamiltonian.html#a3093984b92cf18af0ea18e67e0143497">Hamiltonian::LeeHuangYang_coupling_a</a></div><div class="ttdeci">double LeeHuangYang_coupling_a</div><div class="ttdoc">Coupling constant of the Lee-Huang-Yang term. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:428</div></div>
<div class="ttc" id="classHamiltonian2Component_html_a68bfd9e1ceaac167b8c5814098eb4f5b"><div class="ttname"><a href="classHamiltonian2Component.html#a68bfd9e1ceaac167b8c5814098eb4f5b">Hamiltonian2Component::omega_i</a></div><div class="ttdeci">double omega_i</div><div class="ttdoc">Imaginary part of the Rabi coupling. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:466</div></div>
<div class="ttc" id="classState_html_a05cc240880b62480836b735c128a46d2"><div class="ttname"><a href="classState.html#a05cc240880b62480836b735c128a46d2">State::grid</a></div><div class="ttdeci">Lattice * grid</div><div class="ttdoc">Object that defines the lattice structure. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:127</div></div>
<div class="ttc" id="classSolver_html_ad196816d8e3b0ec909a13535aee74d59"><div class="ttname"><a href="classSolver.html#ad196816d8e3b0ec909a13535aee74d59">Solver::hamiltonian</a></div><div class="ttdeci">Hamiltonian * hamiltonian</div><div class="ttdoc">Hamiltonian of the system; either single component or two components. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:530</div></div>
<div class="ttc" id="classSolver_html_a78bfcb649d53580d1e8c541085a8fbf1"><div class="ttname"><a href="classSolver.html#a78bfcb649d53580d1e8c541085a8fbf1">Solver::grid</a></div><div class="ttdeci">Lattice * grid</div><div class="ttdoc">Lattice object. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:527</div></div>
<div class="ttc" id="classGaussianState_html_a4ad4481a15d731771937f6a5a5c242fc"><div class="ttname"><a href="classGaussianState.html#a4ad4481a15d731771937f6a5a5c242fc">GaussianState::norm</a></div><div class="ttdeci">double norm</div><div class="ttdoc">Norm of the state. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:301</div></div>
<div class="ttc" id="classState_html_ad6ea4dd8e3a97962343a92eb9b586758"><div class="ttname"><a href="classState.html#ad6ea4dd8e3a97962343a92eb9b586758">State::mean_PxPx</a></div><div class="ttdeci">double mean_PxPx</div><div class="ttdoc">Expected values of the P_x and P_x^2 operators. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:171</div></div>
<div class="ttc" id="classState_html_a30a90a18e6065bfce9663f894c2fa13b"><div class="ttname"><a href="classState.html#a30a90a18e6065bfce9663f894c2fa13b">State::expected_values_updated</a></div><div class="ttdeci">bool expected_values_updated</div><div class="ttdoc">Whether the expected values of the state object are updated with respect to the last evolution...</div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:164</div></div>
<div class="ttc" id="classHamiltonian2Component_html_a45091419afd4b2670952f8d4618bb787"><div class="ttname"><a href="classHamiltonian2Component.html#a45091419afd4b2670952f8d4618bb787">Hamiltonian2Component::coupling_ab</a></div><div class="ttdeci">double coupling_ab</div><div class="ttdoc">Coupling constant of the inter-particles interaction. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:462</div></div>
<div class="ttc" id="classSolver_html_a5245c60018e4b5ff9854d21a233513d6"><div class="ttname"><a href="classSolver.html#a5245c60018e4b5ff9854d21a233513d6">Solver::delta_t</a></div><div class="ttdeci">double delta_t</div><div class="ttdoc">A single evolution iteration, evolves the state for this time. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:574</div></div>
<div class="ttc" id="classBesselState_html"><div class="ttname"><a href="classBesselState.html">BesselState</a></div><div class="ttdoc">This class defines a quantum state with Bessel function of the first kind, along the radial coordinat...</div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:182</div></div>
<div class="ttc" id="classSolver_html_ab1991188dc0fadaa8bce87fe774e925c"><div class="ttname"><a href="classSolver.html#ab1991188dc0fadaa8bce87fe774e925c">Solver::energy_expected_values_updated</a></div><div class="ttdeci">bool energy_expected_values_updated</div><div class="ttdoc">Whether the expectation values are updated or not. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:594</div></div>
<div class="ttc" id="classSolver_html_aa2d4923d98185727e1dad8f27ccfce86"><div class="ttname"><a href="classSolver.html#aa2d4923d98185727e1dad8f27ccfce86">Solver::tot_rotational_energy</a></div><div class="ttdeci">double tot_rotational_energy</div><div class="ttdoc">Total Rotational energy of the system. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:587</div></div>
<div class="ttc" id="classHamiltonian_html_a44667e6b76fe6c773c1692ab44f28449"><div class="ttname"><a href="classHamiltonian.html#a44667e6b76fe6c773c1692ab44f28449">Hamiltonian::self_init</a></div><div class="ttdeci">bool self_init</div><div class="ttdoc">Whether the potential is initialized in the Hamiltonian constructor or not. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:452</div></div>
<div class="ttc" id="classSinusoidState_html_a2d15cbf89eb65711e0cbe751f9a074bf"><div class="ttname"><a href="classSinusoidState.html#a2d15cbf89eb65711e0cbe751f9a074bf">SinusoidState::n_y</a></div><div class="ttdeci">int n_y</div><div class="ttdoc">First and second quantum number. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:339</div></div>
<div class="ttc" id="classState_html"><div class="ttname"><a href="classState.html">State</a></div><div class="ttdoc">This class defines the quantum state. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:123</div></div>
<div class="ttc" id="classSolver_html_a009f346c3b3ed2ed69726b426cb2e0ef"><div class="ttname"><a href="classSolver.html#a009f346c3b3ed2ed69726b426cb2e0ef">Solver::kernel</a></div><div class="ttdeci">ITrotterKernel * kernel</div><div class="ttdoc">Pointer to the kernel object. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:578</div></div>
<div class="ttc" id="classPotential_html_ad6be35f42f23d05afededc0e69c77b1d"><div class="ttname"><a href="classPotential.html#ad6be35f42f23d05afededc0e69c77b1d">Potential::grid</a></div><div class="ttdeci">Lattice * grid</div><div class="ttdoc">Object that defines the lattice structure. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:349</div></div>
<div class="ttc" id="classSolver_html_a6224555d0166f0bf410fd20f7c61b5ae"><div class="ttname"><a href="classSolver.html#a6224555d0166f0bf410fd20f7c61b5ae">Solver::tot_kinetic_energy</a></div><div class="ttdeci">double tot_kinetic_energy</div><div class="ttdoc">Total kinetic energy of the system. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:583</div></div>
<div class="ttc" id="classSinusoidState_html_a38177991dd0b7fbaff89fbc8113730aa"><div class="ttname"><a href="classSinusoidState.html#a38177991dd0b7fbaff89fbc8113730aa">SinusoidState::phase</a></div><div class="ttdeci">double phase</div><div class="ttdoc">Norm and phase of the state. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:340</div></div>
<div class="ttc" id="classBesselState_html_ac5f2e4507951d90b4ce0e34a53edf7b4"><div class="ttname"><a href="classBesselState.html#ac5f2e4507951d90b4ce0e34a53edf7b4">BesselState::normalization</a></div><div class="ttdeci">double normalization</div><div class="ttdoc">Variable used for the normalization of the state. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:215</div></div>
<div class="ttc" id="classSolver_html_a27fe2eff3bb6c18d15d089d9097303fd"><div class="ttname"><a href="classSolver.html#a27fe2eff3bb6c18d15d089d9097303fd">Solver::external_pot_imag</a></div><div class="ttdeci">double ** external_pot_imag</div><div class="ttdoc">Imaginary part of the evolution operator regarding the external potential. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:573</div></div>
<div class="ttc" id="classBesselState_html_a654535a23220dd290c84581013844051"><div class="ttname"><a href="classBesselState.html#a654535a23220dd290c84581013844051">BesselState::phase</a></div><div class="ttdeci">double phase</div><div class="ttdoc">Norm and phase of the state. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:216</div></div>
<div class="ttc" id="classState_html_abbbf0b418ef3256d32a82df9f41c0a70"><div class="ttname"><a href="classState.html#abbbf0b418ef3256d32a82df9f41c0a70">State::mean_PyPy</a></div><div class="ttdeci">double mean_PyPy</div><div class="ttdoc">Expected values of the P_y and P_y^2 operators. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:172</div></div>
<div class="ttc" id="classHamiltonian_html_ac60d0d51f08d445c72837d138059595f"><div class="ttname"><a href="classHamiltonian.html#ac60d0d51f08d445c72837d138059595f">Hamiltonian::rot_coord_x</a></div><div class="ttdeci">double rot_coord_x</div><div class="ttdoc">X coordinate of the center of rotation. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:430</div></div>
<div class="ttc" id="classPotential_html_a9746ff3bd9a468288179fa4b1126f098"><div class="ttname"><a href="classPotential.html#a9746ff3bd9a468288179fa4b1126f098">Potential::is_static</a></div><div class="ttdeci">bool is_static</div><div class="ttdoc">Whether the external potential is static or time-dependent. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:390</div></div>
<div class="ttc" id="classState_html_a25d1401ca844b5a831ab1a96948b967b"><div class="ttname"><a href="classState.html#a25d1401ca844b5a831ab1a96948b967b">State::angular_momentum</a></div><div class="ttdeci">int angular_momentum</div><div class="ttdoc">Angular momentum when cylindrical coordinates are used. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:128</div></div>
<div class="ttc" id="classSolver_html_a32bed12b4bdc053c8fae29ca2a6b0855"><div class="ttname"><a href="classSolver.html#a32bed12b4bdc053c8fae29ca2a6b0855">Solver::single_component</a></div><div class="ttdeci">bool single_component</div><div class="ttdoc">Whether the system is single-component(true) or two-components(false). </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:576</div></div>
<div class="ttc" id="classSolver_html"><div class="ttname"><a href="classSolver.html">Solver</a></div><div class="ttdoc">This class defines the evolution tasks. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:525</div></div>
<div class="ttc" id="classHarmonicPotential_html_a91256c037cc9b2a0e7d5857af9b33d60"><div class="ttname"><a href="classHarmonicPotential.html#a91256c037cc9b2a0e7d5857af9b33d60">HarmonicPotential::mean_y</a></div><div class="ttdeci">double mean_y</div><div class="ttdoc">Minimum of the potential along x and y axis. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:417</div></div>
<div class="ttc" id="classHarmonicPotential_html"><div class="ttname"><a href="classHarmonicPotential.html">HarmonicPotential</a></div><div class="ttdoc">This class defines the external potential that is used for Hamiltonian class. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:398</div></div>
<div class="ttc" id="classHamiltonian_html_a664167df256a4054493cf979a5ec6d36"><div class="ttname"><a href="classHamiltonian.html#a664167df256a4054493cf979a5ec6d36">Hamiltonian::mass</a></div><div class="ttdeci">double mass</div><div class="ttdoc">Mass of the particle. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:426</div></div>
<div class="ttc" id="classSolver_html_a42c174b2638615801ee0ccf69a8333f3"><div class="ttname"><a href="classSolver.html#a42c174b2638615801ee0ccf69a8333f3">Solver::kernel_type</a></div><div class="ttdeci">string kernel_type</div><div class="ttdoc">Which kernel are being used (cpu or gpu). </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:577</div></div>
<div class="ttc" id="classHamiltonian2Component_html_ac1e3ac19366837747e820bd9e5572315"><div class="ttname"><a href="classHamiltonian2Component.html#ac1e3ac19366837747e820bd9e5572315">Hamiltonian2Component::omega_r</a></div><div class="ttdeci">double omega_r</div><div class="ttdoc">Real part of the Rabi coupling. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:465</div></div>
<div class="ttc" id="classState_html_a8defbbd6529fb5b6665f00f2a6271b28"><div class="ttname"><a href="classState.html#a8defbbd6529fb5b6665f00f2a6271b28">State::mean_XX</a></div><div class="ttdeci">double mean_XX</div><div class="ttdoc">Expected values of the X and X^2 operators. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:169</div></div>
<div class="ttc" id="classSolver_html_ac92298a066d9525df6eb6e504ba6f044"><div class="ttname"><a href="classSolver.html#ac92298a066d9525df6eb6e504ba6f044">Solver::imag_time</a></div><div class="ttdeci">bool imag_time</div><div class="ttdoc">Whether the time of evolution is imaginary(true) or real(false). </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:571</div></div>
<div class="ttc" id="classBesselState_html_adee2ae3dcd2c969a8b4ecb3c140ba5a2"><div class="ttname"><a href="classBesselState.html#adee2ae3dcd2c969a8b4ecb3c140ba5a2">BesselState::n_y</a></div><div class="ttdeci">int n_y</div><div class="ttdoc">First and second quantum number. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:213</div></div>
<div class="ttc" id="classHamiltonian2Component_html"><div class="ttname"><a href="classHamiltonian2Component.html">Hamiltonian2Component</a></div><div class="ttdoc">This class defines the Hamiltonian of a two component system. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:459</div></div>
<div class="ttc" id="classHamiltonian_html_a51176e56a8b486cb7bae0fcfb931da43"><div class="ttname"><a href="classHamiltonian.html#a51176e56a8b486cb7bae0fcfb931da43">Hamiltonian::angular_velocity</a></div><div class="ttdeci">double angular_velocity</div><div class="ttdoc">The frame of reference rotates with this angular velocity. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:429</div></div>
<div class="ttc" id="classGaussianState_html_aef9752d98c7ae3236eda669f243910ad"><div class="ttname"><a href="classGaussianState.html#aef9752d98c7ae3236eda669f243910ad">GaussianState::omega_x</a></div><div class="ttdeci">double omega_x</div><div class="ttdoc">Gaussian coefficient. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:299</div></div>
<div class="ttc" id="classGaussianState_html_a70d08627bf0ad1fdf0e5fae75edb9a3c"><div class="ttname"><a href="classGaussianState.html#a70d08627bf0ad1fdf0e5fae75edb9a3c">GaussianState::phase</a></div><div class="ttdeci">double phase</div><div class="ttdoc">Relative phase of the wave function. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:302</div></div>
<div class="ttc" id="classSolver_html_a2b0487b16edfffca5f3e779c6c869cae"><div class="ttname"><a href="classSolver.html#a2b0487b16edfffca5f3e779c6c869cae">Solver::total_energy</a></div><div class="ttdeci">double total_energy</div><div class="ttdoc">Total energy of the system. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:581</div></div>
<div class="ttc" id="classSolver_html_a62c3613eaa7e36e7177f4b120ecb5619"><div class="ttname"><a href="classSolver.html#a62c3613eaa7e36e7177f4b120ecb5619">Solver::inter_species_energy</a></div><div class="ttdeci">double inter_species_energy</div><div class="ttdoc">Inter-particles interaction energy of the system. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:591</div></div>
<div class="ttc" id="classState_html_affa31b0edc363365d52e5b36575ece66"><div class="ttname"><a href="classState.html#affa31b0edc363365d52e5b36575ece66">State::mean_YY</a></div><div class="ttdeci">double mean_YY</div><div class="ttdoc">Expected values of the Y and Y^2 operators. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:170</div></div>
<div class="ttc" id="classHamiltonian2Component_html_ad815366d0a90b4c0f23ee2739f81db9a"><div class="ttname"><a href="classHamiltonian2Component.html#ad815366d0a90b4c0f23ee2739f81db9a">Hamiltonian2Component::mass_b</a></div><div class="ttdeci">double mass_b</div><div class="ttdoc">Mass of the second component. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:461</div></div>
<div class="ttc" id="classSolver_html_aa6ed7ad3e5973aba8d2d69b9a527986a"><div class="ttname"><a href="classSolver.html#aa6ed7ad3e5973aba8d2d69b9a527986a">Solver::has_parameters_changed</a></div><div class="ttdeci">bool has_parameters_changed</div><div class="ttdoc">Keeps track whether the Hamiltonian parameters were changed. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:593</div></div>
<div class="ttc" id="classHarmonicPotential_html_af7a789997d1887cc1ca8ec587699a69f"><div class="ttname"><a href="classHarmonicPotential.html#af7a789997d1887cc1ca8ec587699a69f">HarmonicPotential::omegay</a></div><div class="ttdeci">double omegay</div><div class="ttdoc">Frequencies along x and y axis. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:415</div></div>
<div class="ttc" id="classLattice1D_html"><div class="ttname"><a href="classLattice1D.html">Lattice1D</a></div><div class="ttdoc">This class defines the 1D lattice structure over which the state and potential are defined...</div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:64</div></div>
<div class="ttc" id="classHamiltonian_html_a0e5d649fbe4ab10fd1a7aaf6e31e950a"><div class="ttname"><a href="classHamiltonian.html#a0e5d649fbe4ab10fd1a7aaf6e31e950a">Hamiltonian::grid</a></div><div class="ttdeci">Lattice * grid</div><div class="ttdoc">Lattice object. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:453</div></div>
<div class="ttc" id="classHarmonicPotential_html_a84c6074aaa70e4aea5339ffc5e1b68d7"><div class="ttname"><a href="classHarmonicPotential.html#a84c6074aaa70e4aea5339ffc5e1b68d7">HarmonicPotential::mass</a></div><div class="ttdeci">double mass</div><div class="ttdoc">Mass of the particle. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:416</div></div>
<div class="ttc" id="classSinusoidState_html"><div class="ttname"><a href="classSinusoidState.html">SinusoidState</a></div><div class="ttdoc">This class defines a quantum state with sinusoidal like wave function. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:311</div></div>
<div class="ttc" id="classGaussianState_html_a2f834d1ee7729aa0f8cfdc99df149a6a"><div class="ttname"><a href="classGaussianState.html#a2f834d1ee7729aa0f8cfdc99df149a6a">GaussianState::mean_x</a></div><div class="ttdeci">double mean_x</div><div class="ttdoc">X coordinate of the gaussian function&#39;s center. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:297</div></div>
<div class="ttc" id="classHamiltonian_html_a7eb6c2198c73ee1057b6b56d9bf94b49"><div class="ttname"><a href="classHamiltonian.html#a7eb6c2198c73ee1057b6b56d9bf94b49">Hamiltonian::potential</a></div><div class="ttdeci">Potential * potential</div><div class="ttdoc">Potential object. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:425</div></div>
<div class="ttc" id="classState_html_a5517200f76f2551e7315e98a1980fb20"><div class="ttname"><a href="classState.html#a5517200f76f2551e7315e98a1980fb20">State::self_init</a></div><div class="ttdeci">bool self_init</div><div class="ttdoc">Whether the p_real and p_imag matrices have been initialized from the State constructor or not...</div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:167</div></div>
<div class="ttc" id="classHamiltonian_html_a24307c921a272175963f66f85e16df71"><div class="ttname"><a href="classHamiltonian.html#a24307c921a272175963f66f85e16df71">Hamiltonian::coupling_a</a></div><div class="ttdeci">double coupling_a</div><div class="ttdoc">Coupling constant of intra-particle interaction. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:427</div></div>
<div class="ttc" id="classBesselState_html_a0fa21b5a33ee61881bec998a393efd7c"><div class="ttname"><a href="classBesselState.html#a0fa21b5a33ee61881bec998a393efd7c">BesselState::angular_momentum</a></div><div class="ttdeci">int angular_momentum</div><div class="ttdoc">Angular momentum. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:212</div></div>
<div class="ttc" id="classExponentialState_html"><div class="ttname"><a href="classExponentialState.html">ExponentialState</a></div><div class="ttdoc">This class defines a quantum state with exponential like wave function. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:226</div></div>
<div class="ttc" id="classSolver_html_a707c56538ea67b82cb9229b216d88a6f"><div class="ttname"><a href="classSolver.html#a707c56538ea67b82cb9229b216d88a6f">Solver::rabi_energy</a></div><div class="ttdeci">double rabi_energy</div><div class="ttdoc">Rabi energy of the system. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:592</div></div>
<div class="ttc" id="classState_html_a547f367dd2ac6437ff2f1a979f59309c"><div class="ttname"><a href="classState.html#a547f367dd2ac6437ff2f1a979f59309c">State::norm2</a></div><div class="ttdeci">double norm2</div><div class="ttdoc">Squared norm of the state. </div><div class="ttdef"><b>Definition:</b> trottersuzuki.h:174</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>