-
Notifications
You must be signed in to change notification settings - Fork 29
/
05_history.html
318 lines (196 loc) · 17.7 KB
/
05_history.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
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>History — Krotov 7c20d3f documentation</title>
<script type="text/javascript" src="_static/js/modernizr.min.js"></script>
<script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="_static/language_data.js"></script>
<script type="text/javascript" src="_static/version-alert.js"></script>
<script crossorigin="anonymous" integrity="sha256-Ae2Vz/4ePdIu6ZyI/5ZGsYnb+m0JlOmKPjt6XZ9JJkA=" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.4/require.min.js"></script>
<script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<script type="text/x-mathjax-config">MathJax.Hub.Config({"extensions": ["tex2jax.js"], "jax": ["input/TeX", "output/SVG"], "TeX": {"extensions": ["AMSmath.js", "AMSsymbols.js"], "Macros": {"tr": ["{\\operatorname{tr}}", 0], "diag": ["{\\operatorname{diag}}", 0], "abs": ["{\\operatorname{abs}}", 0], "pop": ["{\\operatorname{pop}}", 0], "ee": ["{\\text{e}}", 0], "ii": ["{\\text{i}}", 0], "aux": ["{\\text{aux}}", 0], "opt": ["{\\text{opt}}", 0], "tgt": ["{\\text{tgt}}", 0], "init": ["{\\text{init}}", 0], "lab": ["{\\text{lab}}", 0], "rwa": ["{\\text{rwa}}", 0], "bra": ["{\\langle#1\\vert}", 1], "ket": ["{\\vert#1\\rangle}", 1], "Bra": ["{\\left\\langle#1\\right\\vert}", 1], "Braket": ["{\\left\\langle #1\\vphantom{#2} \\mid #2\\vphantom{#1}\\right\\rangle}", 2], "ketbra": ["{\\vert#1\\rangle\\!\\langle#2\\vert}", 2], "Ket": ["{\\left\\vert#1\\right\\rangle}", 1], "mat": ["{\\mathbf{#1}}", 1], "op": ["{\\hat{#1}}", 1], "Op": ["{\\hat{#1}}", 1], "dd": ["{\\,\\text{d}}", 0], "daggered": ["{^{\\dagger}}", 0], "transposed": ["{^{\\text{T}}}", 0], "Liouville": ["{\\mathcal{L}}", 0], "DynMap": ["{\\mathcal{E}}", 0], "identity": ["{\\mathbf{1}}", 0], "Norm": ["{\\left\\lVert#1\\right\\rVert}", 1], "norm": ["{\\lVert#1\\rVert}", 1], "Abs": ["{\\left\\vert#1\\right\\vert}", 1], "avg": ["{\\langle#1\\rangle}", 1], "Avg": ["{\\left\\langle#1\\right\\rangle}", 1], "AbsSq": ["{\\left\\vert#1\\right\\vert^2}", 1], "Re": ["{\\operatorname{Re}}", 0], "Im": ["{\\operatorname{Im}}", 0], "Real": ["{\\mathbb{R}}", 0], "Complex": ["{\\mathbb{C}}", 0], "Integer": ["{\\mathbb{N}}", 0]}}, "tex2jax": {"inlineMath": [["$", "$"], ["\\(", "\\)"]], "processEscapes": true, "ignoreClass": "document", "processClass": "math|output_area"}})</script>
<script type="text/javascript" src="_static/js/theme.js"></script>
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/graphviz.css" type="text/css" />
<link rel="stylesheet" href="_static/mycss.css" type="text/css" />
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="Krotov’s Method" href="06_krotovs_method.html" />
<link rel="prev" title="Features" href="04_features.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="index.html" class="icon icon-home"> Krotov
</a>
<div class="version">
0.4.0
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<p class="caption"><span class="caption-text">Contents:</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="01_overview.html">Krotov Python Package</a></li>
<li class="toctree-l1"><a class="reference internal" href="02_contributing.html">Contributing</a></li>
<li class="toctree-l1"><a class="reference internal" href="03_authors.html">Credits</a></li>
<li class="toctree-l1"><a class="reference internal" href="04_features.html">Features</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">History</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#id1">0.4.0 (2019-10-08)</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id2">0.3.0 (2019-03-01)</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id3">0.2.0 (2019-02-14)</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id4">0.1.0 (2018-12-24)</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="06_krotovs_method.html">Krotov’s Method</a></li>
<li class="toctree-l1"><a class="reference internal" href="07_qutip_usage.html">Using Krotov with QuTiP</a></li>
<li class="toctree-l1"><a class="reference internal" href="08_examples.html">Examples</a></li>
<li class="toctree-l1"><a class="reference internal" href="09_howto.html">How-Tos</a></li>
<li class="toctree-l1"><a class="reference internal" href="10_other_methods.html">Other Optimization Methods</a></li>
<li class="toctree-l1"><a class="reference internal" href="99_bibliography.html">References</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="API/krotov.html">API of the Krotov package</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">Krotov</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html">Docs</a> »</li>
<li>History</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<style>
/* CSS overrides for sphinx_rtd_theme */
/* 24px margin */
.nbinput.nblast.container,
.nboutput.nblast.container {
margin-bottom: 19px; /* padding has already 5px */
}
/* ... except between code cells! */
.nblast.container + .nbinput.container {
margin-top: -19px;
}
.admonition > p:before {
margin-right: 4px; /* make room for the exclamation icon */
}
/* Fix math alignment, see https://github.com/rtfd/sphinx_rtd_theme/pull/686 */
.math {
text-align: unset;
}
</style>
<div class="section" id="history">
<h1>History<a class="headerlink" href="#history" title="Permalink to this headline">¶</a></h1>
<div class="section" id="id1">
<h2>0.4.0 (2019-10-08)<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li><p>Added: Support for Python 3.7</p></li>
<li><p>Changed: The <code class="docutils literal notranslate"><span class="pre">'shape'</span></code> key in <code class="docutils literal notranslate"><span class="pre">pulse_options</span></code> was renamed to <code class="docutils literal notranslate"><span class="pre">'update_shape'</span></code>, to further avoid confusion between pulse shapes and update shapes.</p></li>
<li><p>Changed: The <code class="docutils literal notranslate"><span class="pre">.adjoint</span></code> property of <code class="docutils literal notranslate"><span class="pre">Objective</span></code> is now a method</p></li>
<li><p>Added: Ability to not use QuTiP <code class="docutils literal notranslate"><span class="pre">Qobj</span></code> objects, but arbitrary low-level objects instead.</p></li>
<li><p>Improved: Printing an <code class="docutils literal notranslate"><span class="pre">Objective</span></code> now uses internal counters and a symbolic notation to identify objects shared between different objectives. (<a class="reference external" href="https://github.com/qucontrol/krotov/issues/43">#43</a>)</p></li>
<li><p>Improved: <code class="docutils literal notranslate"><span class="pre">gate_objectives</span></code> now takes into account if target states are (reshuffled) basis states and does not create unnecessary new copies.</p></li>
<li><p>Bugfix: Two <code class="docutils literal notranslate"><span class="pre">Objective</span></code> instances that contain numpy arrays as controls can now be compared with <code class="docutils literal notranslate"><span class="pre">==</span></code> (<a class="reference external" href="https://github.com/qucontrol/krotov/issues/44">#44</a>)</p></li>
<li><p>Bugfix: Custom attributes (such as <code class="docutils literal notranslate"><span class="pre">weight</span></code>) are now preserved when copying an <code class="docutils literal notranslate"><span class="pre">Objective</span></code> (<a class="reference external" href="https://github.com/qucontrol/krotov/issues/44">#44</a>)</p></li>
<li><p>Bugfix: Calling <code class="docutils literal notranslate"><span class="pre">copy.deepcopy</span></code> on an <code class="docutils literal notranslate"><span class="pre">Objective</span></code> now preserves control functions (<a class="reference external" href="https://github.com/qucontrol/krotov/issues/44">#44</a>)</p></li>
<li><p>Improved: The <code class="docutils literal notranslate"><span class="pre">Objective.mesolve</span></code> and <code class="docutils literal notranslate"><span class="pre">Objective.propagate</span></code> methods can now receive arguments <code class="docutils literal notranslate"><span class="pre">H</span></code> and <code class="docutils literal notranslate"><span class="pre">c_ops</span></code> to override the respective attributes of the objectives. This make is easier to analyze perform a robustness analysis, where the result of an optimization should be propagated under a perturbed Hamiltonian.</p></li>
<li><p>Improved: The <code class="docutils literal notranslate"><span class="pre">print_table</span></code> and <code class="docutils literal notranslate"><span class="pre">print_debug_information</span></code> info-hooks now flush their output buffers after each iteration. As a result, when writing to a file, that file can be watched with <code class="docutils literal notranslate"><span class="pre">tail</span> <span class="pre">-f</span></code>.</p></li>
<li><p>Changed: Redefine <code class="docutils literal notranslate"><span class="pre">tau_vals</span></code> as their complex conjugate, fixing a bug in <code class="docutils literal notranslate"><span class="pre">chis_ss</span></code> and <code class="docutils literal notranslate"><span class="pre">chis_sm</span></code> (<a class="reference external" href="https://github.com/qucontrol/krotov/issues/46">#46</a>)</p></li>
<li><p>Bugfix: Correctly calculate ∂H/∂ϵ if ϵ occurs in H multiple times (<a class="reference external" href="https://github.com/qucontrol/krotov/issues/47">#47</a>, thanks to <a class="reference external" href="https://github.com/uiofgh">@uiofgh</a>)</p></li>
<li><p>Bugfix: Correctly calculate ∂H/∂ϵ=0 if the specific ϵ currently being updated does not occur in H (<a class="reference external" href="https://github.com/qucontrol/krotov/issues/48">#48</a>)</p></li>
<li><p>Added: Method <code class="docutils literal notranslate"><span class="pre">objectives_with_controls</span></code> for <code class="docutils literal notranslate"><span class="pre">Result</span></code> object.</p></li>
</ul>
</div>
<div class="section" id="id2">
<h2>0.3.0 (2019-03-01)<a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li><p>Added: Preprint citation information (<code class="docutils literal notranslate"><span class="pre">krotov.__arxiv__</span></code>, <code class="docutils literal notranslate"><span class="pre">krotov.__citation__</span></code>, <code class="docutils literal notranslate"><span class="pre">krotov.__bibtex__</span></code>)</p></li>
<li><p>Added: Ability to continue from a previous optimization (<a class="reference external" href="https://github.com/qucontrol/krotov/issues/26">#26</a>)</p></li>
<li><p>Added: Parameter <code class="docutils literal notranslate"><span class="pre">out</span></code> to <code class="docutils literal notranslate"><span class="pre">print_table</span></code> info-hook</p></li>
<li><p>Added: Parameter <code class="docutils literal notranslate"><span class="pre">finalize</span></code> to <code class="docutils literal notranslate"><span class="pre">Result.load</span></code></p></li>
<li><p>Added: Ability to dump optimization result every so many iterations (<code class="docutils literal notranslate"><span class="pre">dump_result</span></code> check-convergence routine)</p></li>
<li><p>Added: <cite>re-entrant</cite> option for <code class="docutils literal notranslate"><span class="pre">DensityMatrixODEPropagator</span></code></p></li>
<li><p>Bugfix: Discretize controls to float values (<a class="reference external" href="https://github.com/qucontrol/krotov/issues/41">#41</a>)</p></li>
<li><p>Bugfix: Fix overlap for non-Hermitian operators (<a class="reference external" href="https://github.com/qucontrol/krotov/issues/39">#39</a>)</p></li>
<li><p>Bugfix: Interface for passing <code class="docutils literal notranslate"><span class="pre">tau_vals</span></code> to <code class="docutils literal notranslate"><span class="pre">chi_constructor</span></code> (<a class="reference external" href="https://github.com/qucontrol/krotov/issues/36">#36</a>)</p></li>
<li><p>Added: function <code class="docutils literal notranslate"><span class="pre">above_value</span></code> for convergence check (<a class="reference external" href="https://github.com/qucontrol/krotov/issues/35">#35</a>)</p></li>
</ul>
</div>
<div class="section" id="id3">
<h2>0.2.0 (2019-02-14)<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li><p>Added: Implementation of all the standard functionals</p></li>
<li><p>Added: The <code class="docutils literal notranslate"><span class="pre">info_hook</span></code> receives additional information, including ∫gₐ(t)dt (<a class="reference external" href="https://github.com/qucontrol/krotov/issues/32">#32</a>)</p></li>
<li><p>Added: Initialization of objectives for gate optimization in Liouville space</p></li>
<li><p>Added: A new propagator <code class="docutils literal notranslate"><span class="pre">DensityMatrixODEPropagator</span></code> for faster density matrix propagation</p></li>
<li><p>Added: Support for “stateful” propagators by subclassing from <code class="docutils literal notranslate"><span class="pre">krotov.propagators.Propagator</span></code></p></li>
<li><p>Changed: more flexibility for parallelization (<a class="reference external" href="https://github.com/qucontrol/krotov/issues/29">#29</a>)</p></li>
<li><p>Added: Support for the second-order pulse update</p></li>
<li><p>Changed: The options for the controls (λₐ, update-shape) are now passed through a simplified <code class="docutils literal notranslate"><span class="pre">dict</span></code> interface, instead of a custom <code class="docutils literal notranslate"><span class="pre">PulseOptions</span></code> class.</p></li>
</ul>
</div>
<div class="section" id="id4">
<h2>0.1.0 (2018-12-24)<a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li><p>Initial release with complete implementation of first-order Krotov’s method</p></li>
<li><p>Support for state-to-state and gate optimization, for both closed and open systems</p></li>
</ul>
</div>
</div>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="06_krotovs_method.html" class="btn btn-neutral float-right" title="Krotov’s Method" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="04_features.html" class="btn btn-neutral float-left" title="Features" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<p>
© Copyright 2019, Michael Goerz et al.
<span class="lastupdated">
Last updated on Dec 14, 2019.
</span>
</p>
</div>
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>