Trajectree 0.0.0__py3-none-any.whl → 0.0.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. trajectree/__init__.py +3 -0
  2. trajectree/fock_optics/devices.py +1 -1
  3. trajectree/fock_optics/light_sources.py +2 -2
  4. trajectree/fock_optics/measurement.py +3 -3
  5. trajectree/fock_optics/utils.py +6 -6
  6. trajectree/quimb/docs/_pygments/_pygments_dark.py +118 -0
  7. trajectree/quimb/docs/_pygments/_pygments_light.py +118 -0
  8. trajectree/quimb/docs/conf.py +158 -0
  9. trajectree/quimb/docs/examples/ex_mpi_expm_evo.py +62 -0
  10. trajectree/quimb/quimb/__init__.py +507 -0
  11. trajectree/quimb/quimb/calc.py +1491 -0
  12. trajectree/quimb/quimb/core.py +2279 -0
  13. trajectree/quimb/quimb/evo.py +712 -0
  14. trajectree/quimb/quimb/experimental/__init__.py +0 -0
  15. trajectree/quimb/quimb/experimental/autojittn.py +129 -0
  16. trajectree/quimb/quimb/experimental/belief_propagation/__init__.py +109 -0
  17. trajectree/quimb/quimb/experimental/belief_propagation/bp_common.py +397 -0
  18. trajectree/quimb/quimb/experimental/belief_propagation/d1bp.py +316 -0
  19. trajectree/quimb/quimb/experimental/belief_propagation/d2bp.py +653 -0
  20. trajectree/quimb/quimb/experimental/belief_propagation/hd1bp.py +571 -0
  21. trajectree/quimb/quimb/experimental/belief_propagation/hv1bp.py +775 -0
  22. trajectree/quimb/quimb/experimental/belief_propagation/l1bp.py +316 -0
  23. trajectree/quimb/quimb/experimental/belief_propagation/l2bp.py +537 -0
  24. trajectree/quimb/quimb/experimental/belief_propagation/regions.py +194 -0
  25. trajectree/quimb/quimb/experimental/cluster_update.py +286 -0
  26. trajectree/quimb/quimb/experimental/merabuilder.py +865 -0
  27. trajectree/quimb/quimb/experimental/operatorbuilder/__init__.py +15 -0
  28. trajectree/quimb/quimb/experimental/operatorbuilder/operatorbuilder.py +1631 -0
  29. trajectree/quimb/quimb/experimental/schematic.py +7 -0
  30. trajectree/quimb/quimb/experimental/tn_marginals.py +130 -0
  31. trajectree/quimb/quimb/experimental/tnvmc.py +1483 -0
  32. trajectree/quimb/quimb/gates.py +36 -0
  33. trajectree/quimb/quimb/gen/__init__.py +2 -0
  34. trajectree/quimb/quimb/gen/operators.py +1167 -0
  35. trajectree/quimb/quimb/gen/rand.py +713 -0
  36. trajectree/quimb/quimb/gen/states.py +479 -0
  37. trajectree/quimb/quimb/linalg/__init__.py +6 -0
  38. trajectree/quimb/quimb/linalg/approx_spectral.py +1109 -0
  39. trajectree/quimb/quimb/linalg/autoblock.py +258 -0
  40. trajectree/quimb/quimb/linalg/base_linalg.py +719 -0
  41. trajectree/quimb/quimb/linalg/mpi_launcher.py +397 -0
  42. trajectree/quimb/quimb/linalg/numpy_linalg.py +244 -0
  43. trajectree/quimb/quimb/linalg/rand_linalg.py +514 -0
  44. trajectree/quimb/quimb/linalg/scipy_linalg.py +293 -0
  45. trajectree/quimb/quimb/linalg/slepc_linalg.py +892 -0
  46. trajectree/quimb/quimb/schematic.py +1518 -0
  47. trajectree/quimb/quimb/tensor/__init__.py +401 -0
  48. trajectree/quimb/quimb/tensor/array_ops.py +610 -0
  49. trajectree/quimb/quimb/tensor/circuit.py +4824 -0
  50. trajectree/quimb/quimb/tensor/circuit_gen.py +411 -0
  51. trajectree/quimb/quimb/tensor/contraction.py +336 -0
  52. trajectree/quimb/quimb/tensor/decomp.py +1255 -0
  53. trajectree/quimb/quimb/tensor/drawing.py +1646 -0
  54. trajectree/quimb/quimb/tensor/fitting.py +385 -0
  55. trajectree/quimb/quimb/tensor/geometry.py +583 -0
  56. trajectree/quimb/quimb/tensor/interface.py +114 -0
  57. trajectree/quimb/quimb/tensor/networking.py +1058 -0
  58. trajectree/quimb/quimb/tensor/optimize.py +1818 -0
  59. trajectree/quimb/quimb/tensor/tensor_1d.py +4778 -0
  60. trajectree/quimb/quimb/tensor/tensor_1d_compress.py +1854 -0
  61. trajectree/quimb/quimb/tensor/tensor_1d_tebd.py +662 -0
  62. trajectree/quimb/quimb/tensor/tensor_2d.py +5954 -0
  63. trajectree/quimb/quimb/tensor/tensor_2d_compress.py +96 -0
  64. trajectree/quimb/quimb/tensor/tensor_2d_tebd.py +1230 -0
  65. trajectree/quimb/quimb/tensor/tensor_3d.py +2869 -0
  66. trajectree/quimb/quimb/tensor/tensor_3d_tebd.py +46 -0
  67. trajectree/quimb/quimb/tensor/tensor_approx_spectral.py +60 -0
  68. trajectree/quimb/quimb/tensor/tensor_arbgeom.py +3237 -0
  69. trajectree/quimb/quimb/tensor/tensor_arbgeom_compress.py +565 -0
  70. trajectree/quimb/quimb/tensor/tensor_arbgeom_tebd.py +1138 -0
  71. trajectree/quimb/quimb/tensor/tensor_builder.py +5411 -0
  72. trajectree/quimb/quimb/tensor/tensor_core.py +11179 -0
  73. trajectree/quimb/quimb/tensor/tensor_dmrg.py +1472 -0
  74. trajectree/quimb/quimb/tensor/tensor_mera.py +204 -0
  75. trajectree/quimb/quimb/utils.py +892 -0
  76. trajectree/quimb/tests/__init__.py +0 -0
  77. trajectree/quimb/tests/test_accel.py +501 -0
  78. trajectree/quimb/tests/test_calc.py +788 -0
  79. trajectree/quimb/tests/test_core.py +847 -0
  80. trajectree/quimb/tests/test_evo.py +565 -0
  81. trajectree/quimb/tests/test_gen/__init__.py +0 -0
  82. trajectree/quimb/tests/test_gen/test_operators.py +361 -0
  83. trajectree/quimb/tests/test_gen/test_rand.py +296 -0
  84. trajectree/quimb/tests/test_gen/test_states.py +261 -0
  85. trajectree/quimb/tests/test_linalg/__init__.py +0 -0
  86. trajectree/quimb/tests/test_linalg/test_approx_spectral.py +368 -0
  87. trajectree/quimb/tests/test_linalg/test_base_linalg.py +351 -0
  88. trajectree/quimb/tests/test_linalg/test_mpi_linalg.py +127 -0
  89. trajectree/quimb/tests/test_linalg/test_numpy_linalg.py +84 -0
  90. trajectree/quimb/tests/test_linalg/test_rand_linalg.py +134 -0
  91. trajectree/quimb/tests/test_linalg/test_slepc_linalg.py +283 -0
  92. trajectree/quimb/tests/test_tensor/__init__.py +0 -0
  93. trajectree/quimb/tests/test_tensor/test_belief_propagation/__init__.py +0 -0
  94. trajectree/quimb/tests/test_tensor/test_belief_propagation/test_d1bp.py +39 -0
  95. trajectree/quimb/tests/test_tensor/test_belief_propagation/test_d2bp.py +67 -0
  96. trajectree/quimb/tests/test_tensor/test_belief_propagation/test_hd1bp.py +64 -0
  97. trajectree/quimb/tests/test_tensor/test_belief_propagation/test_hv1bp.py +51 -0
  98. trajectree/quimb/tests/test_tensor/test_belief_propagation/test_l1bp.py +142 -0
  99. trajectree/quimb/tests/test_tensor/test_belief_propagation/test_l2bp.py +101 -0
  100. trajectree/quimb/tests/test_tensor/test_circuit.py +816 -0
  101. trajectree/quimb/tests/test_tensor/test_contract.py +67 -0
  102. trajectree/quimb/tests/test_tensor/test_decomp.py +40 -0
  103. trajectree/quimb/tests/test_tensor/test_mera.py +52 -0
  104. trajectree/quimb/tests/test_tensor/test_optimizers.py +488 -0
  105. trajectree/quimb/tests/test_tensor/test_tensor_1d.py +1171 -0
  106. trajectree/quimb/tests/test_tensor/test_tensor_2d.py +606 -0
  107. trajectree/quimb/tests/test_tensor/test_tensor_2d_tebd.py +144 -0
  108. trajectree/quimb/tests/test_tensor/test_tensor_3d.py +123 -0
  109. trajectree/quimb/tests/test_tensor/test_tensor_arbgeom.py +226 -0
  110. trajectree/quimb/tests/test_tensor/test_tensor_builder.py +441 -0
  111. trajectree/quimb/tests/test_tensor/test_tensor_core.py +2066 -0
  112. trajectree/quimb/tests/test_tensor/test_tensor_dmrg.py +388 -0
  113. trajectree/quimb/tests/test_tensor/test_tensor_spectral_approx.py +63 -0
  114. trajectree/quimb/tests/test_tensor/test_tensor_tebd.py +270 -0
  115. trajectree/quimb/tests/test_utils.py +85 -0
  116. trajectree/trajectory.py +2 -2
  117. {trajectree-0.0.0.dist-info → trajectree-0.0.1.dist-info}/METADATA +2 -2
  118. trajectree-0.0.1.dist-info/RECORD +126 -0
  119. trajectree-0.0.0.dist-info/RECORD +0 -16
  120. {trajectree-0.0.0.dist-info → trajectree-0.0.1.dist-info}/WHEEL +0 -0
  121. {trajectree-0.0.0.dist-info → trajectree-0.0.1.dist-info}/licenses/LICENSE +0 -0
  122. {trajectree-0.0.0.dist-info → trajectree-0.0.1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,507 @@
1
+ """
2
+ Quantum Information for Many-Body calculations.
3
+ """
4
+ try:
5
+ # -- Distribution mode --
6
+ # import from _version.py generated by setuptools_scm during release
7
+ from ._version import version as __version__
8
+ except ImportError:
9
+ # -- Source mode --
10
+ try:
11
+ # use setuptools_scm to get the current version from src using git
12
+ from setuptools_scm import get_version as _gv
13
+ from pathlib import Path as _Path
14
+
15
+ __version__ = _gv(_Path(__file__).parent.parent)
16
+ except ImportError:
17
+ # setuptools_scm is not available, use a default version
18
+ __version__ = "0.0.0+unknown"
19
+
20
+ import warnings
21
+
22
+ # some useful math
23
+ from math import pi, cos, sin, tan, exp, log, log2, log10, sqrt
24
+
25
+ # Core functions
26
+ from .core import (
27
+ qarray,
28
+ prod,
29
+ isket,
30
+ isbra,
31
+ isop,
32
+ isvec,
33
+ issparse,
34
+ isdense,
35
+ isreal,
36
+ isherm,
37
+ ispos,
38
+ mul,
39
+ dag,
40
+ dot,
41
+ vdot,
42
+ rdot,
43
+ ldmul,
44
+ rdmul,
45
+ outer,
46
+ explt,
47
+ get_thread_pool,
48
+ normalize,
49
+ chop,
50
+ quimbify,
51
+ qu,
52
+ ket,
53
+ bra,
54
+ dop,
55
+ sparse,
56
+ infer_size,
57
+ trace,
58
+ identity,
59
+ eye,
60
+ speye,
61
+ dim_map,
62
+ dim_compress,
63
+ kron,
64
+ kronpow,
65
+ ikron,
66
+ pkron,
67
+ permute,
68
+ itrace,
69
+ partial_trace,
70
+ expectation,
71
+ expec,
72
+ nmlz,
73
+ tr,
74
+ ptr,
75
+ )
76
+
77
+ # Linear algebra functions
78
+ from .linalg.base_linalg import (
79
+ eigensystem,
80
+ eig,
81
+ eigh,
82
+ eigvals,
83
+ eigvalsh,
84
+ eigvecs,
85
+ eigvecsh,
86
+ eigensystem_partial,
87
+ groundstate,
88
+ groundenergy,
89
+ bound_spectrum,
90
+ eigh_window,
91
+ eigvalsh_window,
92
+ eigvecsh_window,
93
+ svd,
94
+ svds,
95
+ norm,
96
+ expm,
97
+ sqrtm,
98
+ expm_multiply,
99
+ Lazy,
100
+ )
101
+ from .linalg.rand_linalg import rsvd, estimate_rank
102
+ from .linalg.mpi_launcher import get_mpi_pool, can_use_mpi_pool
103
+
104
+ # Generating objects
105
+ from .gen.operators import (
106
+ spin_operator,
107
+ pauli,
108
+ hadamard,
109
+ phase_gate,
110
+ S_gate,
111
+ T_gate,
112
+ U_gate,
113
+ rotation,
114
+ Rx,
115
+ Ry,
116
+ Rz,
117
+ Xsqrt,
118
+ Ysqrt,
119
+ Zsqrt,
120
+ Wsqrt,
121
+ swap,
122
+ iswap,
123
+ fsim,
124
+ fsimg,
125
+ ncontrolled_gate,
126
+ controlled,
127
+ CNOT,
128
+ cX,
129
+ cY,
130
+ cZ,
131
+ ccX,
132
+ ccY,
133
+ ccZ,
134
+ controlled_swap,
135
+ cswap,
136
+ fredkin,
137
+ toffoli,
138
+ ham_heis,
139
+ ham_ising,
140
+ ham_XY,
141
+ ham_XXZ,
142
+ ham_j1j2,
143
+ ham_mbl,
144
+ ham_heis_2D,
145
+ zspin_projector,
146
+ create,
147
+ destroy,
148
+ num,
149
+ ham_hubbard_hardcore,
150
+ )
151
+ from .gen.states import (
152
+ basis_vec,
153
+ up,
154
+ zplus,
155
+ down,
156
+ zminus,
157
+ plus,
158
+ xplus,
159
+ minus,
160
+ xminus,
161
+ yplus,
162
+ yminus,
163
+ bloch_state,
164
+ bell_state,
165
+ singlet,
166
+ thermal_state,
167
+ neel_state,
168
+ singlet_pairs,
169
+ werner_state,
170
+ ghz_state,
171
+ w_state,
172
+ levi_civita,
173
+ perm_state,
174
+ graph_state_1d,
175
+ computational_state,
176
+ )
177
+ from .gen.rand import (
178
+ randn,
179
+ rand,
180
+ rand_matrix,
181
+ rand_herm,
182
+ rand_pos,
183
+ rand_rho,
184
+ rand_ket,
185
+ rand_uni,
186
+ rand_haar_state,
187
+ gen_rand_haar_states,
188
+ rand_mix,
189
+ rand_product_state,
190
+ rand_matrix_product_state,
191
+ rand_mps,
192
+ rand_seperable,
193
+ rand_iso,
194
+ rand_mera,
195
+ seed_rand,
196
+ set_rand_bitgen,
197
+ )
198
+
199
+ # Functions for calculating properties
200
+ from .calc import (
201
+ fidelity,
202
+ purify,
203
+ entropy,
204
+ entropy_subsys,
205
+ mutual_information,
206
+ mutinf,
207
+ mutinf_subsys,
208
+ schmidt_gap,
209
+ tr_sqrt,
210
+ tr_sqrt_subsys,
211
+ partial_transpose,
212
+ negativity,
213
+ logarithmic_negativity,
214
+ logneg,
215
+ logneg_subsys,
216
+ concurrence,
217
+ one_way_classical_information,
218
+ quantum_discord,
219
+ trace_distance,
220
+ cprint,
221
+ decomp,
222
+ pauli_decomp,
223
+ bell_decomp,
224
+ correlation,
225
+ pauli_correlations,
226
+ ent_cross_matrix,
227
+ qid,
228
+ is_degenerate,
229
+ is_eigenvector,
230
+ page_entropy,
231
+ heisenberg_energy,
232
+ dephase,
233
+ kraus_op,
234
+ projector,
235
+ measure,
236
+ simulate_counts,
237
+ )
238
+
239
+ # Evolution class and methods
240
+ from .evo import Evolution
241
+
242
+ from .linalg.approx_spectral import (
243
+ approx_spectral_function,
244
+ tr_abs_approx,
245
+ tr_exp_approx,
246
+ tr_sqrt_approx,
247
+ tr_xlogx_approx,
248
+ entropy_subsys_approx,
249
+ logneg_subsys_approx,
250
+ negativity_subsys_approx,
251
+ xlogx,
252
+ )
253
+ from .utils import (
254
+ save_to_disk,
255
+ load_from_disk,
256
+ oset,
257
+ LRU,
258
+ tree_map,
259
+ tree_apply,
260
+ tree_flatten,
261
+ tree_unflatten,
262
+ format_number_with_error,
263
+ NEUTRAL_STYLE,
264
+ default_to_neutral_style,
265
+ )
266
+
267
+
268
+ warnings.filterwarnings("ignore", message="Caching is not available when ")
269
+
270
+
271
+ __all__ = [
272
+ # Accel ----------------------------------------------------------------- #
273
+ "qarray",
274
+ "prod",
275
+ "isket",
276
+ "isbra",
277
+ "isop",
278
+ "isvec",
279
+ "issparse",
280
+ "isdense",
281
+ "isreal",
282
+ "isherm",
283
+ "ispos",
284
+ "mul",
285
+ "dag",
286
+ "dot",
287
+ "vdot",
288
+ "rdot",
289
+ "ldmul",
290
+ "rdmul",
291
+ "outer",
292
+ "explt",
293
+ # Core ------------------------------------------------------------------ #
294
+ "normalize",
295
+ "chop",
296
+ "quimbify",
297
+ "qu",
298
+ "ket",
299
+ "bra",
300
+ "dop",
301
+ "sparse",
302
+ "infer_size",
303
+ "trace",
304
+ "identity",
305
+ "eye",
306
+ "speye",
307
+ "dim_map",
308
+ "dim_compress",
309
+ "kron",
310
+ "kronpow",
311
+ "ikron",
312
+ "pkron",
313
+ "permute",
314
+ "itrace",
315
+ "partial_trace",
316
+ "expectation",
317
+ "expec",
318
+ "nmlz",
319
+ "tr",
320
+ "ptr",
321
+ # Linalg ---------------------------------------------------------------- #
322
+ "eigensystem",
323
+ "eig",
324
+ "eigh",
325
+ "eigvals",
326
+ "eigvalsh",
327
+ "eigvecs",
328
+ "eigvecsh",
329
+ "eigensystem_partial",
330
+ "groundstate",
331
+ "groundenergy",
332
+ "bound_spectrum",
333
+ "eigh_window",
334
+ "eigvalsh_window",
335
+ "eigvecsh_window",
336
+ "svd",
337
+ "svds",
338
+ "norm",
339
+ "Lazy",
340
+ "rsvd",
341
+ "estimate_rank",
342
+ # Gen ------------------------------------------------------------------- #
343
+ "spin_operator",
344
+ "pauli",
345
+ "hadamard",
346
+ "phase_gate",
347
+ "T_gate",
348
+ "S_gate",
349
+ "U_gate",
350
+ "rotation",
351
+ "Rx",
352
+ "Ry",
353
+ "Rz",
354
+ "Xsqrt",
355
+ "Ysqrt",
356
+ "Zsqrt",
357
+ "Wsqrt",
358
+ "swap",
359
+ "iswap",
360
+ "fsim",
361
+ "fsimg",
362
+ "ncontrolled_gate",
363
+ "controlled",
364
+ "CNOT",
365
+ "cX",
366
+ "cY",
367
+ "cZ",
368
+ "ccX",
369
+ "ccY",
370
+ "ccZ",
371
+ "controlled_swap",
372
+ "cswap",
373
+ "fredkin",
374
+ "toffoli",
375
+ "ham_heis",
376
+ "ham_ising",
377
+ "ham_XY",
378
+ "ham_XXZ",
379
+ "ham_j1j2",
380
+ "ham_mbl",
381
+ "ham_heis_2D",
382
+ "create",
383
+ "destroy",
384
+ "num",
385
+ "ham_hubbard_hardcore",
386
+ "zspin_projector",
387
+ "basis_vec",
388
+ "up",
389
+ "zplus",
390
+ "down",
391
+ "zminus",
392
+ "plus",
393
+ "xplus",
394
+ "minus",
395
+ "xminus",
396
+ "yplus",
397
+ "yminus",
398
+ "bloch_state",
399
+ "bell_state",
400
+ "singlet",
401
+ "thermal_state",
402
+ "neel_state",
403
+ "singlet_pairs",
404
+ "werner_state",
405
+ "ghz_state",
406
+ "w_state",
407
+ "levi_civita",
408
+ "perm_state",
409
+ "graph_state_1d",
410
+ "rand_matrix",
411
+ "rand_herm",
412
+ "rand_pos",
413
+ "rand_rho",
414
+ "rand_ket",
415
+ "rand_uni",
416
+ "rand_haar_state",
417
+ "gen_rand_haar_states",
418
+ "rand_mix",
419
+ "rand_mps",
420
+ "randn",
421
+ "rand",
422
+ "rand_product_state",
423
+ "rand_matrix_product_state",
424
+ "rand_seperable",
425
+ "rand_iso",
426
+ "rand_mera",
427
+ "seed_rand",
428
+ "set_rand_bitgen",
429
+ "computational_state",
430
+ # Calc ------------------------------------------------------------------ #
431
+ "expm",
432
+ "sqrtm",
433
+ "expm_multiply",
434
+ "fidelity",
435
+ "purify",
436
+ "entropy",
437
+ "entropy_subsys",
438
+ "mutual_information",
439
+ "mutinf",
440
+ "mutinf_subsys",
441
+ "schmidt_gap",
442
+ "tr_sqrt",
443
+ "tr_sqrt_subsys",
444
+ "partial_transpose",
445
+ "negativity",
446
+ "logarithmic_negativity",
447
+ "logneg",
448
+ "logneg_subsys",
449
+ "concurrence",
450
+ "one_way_classical_information",
451
+ "quantum_discord",
452
+ "trace_distance",
453
+ "cprint",
454
+ "decomp",
455
+ "pauli_decomp",
456
+ "bell_decomp",
457
+ "correlation",
458
+ "pauli_correlations",
459
+ "ent_cross_matrix",
460
+ "qid",
461
+ "is_degenerate",
462
+ "is_eigenvector",
463
+ "page_entropy",
464
+ "heisenberg_energy",
465
+ "dephase",
466
+ "kraus_op",
467
+ "projector",
468
+ "measure",
469
+ "simulate_counts",
470
+ # Evo ------------------------------------------------------------------- #
471
+ "Evolution",
472
+ # Approx spectral ------------------------------------------------------- #
473
+ "approx_spectral_function",
474
+ "tr_abs_approx",
475
+ "tr_exp_approx",
476
+ "tr_sqrt_approx",
477
+ "tr_xlogx_approx",
478
+ "entropy_subsys_approx",
479
+ "logneg_subsys_approx",
480
+ "negativity_subsys_approx",
481
+ # Some misc useful math ------------------------------------------------- #
482
+ "pi",
483
+ "cos",
484
+ "sin",
485
+ "tan",
486
+ "exp",
487
+ "log",
488
+ "log2",
489
+ "log10",
490
+ "sqrt",
491
+ "xlogx",
492
+ # Utils ----------------------------------------------------------------- #
493
+ "save_to_disk",
494
+ "load_from_disk",
495
+ "get_thread_pool",
496
+ "get_mpi_pool",
497
+ "can_use_mpi_pool",
498
+ "oset",
499
+ "LRU",
500
+ "tree_map",
501
+ "tree_apply",
502
+ "tree_flatten",
503
+ "tree_unflatten",
504
+ "format_number_with_error",
505
+ "NEUTRAL_STYLE",
506
+ "default_to_neutral_style",
507
+ ]