From 6be7bceed91069d3aa7db4d268ef0624482e0f90 Mon Sep 17 00:00:00 2001 From: k-yoshimi Date: Mon, 29 Oct 2018 14:55:40 +0900 Subject: [PATCH 01/20] add pade, fft and gf --- CMakeLists.txt | 31 +- {src => c++}/.doxyrc | 0 c++/CMakeLists.txt | 3 + c++/include/Gf.h | 56 + c++/include/SVD_matrix.h | 58 + c++/include/admm_svd.h | 106 + c++/include/common.h | 48 + c++/include/errorcode.h | 23 + c++/include/fft.h | 18 + c++/include/kernel.h | 55 + c++/include/pade.h | 29 + c++/include/set_initial.h | 87 + c++/include/spm_core.h | 89 + c++/include/spm_param.h | 68 + {src => c++/src}/CMakeLists.txt | 8 +- {src => c++/src}/G2spectrum.cpp | 0 c++/src/Gf.cpp | 96 + {src => c++/src}/SVD_matrix.cpp | 0 {src => c++/src}/admm_svd.cpp | 0 {src => c++/src}/common.cpp | 0 c++/src/fft.cpp | 106 + {src => c++/src}/kernel.cpp | 0 c++/src/pade.cpp | 69 + {src => c++/src}/set_initial.cpp | 0 {src => c++/src}/spm_core.cpp | 0 cmake/EnableGtests.cmake | 28 + cmake/FindFFTW.cmake | 294 + cmake/LICENSE_FindFFTW.cmake.txt | 27 + .../_build/doctrees/docs/algorithm.doctree | Bin 0 -> 9221 bytes .../_build/doctrees/docs/function.doctree | Bin 0 -> 9146 bytes .../_build/doctrees/docs/inputfile.doctree | Bin 0 -> 28288 bytes .../_build/doctrees/docs/install.doctree | Bin 0 -> 14011 bytes .../_build/doctrees/docs/outputfile.doctree | Bin 0 -> 47073 bytes .../_build/doctrees/docs/tutorials.doctree | Bin 0 -> 30433 bytes .../source/_build/doctrees/environment.pickle | Bin 0 -> 13260 bytes .../source/_build/doctrees/index.doctree | Bin 0 -> 7097 bytes docs/manual/source/_build/html/.buildinfo | 4 + .../_build/html/_images/find_lambda_opt.jpg | Bin 0 -> 127216 bytes ...a277da44635b36e49e97a084c18ddbebeb65c6.png | Bin 0 -> 270 bytes ...ee2ced3e4c74283f24491dbb1e4612e1953b38.png | Bin 0 -> 242 bytes ...49ed70c72f091f7e8ac4a7dd9c7bd9d859e06e.png | Bin 0 -> 488 bytes ...e8299b484849735af4360c90f176656e4c035a.png | Bin 0 -> 217 bytes ...643d2d999fcc53423d45f1bb2392eb2ca4772b.png | Bin 0 -> 441 bytes ...9c8be672c286f0451ce49e8c8b7db7f99fad74.png | Bin 0 -> 249 bytes ...9721c563c5940c2c493c638e2bbd7607140312.png | Bin 0 -> 415 bytes ...3d1af28de6ef34516ac9d699c48cbbb23ce998.png | Bin 0 -> 505 bytes ...c42bfbdd8b170705ca942fa5fc4974d1580ec3.png | Bin 0 -> 364 bytes ...f352c72eac36439ea87320904d745f331d0af6.png | Bin 0 -> 1198 bytes ...9b358d1499cd88c763c093b52622a9820128c0.png | Bin 0 -> 298 bytes ...0a9d0df9c135dd73b269cba7ef04dcfd932b1f.png | Bin 0 -> 244 bytes ...69268c314a44232c428f1e7bf62b8bd225381a.png | Bin 0 -> 577 bytes ...aa9388b4a90760ec185881759daa4766d51191.png | Bin 0 -> 260 bytes ...cdea4ba963069691bfe84c50e17683025c0979.png | Bin 0 -> 358 bytes ...c5e67e5e093ef5d995560386cea9511bde7f33.png | Bin 0 -> 297 bytes ...8712cb83e744e0d12c45a910b011dcca076a39.png | Bin 0 -> 558 bytes ...4b498d61fdb6213317eab6a9f7240af06a9911.png | Bin 0 -> 279 bytes ...e319ecabcb5c23765c66fb100f64ec3aaf1f14.png | Bin 0 -> 284 bytes ...6d4c832194e64ac08693518831e906009d3161.png | Bin 0 -> 311 bytes ...666578228826a7dc2a0ecfa07b9e1618527ed5.png | Bin 0 -> 297 bytes ...6d5022792b496e5bc4af1c5fb7361d9e5ed685.png | Bin 0 -> 309 bytes ...4381a21cd73ebbf43b63a087d3f7410ee99ce8.png | Bin 0 -> 258 bytes ...d94dac5ae2ab85d25d0c11ed15a62e4b9568d0.png | Bin 0 -> 308 bytes ...30456384f9635601349f6bb0de3ccdd58b0837.png | Bin 0 -> 441 bytes ...f1d8ace30435987c01a00ca53a71cba1f40e6c.png | Bin 0 -> 226 bytes ...0a289af47e2f3052ffb324c8f6987bc496052f.png | Bin 0 -> 494 bytes ...c913e5997c47b58a8a2ce9ecac21612aeee15b.png | Bin 0 -> 467 bytes ...b351dd3b28ea1c9fb991ca73ab98acd8cfce4a.png | Bin 0 -> 520 bytes ...db02d4e899000ba2ee76d62ac4ab491fd44a75.png | Bin 0 -> 290 bytes ...49d6f3960ae938ac2efcc52449f7f93bc3b97b.png | Bin 0 -> 248 bytes ...72fe4adb7d7aa51df8ac102e5b7123b3b8f24c.png | Bin 0 -> 311 bytes ...965ac90c9513644606210339d525386626dcb2.png | Bin 0 -> 240 bytes ...f47b047edcf70c20b71a148ef35825bb7e2fe1.png | Bin 0 -> 499 bytes ...d47234c6a3b8d24783aaebc72d9d4359d13c82.png | Bin 0 -> 258 bytes ...47153e026a1d013217d1f1cf8a5e039971806e.png | Bin 0 -> 359 bytes ...72478c2e144fb77ed130c729b5ad404895872f.png | Bin 0 -> 688 bytes ...3b56c5293081e5b6575bf2f6f1eecc81b16d8c.png | Bin 0 -> 347 bytes ...59488b993294ebbc2c7b30ab8f749dcbc6826d.png | Bin 0 -> 205 bytes ...99a4b61a18d3471ea57883736739f4d4ce3770.png | Bin 0 -> 443 bytes ...d76a97ccf41eda71495f66486eff2f457bf3f3.png | Bin 0 -> 658 bytes ...0430baf1b059d0097bc9081abca3b1e0a74287.png | Bin 0 -> 234 bytes ...30e06c49c5b6e0f1ff7b39d06a6f8292259ddb.png | Bin 0 -> 474 bytes ...169fa8df7200e1571d40015f85cc20b800f2f0.png | Bin 0 -> 693 bytes ...36cbdfa9836dffda883ffed7a9336e0cb5f87f.png | Bin 0 -> 410 bytes ...3c44a9858afa000c1c2dedf203753df4baadc8.png | Bin 0 -> 380 bytes ...814eaebc091b796e7d216225889ea1ca054937.png | Bin 0 -> 381 bytes ...abeeec19e04fc372e23a3383efcb60678ecdb8.png | Bin 0 -> 263 bytes ...9038319d8e3a6b6b43071d4d08701d9d70c2ac.png | Bin 0 -> 299 bytes ...5601c05723358c40a8cb0fa9b1541eb1def298.png | Bin 0 -> 468 bytes ...bf38137174bbbc865558597cdacfe137d43d52.png | Bin 0 -> 574 bytes ...882223f7d35e6c8ab4844af95f33706aaa0c31.png | Bin 0 -> 371 bytes ...6101c441bcf511a4c70e9f0fd21507af66d746.png | Bin 0 -> 360 bytes ...4e13b8b141ea338343a4edcb7d14d0283209be.png | Bin 0 -> 633 bytes ...c78ecd202fb268bd8ad30d6fa2176d9f74c01c.png | Bin 0 -> 555 bytes .../source/_build/html/_images/spectrum.jpg | Bin 0 -> 75681 bytes .../source/_build/html/_images/y_sv-log.jpg | Bin 0 -> 123993 bytes .../html/_sources/docs/algorithm.rst.txt | 25 + .../html/_sources/docs/function.rst.txt | 82 + .../html/_sources/docs/inputfile.rst.txt | 74 + .../_build/html/_sources/docs/install.rst.txt | 75 + .../html/_sources/docs/outputfile.rst.txt | 245 + .../html/_sources/docs/tutorials.rst.txt | 169 + .../source/_build/html/_sources/index.rst.txt | 40 + .../manual/source/_build/html/_static/SpM.png | Bin 0 -> 3593 bytes .../_build/html/_static/ajax-loader.gif | Bin 0 -> 673 bytes .../source/_build/html/_static/alabaster.css | 693 + .../source/_build/html/_static/basic.css | 665 + .../_build/html/_static/comment-bright.png | Bin 0 -> 756 bytes .../_build/html/_static/comment-close.png | Bin 0 -> 829 bytes .../source/_build/html/_static/comment.png | Bin 0 -> 641 bytes .../source/_build/html/_static/custom.css | 1 + .../source/_build/html/_static/doctools.js | 311 + .../html/_static/documentation_options.js | 9 + .../_build/html/_static/down-pressed.png | Bin 0 -> 222 bytes .../source/_build/html/_static/down.png | Bin 0 -> 202 bytes .../source/_build/html/_static/file.png | Bin 0 -> 286 bytes .../_build/html/_static/jquery-3.1.0.js | 10074 ++++++++ .../_build/html/_static/jquery-3.2.1.js | 10253 ++++++++ .../source/_build/html/_static/jquery.js | 4 + .../source/_build/html/_static/minus.png | Bin 0 -> 90 bytes .../source/_build/html/_static/plus.png | Bin 0 -> 90 bytes .../source/_build/html/_static/pygments.css | 69 + .../source/_build/html/_static/searchtools.js | 761 + .../_build/html/_static/underscore-1.3.1.js | 999 + .../source/_build/html/_static/underscore.js | 31 + .../source/_build/html/_static/up-pressed.png | Bin 0 -> 214 bytes docs/manual/source/_build/html/_static/up.png | Bin 0 -> 203 bytes .../source/_build/html/_static/websupport.js | 808 + .../source/_build/html/docs/algorithm.html | 123 + .../source/_build/html/docs/function.html | 217 + .../source/_build/html/docs/inputfile.html | 286 + .../source/_build/html/docs/install.html | 181 + .../source/_build/html/docs/outputfile.html | 335 + .../source/_build/html/docs/tutorials.html | 258 + docs/manual/source/_build/html/genindex.html | 106 + docs/manual/source/_build/html/index.html | 156 + docs/manual/source/_build/html/objects.inv | 5 + docs/manual/source/_build/html/search.html | 117 + docs/manual/source/_build/html/searchindex.js | 1 + ...54ab61caca5518ec86095879e4efc0ada2f1f8.png | Bin 0 -> 8529 bytes ...49ebf13bd5312c2d000c76d959c822ca05f5e1.png | Bin 0 -> 8529 bytes ...33ef8cff2b4be39e3ee1074b7465f801a4a4f1.png | Bin 0 -> 8529 bytes ...65d5c6013f38aa398b0b6cf0e9278de40e5e92.png | Bin 0 -> 5250 bytes ...e7295f7def2b826275e96608109dd0c3c27b3f.png | Bin 0 -> 5343 bytes ...065f18f8e6093cbe62c730ad9693809c04254e.png | Bin 0 -> 5250 bytes ...fbfd4f0f3dc16f69be3926bfd70a53a835eb2c.png | Bin 0 -> 8529 bytes ...a73fd2c5463e074767f82cf9a8a5d75644b89f.png | Bin 0 -> 5343 bytes ...07977ad2b9574507d4c7d4608ffa19abad7309.png | Bin 0 -> 5343 bytes ...4e73223c094277833fdae598d7b6d52f162792.png | Bin 0 -> 5343 bytes ...7f9e0e40fe73dc470c93e752c0560c07a3c135.png | Bin 0 -> 8529 bytes ...c0a778f8c7a55b46b0a5c294ef41b821f575f5.png | Bin 0 -> 5250 bytes ...cd70c28c961efc082631437c4bfbb68990f5fb.png | Bin 0 -> 5250 bytes ...e8bad90166321378af9fd5c2c388b75c9a77f0.png | Bin 0 -> 8529 bytes ...cfeefa337485867d2793b537d5bdda50152406.png | Bin 0 -> 5343 bytes ...905802a02fda09236bd455b095d310ad5a7f2d.png | Bin 0 -> 5250 bytes ...396308fd4fdf13ce48a55811e59d837adcbf31.png | Bin 0 -> 5250 bytes ...c7443d4acb223d9b8c7bea9228aac23978ca5c.png | Bin 0 -> 5250 bytes ...b830003550856339ef99c19e3713c525b09fff.png | Bin 0 -> 8529 bytes ...270b6478a114f52635f74d43193f702fcd45d6.png | Bin 0 -> 5343 bytes ...b6c659df57bbc7983190da1491c01522693ef1.png | Bin 0 -> 5343 bytes docs/manual/source/_build/spelling/output.txt | 0 docs/manual/spell_check.sh | 1 + src/include | 1 - test/c++/CMakeLists.txt | 19 + test/c++/data/CMakeLists.txt | 26 + test/c++/data/standard/Gtau.in | 4003 +++ test/c++/data/standard/param.in | 16 + test/c++/gtest-all.cc | 10403 ++++++++ test/c++/gtest.h | 21192 ++++++++++++++++ test/c++/gtest_main.cc | 38 + test/c++/test_fft.cpp | 97 + test/c++/test_pade.cpp | 128 + test/python/CMakeLists.txt | 19 + test/python/data/CMakeLists.txt | 26 + test/python/data/standard/Gtau.in | 4003 +++ test/python/data/standard/param.in | 16 + test/python/hello.py | 14 + 176 files changed, 68467 insertions(+), 11 deletions(-) rename {src => c++}/.doxyrc (100%) create mode 100644 c++/CMakeLists.txt create mode 100644 c++/include/Gf.h create mode 100644 c++/include/SVD_matrix.h create mode 100644 c++/include/admm_svd.h create mode 100644 c++/include/common.h create mode 100644 c++/include/errorcode.h create mode 100644 c++/include/fft.h create mode 100644 c++/include/kernel.h create mode 100644 c++/include/pade.h create mode 100644 c++/include/set_initial.h create mode 100644 c++/include/spm_core.h create mode 100644 c++/include/spm_param.h rename {src => c++/src}/CMakeLists.txt (51%) rename {src => c++/src}/G2spectrum.cpp (100%) create mode 100644 c++/src/Gf.cpp rename {src => c++/src}/SVD_matrix.cpp (100%) rename {src => c++/src}/admm_svd.cpp (100%) rename {src => c++/src}/common.cpp (100%) create mode 100644 c++/src/fft.cpp rename {src => c++/src}/kernel.cpp (100%) create mode 100644 c++/src/pade.cpp rename {src => c++/src}/set_initial.cpp (100%) rename {src => c++/src}/spm_core.cpp (100%) create mode 100644 cmake/EnableGtests.cmake create mode 100644 cmake/FindFFTW.cmake create mode 100644 cmake/LICENSE_FindFFTW.cmake.txt create mode 100644 docs/manual/source/_build/doctrees/docs/algorithm.doctree create mode 100644 docs/manual/source/_build/doctrees/docs/function.doctree create mode 100644 docs/manual/source/_build/doctrees/docs/inputfile.doctree create mode 100644 docs/manual/source/_build/doctrees/docs/install.doctree create mode 100644 docs/manual/source/_build/doctrees/docs/outputfile.doctree create mode 100644 docs/manual/source/_build/doctrees/docs/tutorials.doctree create mode 100644 docs/manual/source/_build/doctrees/environment.pickle create mode 100644 docs/manual/source/_build/doctrees/index.doctree create mode 100644 docs/manual/source/_build/html/.buildinfo create mode 100644 docs/manual/source/_build/html/_images/find_lambda_opt.jpg create mode 100644 docs/manual/source/_build/html/_images/math/08a277da44635b36e49e97a084c18ddbebeb65c6.png create mode 100644 docs/manual/source/_build/html/_images/math/08ee2ced3e4c74283f24491dbb1e4612e1953b38.png create mode 100644 docs/manual/source/_build/html/_images/math/0949ed70c72f091f7e8ac4a7dd9c7bd9d859e06e.png create mode 100644 docs/manual/source/_build/html/_images/math/26e8299b484849735af4360c90f176656e4c035a.png create mode 100644 docs/manual/source/_build/html/_images/math/34643d2d999fcc53423d45f1bb2392eb2ca4772b.png create mode 100644 docs/manual/source/_build/html/_images/math/359c8be672c286f0451ce49e8c8b7db7f99fad74.png create mode 100644 docs/manual/source/_build/html/_images/math/379721c563c5940c2c493c638e2bbd7607140312.png create mode 100644 docs/manual/source/_build/html/_images/math/3a3d1af28de6ef34516ac9d699c48cbbb23ce998.png create mode 100644 docs/manual/source/_build/html/_images/math/3cc42bfbdd8b170705ca942fa5fc4974d1580ec3.png create mode 100644 docs/manual/source/_build/html/_images/math/3ef352c72eac36439ea87320904d745f331d0af6.png create mode 100644 docs/manual/source/_build/html/_images/math/3f9b358d1499cd88c763c093b52622a9820128c0.png create mode 100644 docs/manual/source/_build/html/_images/math/410a9d0df9c135dd73b269cba7ef04dcfd932b1f.png create mode 100644 docs/manual/source/_build/html/_images/math/4569268c314a44232c428f1e7bf62b8bd225381a.png create mode 100644 docs/manual/source/_build/html/_images/math/47aa9388b4a90760ec185881759daa4766d51191.png create mode 100644 docs/manual/source/_build/html/_images/math/47cdea4ba963069691bfe84c50e17683025c0979.png create mode 100644 docs/manual/source/_build/html/_images/math/50c5e67e5e093ef5d995560386cea9511bde7f33.png create mode 100644 docs/manual/source/_build/html/_images/math/518712cb83e744e0d12c45a910b011dcca076a39.png create mode 100644 docs/manual/source/_build/html/_images/math/604b498d61fdb6213317eab6a9f7240af06a9911.png create mode 100644 docs/manual/source/_build/html/_images/math/61e319ecabcb5c23765c66fb100f64ec3aaf1f14.png create mode 100644 docs/manual/source/_build/html/_images/math/636d4c832194e64ac08693518831e906009d3161.png create mode 100644 docs/manual/source/_build/html/_images/math/64666578228826a7dc2a0ecfa07b9e1618527ed5.png create mode 100644 docs/manual/source/_build/html/_images/math/666d5022792b496e5bc4af1c5fb7361d9e5ed685.png create mode 100644 docs/manual/source/_build/html/_images/math/684381a21cd73ebbf43b63a087d3f7410ee99ce8.png create mode 100644 docs/manual/source/_build/html/_images/math/6ed94dac5ae2ab85d25d0c11ed15a62e4b9568d0.png create mode 100644 docs/manual/source/_build/html/_images/math/6f30456384f9635601349f6bb0de3ccdd58b0837.png create mode 100644 docs/manual/source/_build/html/_images/math/76f1d8ace30435987c01a00ca53a71cba1f40e6c.png create mode 100644 docs/manual/source/_build/html/_images/math/800a289af47e2f3052ffb324c8f6987bc496052f.png create mode 100644 docs/manual/source/_build/html/_images/math/85c913e5997c47b58a8a2ce9ecac21612aeee15b.png create mode 100644 docs/manual/source/_build/html/_images/math/8cb351dd3b28ea1c9fb991ca73ab98acd8cfce4a.png create mode 100644 docs/manual/source/_build/html/_images/math/8ddb02d4e899000ba2ee76d62ac4ab491fd44a75.png create mode 100644 docs/manual/source/_build/html/_images/math/9d49d6f3960ae938ac2efcc52449f7f93bc3b97b.png create mode 100644 docs/manual/source/_build/html/_images/math/a372fe4adb7d7aa51df8ac102e5b7123b3b8f24c.png create mode 100644 docs/manual/source/_build/html/_images/math/a3965ac90c9513644606210339d525386626dcb2.png create mode 100644 docs/manual/source/_build/html/_images/math/a3f47b047edcf70c20b71a148ef35825bb7e2fe1.png create mode 100644 docs/manual/source/_build/html/_images/math/a6d47234c6a3b8d24783aaebc72d9d4359d13c82.png create mode 100644 docs/manual/source/_build/html/_images/math/b147153e026a1d013217d1f1cf8a5e039971806e.png create mode 100644 docs/manual/source/_build/html/_images/math/b172478c2e144fb77ed130c729b5ad404895872f.png create mode 100644 docs/manual/source/_build/html/_images/math/b33b56c5293081e5b6575bf2f6f1eecc81b16d8c.png create mode 100644 docs/manual/source/_build/html/_images/math/b359488b993294ebbc2c7b30ab8f749dcbc6826d.png create mode 100644 docs/manual/source/_build/html/_images/math/b699a4b61a18d3471ea57883736739f4d4ce3770.png create mode 100644 docs/manual/source/_build/html/_images/math/b7d76a97ccf41eda71495f66486eff2f457bf3f3.png create mode 100644 docs/manual/source/_build/html/_images/math/b80430baf1b059d0097bc9081abca3b1e0a74287.png create mode 100644 docs/manual/source/_build/html/_images/math/bd30e06c49c5b6e0f1ff7b39d06a6f8292259ddb.png create mode 100644 docs/manual/source/_build/html/_images/math/c2169fa8df7200e1571d40015f85cc20b800f2f0.png create mode 100644 docs/manual/source/_build/html/_images/math/c236cbdfa9836dffda883ffed7a9336e0cb5f87f.png create mode 100644 docs/manual/source/_build/html/_images/math/c33c44a9858afa000c1c2dedf203753df4baadc8.png create mode 100644 docs/manual/source/_build/html/_images/math/d1814eaebc091b796e7d216225889ea1ca054937.png create mode 100644 docs/manual/source/_build/html/_images/math/d3abeeec19e04fc372e23a3383efcb60678ecdb8.png create mode 100644 docs/manual/source/_build/html/_images/math/db9038319d8e3a6b6b43071d4d08701d9d70c2ac.png create mode 100644 docs/manual/source/_build/html/_images/math/dd5601c05723358c40a8cb0fa9b1541eb1def298.png create mode 100644 docs/manual/source/_build/html/_images/math/e2bf38137174bbbc865558597cdacfe137d43d52.png create mode 100644 docs/manual/source/_build/html/_images/math/ed882223f7d35e6c8ab4844af95f33706aaa0c31.png create mode 100644 docs/manual/source/_build/html/_images/math/f36101c441bcf511a4c70e9f0fd21507af66d746.png create mode 100644 docs/manual/source/_build/html/_images/math/f94e13b8b141ea338343a4edcb7d14d0283209be.png create mode 100644 docs/manual/source/_build/html/_images/math/fac78ecd202fb268bd8ad30d6fa2176d9f74c01c.png create mode 100644 docs/manual/source/_build/html/_images/spectrum.jpg create mode 100644 docs/manual/source/_build/html/_images/y_sv-log.jpg create mode 100644 docs/manual/source/_build/html/_sources/docs/algorithm.rst.txt create mode 100644 docs/manual/source/_build/html/_sources/docs/function.rst.txt create mode 100644 docs/manual/source/_build/html/_sources/docs/inputfile.rst.txt create mode 100644 docs/manual/source/_build/html/_sources/docs/install.rst.txt create mode 100644 docs/manual/source/_build/html/_sources/docs/outputfile.rst.txt create mode 100644 docs/manual/source/_build/html/_sources/docs/tutorials.rst.txt create mode 100644 docs/manual/source/_build/html/_sources/index.rst.txt create mode 100644 docs/manual/source/_build/html/_static/SpM.png create mode 100644 docs/manual/source/_build/html/_static/ajax-loader.gif create mode 100644 docs/manual/source/_build/html/_static/alabaster.css create mode 100644 docs/manual/source/_build/html/_static/basic.css create mode 100644 docs/manual/source/_build/html/_static/comment-bright.png create mode 100644 docs/manual/source/_build/html/_static/comment-close.png create mode 100644 docs/manual/source/_build/html/_static/comment.png create mode 100644 docs/manual/source/_build/html/_static/custom.css create mode 100644 docs/manual/source/_build/html/_static/doctools.js create mode 100644 docs/manual/source/_build/html/_static/documentation_options.js create mode 100644 docs/manual/source/_build/html/_static/down-pressed.png create mode 100644 docs/manual/source/_build/html/_static/down.png create mode 100644 docs/manual/source/_build/html/_static/file.png create mode 100644 docs/manual/source/_build/html/_static/jquery-3.1.0.js create mode 100644 docs/manual/source/_build/html/_static/jquery-3.2.1.js create mode 100644 docs/manual/source/_build/html/_static/jquery.js create mode 100644 docs/manual/source/_build/html/_static/minus.png create mode 100644 docs/manual/source/_build/html/_static/plus.png create mode 100644 docs/manual/source/_build/html/_static/pygments.css create mode 100644 docs/manual/source/_build/html/_static/searchtools.js create mode 100644 docs/manual/source/_build/html/_static/underscore-1.3.1.js create mode 100644 docs/manual/source/_build/html/_static/underscore.js create mode 100644 docs/manual/source/_build/html/_static/up-pressed.png create mode 100644 docs/manual/source/_build/html/_static/up.png create mode 100644 docs/manual/source/_build/html/_static/websupport.js create mode 100644 docs/manual/source/_build/html/docs/algorithm.html create mode 100644 docs/manual/source/_build/html/docs/function.html create mode 100644 docs/manual/source/_build/html/docs/inputfile.html create mode 100644 docs/manual/source/_build/html/docs/install.html create mode 100644 docs/manual/source/_build/html/docs/outputfile.html create mode 100644 docs/manual/source/_build/html/docs/tutorials.html create mode 100644 docs/manual/source/_build/html/genindex.html create mode 100644 docs/manual/source/_build/html/index.html create mode 100644 docs/manual/source/_build/html/objects.inv create mode 100644 docs/manual/source/_build/html/search.html create mode 100644 docs/manual/source/_build/html/searchindex.js create mode 100644 docs/manual/source/_build/spelling/blockdiag-0354ab61caca5518ec86095879e4efc0ada2f1f8.png create mode 100644 docs/manual/source/_build/spelling/blockdiag-1249ebf13bd5312c2d000c76d959c822ca05f5e1.png create mode 100644 docs/manual/source/_build/spelling/blockdiag-2933ef8cff2b4be39e3ee1074b7465f801a4a4f1.png create mode 100644 docs/manual/source/_build/spelling/blockdiag-3965d5c6013f38aa398b0b6cf0e9278de40e5e92.png create mode 100644 docs/manual/source/_build/spelling/blockdiag-39e7295f7def2b826275e96608109dd0c3c27b3f.png create mode 100644 docs/manual/source/_build/spelling/blockdiag-3c065f18f8e6093cbe62c730ad9693809c04254e.png create mode 100644 docs/manual/source/_build/spelling/blockdiag-3efbfd4f0f3dc16f69be3926bfd70a53a835eb2c.png create mode 100644 docs/manual/source/_build/spelling/blockdiag-4aa73fd2c5463e074767f82cf9a8a5d75644b89f.png create mode 100644 docs/manual/source/_build/spelling/blockdiag-6707977ad2b9574507d4c7d4608ffa19abad7309.png create mode 100644 docs/manual/source/_build/spelling/blockdiag-784e73223c094277833fdae598d7b6d52f162792.png create mode 100644 docs/manual/source/_build/spelling/blockdiag-907f9e0e40fe73dc470c93e752c0560c07a3c135.png create mode 100644 docs/manual/source/_build/spelling/blockdiag-9ec0a778f8c7a55b46b0a5c294ef41b821f575f5.png create mode 100644 docs/manual/source/_build/spelling/blockdiag-aacd70c28c961efc082631437c4bfbb68990f5fb.png create mode 100644 docs/manual/source/_build/spelling/blockdiag-bee8bad90166321378af9fd5c2c388b75c9a77f0.png create mode 100644 docs/manual/source/_build/spelling/blockdiag-cccfeefa337485867d2793b537d5bdda50152406.png create mode 100644 docs/manual/source/_build/spelling/blockdiag-d7905802a02fda09236bd455b095d310ad5a7f2d.png create mode 100644 docs/manual/source/_build/spelling/blockdiag-da396308fd4fdf13ce48a55811e59d837adcbf31.png create mode 100644 docs/manual/source/_build/spelling/blockdiag-dec7443d4acb223d9b8c7bea9228aac23978ca5c.png create mode 100644 docs/manual/source/_build/spelling/blockdiag-edb830003550856339ef99c19e3713c525b09fff.png create mode 100644 docs/manual/source/_build/spelling/blockdiag-fb270b6478a114f52635f74d43193f702fcd45d6.png create mode 100644 docs/manual/source/_build/spelling/blockdiag-ffb6c659df57bbc7983190da1491c01522693ef1.png create mode 100644 docs/manual/source/_build/spelling/output.txt create mode 100644 docs/manual/spell_check.sh delete mode 120000 src/include create mode 100644 test/c++/CMakeLists.txt create mode 100644 test/c++/data/CMakeLists.txt create mode 100644 test/c++/data/standard/Gtau.in create mode 100644 test/c++/data/standard/param.in create mode 100644 test/c++/gtest-all.cc create mode 100644 test/c++/gtest.h create mode 100644 test/c++/gtest_main.cc create mode 100644 test/c++/test_fft.cpp create mode 100644 test/c++/test_pade.cpp create mode 100644 test/python/CMakeLists.txt create mode 100644 test/python/data/CMakeLists.txt create mode 100644 test/python/data/standard/Gtau.in create mode 100644 test/python/data/standard/param.in create mode 100644 test/python/hello.py diff --git a/CMakeLists.txt b/CMakeLists.txt index 40341ea..e1cf201 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 2.8.4 FATAL_ERROR) project(sparse CXX C) # add common modules from ../common/cmake -list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/common/cmake) +list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Type of build" FORCE) @@ -16,12 +16,12 @@ set(CMAKE_CXX_FLAGS_DEBUG "-std=c++11 -D_DEBUG -g -Wall -Wextra -pedantic -Wcast set(CMAKE_CXX_FLAGS_RELEASE "-std=c++11 -O3") #include directories -include_directories(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/thirdparty/cpplapack/include) +include_directories(${CMAKE_SOURCE_DIR}/thirdparty/cpplapack/include) -find_package(OpenMP) -if(OPENMP_FOUND) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") -endif(OPENMP_FOUND) +#find_package(OpenMP) +#if(OPENMP_FOUND) +# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") +#endif(OPENMP_FOUND) #Find BLAS find_package(BLAS REQUIRED) @@ -29,6 +29,21 @@ find_package(BLAS REQUIRED) #Find LAPACK find_package(LAPACK REQUIRED) +#Find FFTW3 +find_package(FFTW REQUIRED) +include_directories(${FFTW_INCLUDE_DIRS}) + +# Build and enable tests +# testing setup +# enable_testing() must be called in the top-level CMakeLists.txt before any add_subdirectory() is called. +option(Testing "Enable testing" ON) + +if (Testing) + enable_testing(test) + add_subdirectory(test/c++) + add_subdirectory(test/python) +endif() + #Find SWIG #find_package(SWIG REQUIRED) #include(${SWIG_USE_FILE}) @@ -52,6 +67,4 @@ find_package(LAPACK REQUIRED) # CPPLAPACK #include_directories(${CPPLAPACK_INCLUDE_DIR}) -add_subdirectory(src) - -#add_subdirectory(python) +add_subdirectory(c++) diff --git a/src/.doxyrc b/c++/.doxyrc similarity index 100% rename from src/.doxyrc rename to c++/.doxyrc diff --git a/c++/CMakeLists.txt b/c++/CMakeLists.txt new file mode 100644 index 0000000..4abc3c1 --- /dev/null +++ b/c++/CMakeLists.txt @@ -0,0 +1,3 @@ +#include directories +include_directories(include) +add_subdirectory(src) diff --git a/c++/include/Gf.h b/c++/include/Gf.h new file mode 100644 index 0000000..5a200d1 --- /dev/null +++ b/c++/include/Gf.h @@ -0,0 +1,56 @@ + +#ifndef _GF_H +#define _GF_H + +#include +#include +#include "pade.h" + +class Gf{ +public: + Gf(): flag_pade(false) {}; + + enum statistics{ FERMION, BOSON }; + + // initialize by G(tau). tau=[0:beta), N points (N=2^integer is recommended) + void set_Gtau(const std::vector &G_tau, const statistics stat, const double beta, const double tail=1.); + + // initialize by G(iw_n). n=[0:N/2) + void set_Giw(const std::vector< std::complex > &G_iw, const statistics stat, const double beta, const double tail=1.); + + int get_size() { return N; }; + double get_tail() { return tail; }; + double get_beta() { return beta; }; + statistics get_statistics() { return stat; }; + + // get G(tau) + void get_Gtau(std::vector &G_tau); + + // get G(iw) + void get_Giw(std::vector< std::complex > &G_iw); + + // get G(w). w=[omega_min:omega_max], n-points + // void get_Gomega(std::vector< std::complex > &G_omega, const double omega_min, const double omega_max, const int n); + + // return G(omega) + std::complex Gomega(const double omega); + + // return rho(omega) + double rho(const double omega); + +private: + int N; + double beta; + double tail; + statistics stat; + std::vector gtau; // size N + std::vector< std::complex > giw; // size N/2 + + bool flag_pade; + Pade pade; + + void compute_tau2iw(); // G(tau) --> G(iw) + void compute_iw2tau(); // G(iw) --> G(tau) +}; + +#endif // _GF_H diff --git a/c++/include/SVD_matrix.h b/c++/include/SVD_matrix.h new file mode 100644 index 0000000..90f447a --- /dev/null +++ b/c++/include/SVD_matrix.h @@ -0,0 +1,58 @@ +/* SPM - Sparse Modeling tool */ +/* Copyright (C) 2017 Junya Otsuki, Kazuyoshi Yoshimi, Hiroshi Shinaoka, Masayuki Ohzeki*/ + +/* This program is free software: you can redistribute it and/or modify */ +/* it under the terms of the GNU General Public License as published by */ +/* the Free Software Foundation, either version 3 of the License, or */ +/* (at your option) any later version. */ + +/* This program is distributed in the hope that it will be useful, */ +/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ +/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ +/* GNU General Public License for more details. */ + +/* You should have received a copy of the GNU General Public License */ +/* along with this program. If not, see . */ +/* + perform SVD, A = U*S*V^t, and store those matrices + SVs smaller than 'SV_min' are dropped. + All SVs are retained if SV_min=0. +*/ + +#ifndef _SVD_MATRIX_H +#define _SVD_MATRIX_H + +#include +#include "cpplapack.h" + +class SVD_matrix { + friend class admm; + friend class admm_svd; + +public: + SVD_matrix(CPPL::dgematrix A, double SV_min = 0); // copy the matrix A because it is destroyed in SVD + int get_rank(); + + CPPL::dgematrix At(); // A^t + CPPL::dgematrix At_A(); // A^t * A + CPPL::dgematrix At_A_inv(); // (A^t * A)^{-1} + CPPL::dgematrix At_A_inv_At(); // (A^t * A)^{-1} * A^t + void rearrange_col(std::vector &); // rearrange column of A (actaully VT) + void print_basis(std::string _file_U, std::string _file_V, int); + + CPPL::dcovector transform_x2sv(const CPPL::dcovector &); // V^t * x (to original basis) + CPPL::dcovector transform_y2sv(const CPPL::dcovector &); // U^t * y (to original basis) + CPPL::dcovector transform_sv2x(const CPPL::dcovector &); // V * x' (to SV basis) + CPPL::dcovector transform_sv2y(const CPPL::dcovector &); // U * y' (to SV basis) + void OutputSVD(std::string _file_SVD); +private: + CPPL::dcovector S_temp; + CPPL::dgematrix U_temp, VT_temp; + // K <= M,N + CPPL::dgbmatrix S, S_inv; // singular values, K*K diagonal matrix + CPPL::dgematrix U, VT, VT_full; // M*K, K*N + std::string file_SVD; + std::string file_U, file_V; +}; + +#endif diff --git a/c++/include/admm_svd.h b/c++/include/admm_svd.h new file mode 100644 index 0000000..f18ecbd --- /dev/null +++ b/c++/include/admm_svd.h @@ -0,0 +1,106 @@ +/* SPM - Sparse Modeling tool */ +/* Copyright (C) 2017 Junya Otsuki, Kazuyoshi Yoshimi, Hiroshi Shinaoka, Masayuki Ohzeki*/ + +/* This program is free software: you can redistribute it and/or modify */ +/* it under the terms of the GNU General Public License as published by */ +/* the Free Software Foundation, either version 3 of the License, or */ +/* (at your option) any later version. */ + +/* This program is distributed in the hope that it will be useful, */ +/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ +/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ +/* GNU General Public License for more details. */ + +/* You should have received a copy of the GNU General Public License */ +/* along with this program. If not, see . */ +/* + compute sparse solution x of the equation y = A.x by solving + min_x { (1/2/lambda) ||y-A.x||_2^2 + ||V^t.x||_1 } + subject to x_i >= 0 & sum_i x_i = 'sum_x' + where V^t is defined by SVD of A: A = U.W.V^t + + x: N-dimensional vector + y: M-dimensional vector + A: (M * N) matrix + B: (K * N) matrix, where K is number of singular values retained +*/ + +#ifndef _ADMM_H +#define _ADMM_H + +#include +#include "cpplapack.h" + +class SVD_matrix; +struct admm_result{ + // w/ sv : results in SV basis + // w/o sv : results in omega-tau basis + std::vector x, xsv, z1, z1sv, z2, z2sv; + std::vector y, ysv, y_recovered_x, y_recovered_z1, ysv_recovered_x, ysv_recovered_z1; +}; +struct admm_info{ + double res1_pri, res1_dual, res2_pri, res2_dual; // residual errors + double mse, mse_full; + double l1_norm, sum_x_calc, negative_weight; + int iter; +}; + +class admm_svd{ +public: + admm_svd(CPPL::dgematrix &A, double SV_min=0); // A + ~admm_svd(); + + // [optional] + void set_sumrule(double sum_x); + void set_nonnegative(bool _flag); + void set_fileout_iter(const std::string filename); // output convergence in a file. unset if filename="" + void set_print_level(int); // 0: none, 1: results, 2: verbose + + // [required] + void set_coef(double lambda, double penalty1=1.0, double penalty2=1.0, bool flag_penalty_auto=false); + void set_y(const std::vector &y); + + // [optional] + void clear_x(); + + // [required] + int solve(double tolerance=1e-6, int max_iter=1000, int min_iter=10); // return 0 if converged, and 1 if not converged + + struct admm_result result; + struct admm_info info; + + double validate(const std::vector &y); // return MSE + +private: + const CPPL::dgematrix A; + SVD_matrix *svd; + + bool flag_nonnegative; + bool flag_sumrule; + double sum_x; + + CPPL::dcovector x, Vx, z1, u1, z2, u2; // 1 for L1 norm, 2 for non-negativity + CPPL::dcovector y, y_sv; + + double regulariz, penalty1, penalty2; + bool flag_penalty_auto; + static const int PENALTY_UPDATE_INTERVAL; + + int print_level; + bool flag_fileout_iter; + std::string file_iter; + + void pre_update(); // This function must be called before calling update_x, and must be recalled when one of values of lambda, penalty1, penalty2 are changed + void update_x(); + + // quantities used in functions update_x and set_y (set in function pre_update) + struct quantities_for_update{ + CPPL::dgbmatrix Y, B; // diagonal matrix + CPPL::dgematrix C; + CPPL::dcovector Yy, w; + CPPL::drovector v_row; + double sum_Vw; + } pre; +}; + +#endif diff --git a/c++/include/common.h b/c++/include/common.h new file mode 100644 index 0000000..146c5c5 --- /dev/null +++ b/c++/include/common.h @@ -0,0 +1,48 @@ +/* SPM - Sparse Modeling tool */ +/* Copyright (C) 2017 Junya Otsuki, Kazuyoshi Yoshimi, Hiroshi Shinaoka, Masayuki Ohzeki*/ + +/* This program is free software: you can redistribute it and/or modify */ +/* it under the terms of the GNU General Public License as published by */ +/* the Free Software Foundation, either version 3 of the License, or */ +/* (at your option) any later version. */ + +/* This program is distributed in the hope that it will be useful, */ +/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ +/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ +/* GNU General Public License for more details. */ + +/* You should have received a copy of the GNU General Public License */ +/* along with this program. If not, see . */ +#ifndef _COMMON_H +#define _COMMON_H + +#include +#include "cpplapack.h" + +// converter +CPPL::dcovector vec2cppl_col(const std::vector &); // vector -> CPPL +std::vector cppl2vec(const CPPL::dcovector &); // CPPL -> vector +std::vector cppl2vec(const CPPL::drovector &); // CPPL -> vector + +double norm_l1(const CPPL::dcovector &); // L1 norm +double norm_l2(const CPPL::dcovector &); // L2 norm +double norm_l2_sq(const CPPL::dcovector &); // square of L2 norm +double sum_vector(const CPPL::dcovector &); // sum of vector elements +double innerproduct(const CPPL::dcovector &, const CPPL::dcovector &); //innerproduct + +bool if_negative(const CPPL::dcovector &); // true if at least one component is x_i<0 +bool if_negative(const CPPL::dgematrix &); + +CPPL::dcovector dcovector_all1(int n); // return a covector with elements all being 1 +CPPL::drovector drovector_all1(int n); // return a rovector with elements all being 1 + +CPPL::dcovector positive(const CPPL::dcovector &); // set negative elements at zero +CPPL::dgematrix positive(const CPPL::dgematrix &); + +// return shrinked matrix +CPPL::dgematrix low_rank_matrix(CPPL::dgematrix &mat, int m, int n); + +// return matrix in which the columns are rearranged according to 'index_col' (it can be smaller than the original column-length) +CPPL::dgematrix arrange_matrix_col(const CPPL::dgematrix &mat_full, const std::vector &index_col); + +#endif diff --git a/c++/include/errorcode.h b/c++/include/errorcode.h new file mode 100644 index 0000000..f15f449 --- /dev/null +++ b/c++/include/errorcode.h @@ -0,0 +1,23 @@ +/* SPM - Sparse Modeling tool */ +/* Copyright (C) 2017 Junya Otsuki, Kazuyoshi Yoshimi, Hiroshi Shinaoka, Masayuki Ohzeki*/ + +/* This program is free software: you can redistribute it and/or modify */ +/* it under the terms of the GNU General Public License as published by */ +/* the Free Software Foundation, either version 3 of the License, or */ +/* (at your option) any later version. */ + +/* This program is distributed in the hope that it will be useful, */ +/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ +/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ +/* GNU General Public License for more details. */ + +/* You should have received a copy of the GNU General Public License */ +/* along with this program. If not, see . */ +#ifndef _ERRORCODE_H +#define _ERRORCODE_H + +#define ERROR_SUCCESS 0 +#define ERROR_INVALID_SIZE 1 +#define ERROR_INVALID_MATRIX_SIZE 2 + +#endif diff --git a/c++/include/fft.h b/c++/include/fft.h new file mode 100644 index 0000000..3a95a04 --- /dev/null +++ b/c++/include/fft.h @@ -0,0 +1,18 @@ + + +#ifndef _FFT_H +#define _FFT_H + +#include +#include + +void fft_fermion_tau2iw(const std::vector &G_tau, std::vector< std::complex > &G_iw, const double beta, const double tail=1.); + +void fft_fermion_iw2tau(std::vector &G_tau, const std::vector< std::complex > &G_iw, const double beta, const double tail=1.); + + +void fft_boson_tau2iw(const std::vector &G_tau, std::vector< std::complex > &G_iw, const double beta, const double tail=0.); + +void fft_boson_iw2tau(std::vector &G_tau, const std::vector< std::complex > &G_iw, const double beta, const double tail=0.); + +#endif // _FFT_H diff --git a/c++/include/kernel.h b/c++/include/kernel.h new file mode 100644 index 0000000..f168383 --- /dev/null +++ b/c++/include/kernel.h @@ -0,0 +1,55 @@ +/* SPM - Sparse Modeling tool */ +/* Copyright (C) 2017 Junya Otsuki, Kazuyoshi Yoshimi, Hiroshi Shinaoka, Masayuki Ohzeki*/ + +/* This program is free software: you can redistribute it and/or modify */ +/* it under the terms of the GNU General Public License as published by */ +/* the Free Software Foundation, either version 3 of the License, or */ +/* (at your option) any later version. */ + +/* This program is distributed in the hope that it will be useful, */ +/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ +/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ +/* GNU General Public License for more details. */ + +/* You should have received a copy of the GNU General Public License */ +/* along with this program. If not, see . */ +/* + perform SVD, A = U*S*V^t, and store those matrices + SVs smaller than 'SV_min' are dropped. + All SVs are retained if SV_min=0. +*/ + +#ifndef _KERNEL_H +#define _KERNEL_H + +#include +#include +#include "cpplapack.h" + +class Kernel{ + +private: + CPPL::dgematrix A; + std::vector omega; + std::vector lambda; + std::vector valid; + static double kernel_f(double beta, double tau, double omega); + static double kernel_b(double beta, double tau, double omega); + +public: + + std::vector mesh_linear(double x_min, double x_max, int N); + std::vector mesh_log(double x_min, double x_max, int N); + + int MakeKernelLinear( + const std::string _StatisticsType, + const double _Beta, + const std::vector &_Tau, + const std::vector &_Omega, + std::vector > &_Aout, + const int _ANrow, const int _ANcolum + ); + +}; + +#endif diff --git a/c++/include/pade.h b/c++/include/pade.h new file mode 100644 index 0000000..09a82cd --- /dev/null +++ b/c++/include/pade.h @@ -0,0 +1,29 @@ +/*! + \file pade_c.h + \brief Declaration of class Pade +*/ + +#include +#include + +//! Analytic continuation by the Pade approximation + +//! HOW TO USE: +//! Pade obj(z, u); || Pade obj; obj.init(z,u); +//! for(w){ +//! g = obj.eval(w); +//! } +class Pade{ +public: + Pade() {}; + Pade(std::vector > &z, std::vector > &u); + //! initialize a rational function u_{pade}(w) using N values of (u_i, z_i) + void init(std::vector > &z, std::vector > &u); + //! evaluate u_{pade}(w) + std::complex eval(std::complex w); +private: + int m_n; // size + //! coefficient set of the approximated function 'u_{pade}(z)' + std::vector > m_a; + std::vector > m_z; +}; diff --git a/c++/include/set_initial.h b/c++/include/set_initial.h new file mode 100644 index 0000000..39cf76a --- /dev/null +++ b/c++/include/set_initial.h @@ -0,0 +1,87 @@ +/* SPM - Sparse Modeling tool */ +/* Copyright (C) 2017 Junya Otsuki, Kazuyoshi Yoshimi, Hiroshi Shinaoka, Masayuki Ohzeki*/ + +/* This program is free software: you can redistribute it and/or modify */ +/* it under the terms of the GNU General Public License as published by */ +/* the Free Software Foundation, either version 3 of the License, or */ +/* (at your option) any later version. */ + +/* This program is distributed in the hope that it will be useful, */ +/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ +/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ +/* GNU General Public License for more details. */ + +/* You should have received a copy of the GNU General Public License */ +/* along with this program. If not, see . */ +#ifndef _SET_INITIAL_HEADER +#define _SET_INITIAL_HEADER +#include +#include +#include +#include "spm_param.h" +#include + +class SetInitial { +private: + struct OmegaInfo { + int NW; + double omega_min; + double omega_max; + }; + struct FileInfo { + std::string filein_G; + int col; + int output_interval; + std::string fileout_spec; + int print_level; + FileInfo(){ + print_level=1; + output_interval=1; + } + }; + + struct CalcInfo { + std::string statistics; + double beta; + }; + + int argc; + std::vector vargv; + SPM_Param param; + SPM_Flags flags; + + std::map mapForKeyWordToValue; + std::map mapForKeyWordToRead; + + template + std::string argv_or_defaultvalue(int n, T value); + bool SetDefaultValue(); + void SetInputValue(); + void RegisterMap(std::string _keyword, std::string _value); + void DeleteSpace(std::string &_item){ + size_t c; + while((c = _item.find_first_of(" \"\'")) != std::string::npos){ + _item.erase(c,1); + } + } + + std::string GetValue(std::string _keyword){ + std::transform(_keyword.begin(), _keyword.end(), _keyword.begin(), toupper); + return mapForKeyWordToValue[_keyword]; + } + +public: + SPM_Param GetParam() { return param; } + SPM_Flags GetFlags() { return flags; } + + OmegaInfo omegaInfo; + FileInfo fileInfo; + CalcInfo calcInfo; + bool AddDefaulValueMap(char* _filename); + bool ReadParam(char* _filename); + bool InputFromArgs(int argc, char *argv[]); + void PrintInfo(); +}; + + +#endif diff --git a/c++/include/spm_core.h b/c++/include/spm_core.h new file mode 100644 index 0000000..2096c27 --- /dev/null +++ b/c++/include/spm_core.h @@ -0,0 +1,89 @@ +/* SPM - Sparse Modeling tool */ +/* Copyright (C) 2017 Junya Otsuki, Kazuyoshi Yoshimi, Hiroshi Shinaoka, Masayuki Ohzeki*/ + +/* This program is free software: you can redistribute it and/or modify */ +/* it under the terms of the GNU General Public License as published by */ +/* the Free Software Foundation, either version 3 of the License, or */ +/* (at your option) any later version. */ + +/* This program is distributed in the hope that it will be useful, */ +/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ +/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ +/* GNU General Public License for more details. */ + +/* You should have received a copy of the GNU General Public License */ +/* along with this program. If not, see . */ +/* + perform SVD, A = U*S*V^t, and store those matrices + SVs smaller than 'SV_min' are dropped. + All SVs are retained if SV_min=0. +*/ + +#ifndef _SPM_CORE_H +#define _SPM_CORE_H + +#include +#include "cpplapack.h" +#include "errorcode.h" +#include "admm_svd.h" +#include "spm_param.h" + +class SPM_Core { + +private: + CPPL::dgematrix A; + SPM_Param param; + SPM_Flags flags; + std::vector lambda; + std::vector valid; + std::vector omega; + std::vector result; + std::vector info; + + double integrate(std::vector &y, double width); + + int find_kink(std::vector &x, std::vector &y, std::vector &diff, std::vector &log_f); + + void print_results_admm(admm_result &r, std::vector w, double dw, std::string prefix); + +public: + + int SetKernel(std::vector > &_AIn); + + void SetParameters(const SPM_Param &_param){param=_param;} + + void SetFlags (const SPM_Flags &_flags){flags=_flags;} + + int SetParametersSVD(double _SVD_min); + + int SetParametersLambda(int _NLambda, double _lbegin, double _lend); + + int SetParametersAdmm(double _penalty, double _tolerance, int _max_iter); + + int SetFlagValidation(bool _flag_validation); + + void GetLambdaOpt(std::vector &_lambda, int *_opt_l); + + void GetSpectrum(std::vector &_spectrum); + + void GetResults(std::vector &_vmse, std::vector &_vmse_full, std::vector &_vl1_norm, + std::vector &_valid); + + int SolveEquation( + std::string _StatisticsType, + double _Beta, + std::vector > &_AIn, + std::vector &_Gtau, + std::vector &_lambda, + std::vector &_omega); + + int SolveEquationCore( + std::vector > &_AIn, + std::vector &_Gtau, + std::vector &_omega, + std::vector &_lambda, + const double _sum_G + ); +}; + +#endif diff --git a/c++/include/spm_param.h b/c++/include/spm_param.h new file mode 100644 index 0000000..cc54e9d --- /dev/null +++ b/c++/include/spm_param.h @@ -0,0 +1,68 @@ +/* SPM - Sparse Modeling tool */ +/* Copyright (C) 2017 Junya Otsuki, Kazuyoshi Yoshimi, Hiroshi Shinaoka, Masayuki Ohzeki*/ + +/* This program is free software: you can redistribute it and/or modify */ +/* it under the terms of the GNU General Public License as published by */ +/* the Free Software Foundation, either version 3 of the License, or */ +/* (at your option) any later version. */ + +/* This program is distributed in the hope that it will be useful, */ +/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ +/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ +/* GNU General Public License for more details. */ + +/* You should have received a copy of the GNU General Public License */ +/* along with this program. If not, see . */ +#ifndef _SPM_PARAM_HEADER +#define _SPM_PARAM_HEADER + +class SPM_Param{ + private: + struct Lambda{ + int Nl; + double lbegin; + double lend; + int lvalid; + double dlambda; + Lambda(){ + Nl=1; + lbegin = 1e-1; + lend = 1e+0; + lvalid=0; + dlambda=-1; + } + }; + + struct Admm{ + double penalty; + double tolerance; + int max_iter; + bool flag_penalty_auto; + Admm(){ + penalty=10.; + tolerance = 1e-6; + max_iter=1000; + flag_penalty_auto=false; + } + }; + + struct SVD{ + double sv_min; + SVD(){ + sv_min=0; + } + }; + + public: + Lambda lambda; + Admm admm; + SVD svd; + +}; + +struct SPM_Flags{ + bool validation; + bool nonnegative; +}; + +#endif diff --git a/src/CMakeLists.txt b/c++/src/CMakeLists.txt similarity index 51% rename from src/CMakeLists.txt rename to c++/src/CMakeLists.txt index 2f9598c..fdf89fe 100644 --- a/src/CMakeLists.txt +++ b/c++/src/CMakeLists.txt @@ -1,7 +1,13 @@ #include directories #include_directories(../include) +# SPM library add_library(spm common.cpp SVD_matrix.cpp admm_svd.cpp spm_core.cpp kernel.cpp set_initial.cpp) + +# GF library +add_library(gf Gf.cpp fft.cpp pade.cpp) +target_link_libraries(gf ${FFTW_LIBRARIES}) + #execable add_executable(SpM.out G2spectrum.cpp ) -target_link_libraries(SpM.out spm ${BLAS_LIBRARIES} ${LAPACK_LIBRARIES}) +target_link_libraries(SpM.out spm gf ${BLAS_LIBRARIES} ${LAPACK_LIBRARIES}) diff --git a/src/G2spectrum.cpp b/c++/src/G2spectrum.cpp similarity index 100% rename from src/G2spectrum.cpp rename to c++/src/G2spectrum.cpp diff --git a/c++/src/Gf.cpp b/c++/src/Gf.cpp new file mode 100644 index 0000000..13ae194 --- /dev/null +++ b/c++/src/Gf.cpp @@ -0,0 +1,96 @@ +#include "Gf.h" +#include "fft.h" +#include + +using namespace std; +const complex IMAG = complex(0, 1.); + +void Gf::set_Gtau(const std::vector &G_tau, const statistics stat, const double beta, const double tail) +{ + if( stat == BOSON ){ + // TODO + cout << "BOSON not yet implemented" << endl; + exit(0); + } + gtau = G_tau; // copy + N = G_tau.size(); + this->stat = stat; + this->beta = beta; + this->tail = tail; + + giw.clear(); + flag_pade = false; +} + +// initialize by G(iw_n). n=[0:N/2) +void Gf::set_Giw(const std::vector< std::complex > &G_iw, const statistics stat, const double beta, const double tail) +{ + if( stat == BOSON ){ + // TODO + cout << "BOSON not yet implemented" << endl; + exit(0); + } + giw = G_iw; // copy + N = G_iw.size()*2; + this->stat = stat; + this->beta = beta; + this->tail = tail; + + gtau.clear(); + flag_pade = false; +} + +void Gf::get_Gtau(std::vector &G_tau) +{ + if( gtau.empty() ) compute_iw2tau(); + G_tau = gtau; // copy +} + +void Gf::get_Giw(std::vector< std::complex > &G_iw) +{ + if( giw.empty() ) compute_tau2iw(); + G_iw = giw; // copy +} + +// void get_Gomega(std::vector< std::complex > &G_omega, const double omega_min, const double omega_max, const int n) +// { +// +// } + +std::complex Gf::Gomega(const double omega) +{ + if( !flag_pade ){ + if( giw.empty() ) compute_tau2iw(); + + vector< complex > matsubara(N); + // TODO: boson + for(int i=0; i +#include +#include +#include + +using namespace std; +const complex IMAG = complex(0, 1.); + +static void fft_tau2iw(const std::vector &g_tau, std::vector< std::complex > &g_iw, const double beta) +{ + int N = g_tau.size(); + + fftw_complex *in, *out; + fftw_plan p; + + in = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * 2*N); + out = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * 2*N); + p = fftw_plan_dft_1d(2*N, in, out, FFTW_BACKWARD, FFTW_ESTIMATE); + + for(int i=0; i(out[n_odd][0], out[n_odd][1]) / double(2*N) * beta; + } + + fftw_destroy_plan(p); + fftw_free(in); + fftw_free(out); +} + +static void fft_iw2tau(std::vector &g_tau, const std::vector< std::complex > &g_iw, const double beta) +{ + int N = g_iw.size()*2; + + fftw_complex *in, *out; + fftw_plan p; + + in = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * 2*N); + out = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * 2*N); + p = fftw_plan_dft_1d(2*N, in, out, FFTW_FORWARD, FFTW_ESTIMATE); + + for(int i=0; i<2*N; i++) in[i][0] = in[i][1] = 0; + + for(int i=0; i &G_tau, std::vector< std::complex > &G_iw, const double beta, const double tail) +{ + double N = G_tau.size(); + G_iw.resize(N/2); + vector G_tau_dif(N); + + for(int i=0; i &G_tau, const std::vector< std::complex > &G_iw, const double beta, const double tail) +{ + double N = G_iw.size()*2; + G_tau.resize(N); + vector< complex > G_iw_dif(N/2); + + for(int i=0; i > &z, vector > &u) +{ + init(z, u); +} + +void Pade::init(vector > &z, vector > &u) +{ + m_n = min(z.size(), u.size()); + m_z = z; // copy + m_a.resize(m_n); + + // g_n(z_i) + vector > *g0 = new vector >(u); // copy + vector > *g1 = new vector >(m_n); + + m_a[0] = u[0]; + for(int n=1; n Pade::eval(complex w) +{ + complex A0 = 0.0, A1 = m_a[0], A2, B0 = 1.0, B1 = 1.0, B2; + + for(int i=1; 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 HlXmleNn2D( literal 0 HcmV?d00001 diff --git a/docs/manual/source/_build/doctrees/docs/function.doctree b/docs/manual/source/_build/doctrees/docs/function.doctree new file mode 100644 index 0000000000000000000000000000000000000000..5217673671a8b6eef8753d38e05877124632f719 GIT binary patch literal 9146 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 literal 0 HcmV?d00001 diff --git a/docs/manual/source/_build/doctrees/docs/inputfile.doctree b/docs/manual/source/_build/doctrees/docs/inputfile.doctree new file mode 100644 index 0000000000000000000000000000000000000000..1756144ee5b7af1757a3b681f825be6d627ef5eb GIT binary patch literal 28288 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 literal 0 HcmV?d00001 diff --git a/docs/manual/source/_build/doctrees/docs/tutorials.doctree b/docs/manual/source/_build/doctrees/docs/tutorials.doctree new file mode 100644 index 0000000000000000000000000000000000000000..57a27e6192cfae12a7cfdc1d8bc0f01e248ae0b5 GIT binary patch literal 30433 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 upa1+CzL8*g^H3BINrVqjjFVUZ literal 0 HcmV?d00001 diff --git a/docs/manual/source/_build/doctrees/environment.pickle b/docs/manual/source/_build/doctrees/environment.pickle new file mode 100644 index 0000000000000000000000000000000000000000..856b40da5162925d38a2bf24c64ef918b60d62e3 GIT binary patch literal 13260 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 literal 0 HcmV?d00001 diff --git a/docs/manual/source/_build/html/.buildinfo b/docs/manual/source/_build/html/.buildinfo new file mode 100644 index 0000000..aebe76f --- /dev/null +++ b/docs/manual/source/_build/html/.buildinfo @@ -0,0 +1,4 @@ +# Sphinx build info version 1 +# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. +config: 0bc0f6374e669d3717b673790b77ab34 +tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/manual/source/_build/html/_images/find_lambda_opt.jpg b/docs/manual/source/_build/html/_images/find_lambda_opt.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3b15777e16eda602dd4f9943cea2d1c52a491dcf GIT binary patch literal 127216 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

AKcQR@l2mBJa=W?RatI_ljTmY7w7~YBeZoYt(iJ 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 literal 0 HcmV?d00001 diff --git a/docs/manual/source/_build/html/_images/math/08a277da44635b36e49e97a084c18ddbebeb65c6.png b/docs/manual/source/_build/html/_images/math/08a277da44635b36e49e97a084c18ddbebeb65c6.png new file mode 100644 index 0000000000000000000000000000000000000000..fdf10a506a2642c4945b79a9f39a293449b8f17b GIT binary patch literal 270 zcmeAS@N?(olHy`uVBq!ia0vp^{2HX1fQWMgIyo-k2~`7p~0K^gG{JYudI&H57=85HXI UZBNzm#e%%#>FVdQ&MBb@05IfBYXATM literal 0 HcmV?d00001 diff --git a/docs/manual/source/_build/html/_images/math/08ee2ced3e4c74283f24491dbb1e4612e1953b38.png b/docs/manual/source/_build/html/_images/math/08ee2ced3e4c74283f24491dbb1e4612e1953b38.png new file mode 100644 index 0000000000000000000000000000000000000000..f915d1bdfe796a04e78a907f90d5bdd721683450 GIT binary patch literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^+(693!VDzc+N0J2Dct~{5ZC|z{{xvsf&*5Y7XX#= zl?3?(GpxUR{^eYW-z5qAyNy2Ef0(@+D8pIc5m^jWa0G-Ir)u*_0|f&;T^vI=t|uoX zB!rZu0!i((7u-Oq@|eN-#>T{XjLtF>qP90W`ZqK#)N6cO$;5nqH_J0GHnw-}$EFKQ sNX&>gXkhqlY*6}+X@=E4Mi(ZAn-2vqFVdQ&MBb@0DY`N+W-In literal 0 HcmV?d00001 diff --git a/docs/manual/source/_build/html/_images/math/0949ed70c72f091f7e8ac4a7dd9c7bd9d859e06e.png b/docs/manual/source/_build/html/_images/math/0949ed70c72f091f7e8ac4a7dd9c7bd9d859e06e.png new file mode 100644 index 0000000000000000000000000000000000000000..bbeeb806395a28ab19eafd275f41eb784a469758 GIT binary patch literal 488 zcmeAS@N?(olHy`uVBq!ia0vp^p+GFc!VDz&?&mB3QU(D&A+G=b{|7RO2l{sxR0CD> zmjw9*GpxVsA#wht(eJt4`x8Ew_G zXg(Y;LsI_kskR%^TyC&>wj4mU9m0=S9!{{d_m4@>r`ye!{Xf`(^Hx zE1lc(wr$V+>&maa6P`cTHp}gO!K|Lp6DacMe9oovxeE_$n|9UxR)|HVvCi|9+Ps!9 zhx5{_L$cqP?cQAcZ_f`tjy0bebK*bjWu5oq;X=d2h+}J3TTTi|nBSN!f8lY9giW(i zvbH%_zSPxY2b_3v?u!Io7B#x&cT4$TS>}XA|Cl4@e!Vww#>aW-y{fx|)8;IZoVaOn tkNIu(O>=dO=Oxxx9@EpEsd3ooAL~Dlu!#&jcCDbu@^tlcS?83{1OU-g!CwFX literal 0 HcmV?d00001 diff --git a/docs/manual/source/_build/html/_images/math/26e8299b484849735af4360c90f176656e4c035a.png b/docs/manual/source/_build/html/_images/math/26e8299b484849735af4360c90f176656e4c035a.png new file mode 100644 index 0000000000000000000000000000000000000000..be35853f73672ce6f35e997e5f323af2d339fbd3 GIT binary patch literal 217 zcmeAS@N?(olHy`uVBq!ia0vp^AT|dJGmtd8Qrrrp3<7*YT>t<74`dP#^zSaH2CC*S z3GxeOSpWNT$^Pz_9_Qyu+)Xgr{rFEbP>Qp_BeIx*f$s zmjw9*Gpzr7z9ixI%kH^G9{VNkZr@z}1t`T?;1OBOz`%C|gc+x5^GP!>Fp7A(IEHAP z&z-o}i`h}2VLx|zQTa|6&&1@%+#HpR52b!L^oFIc5z$%WdO}R>k#@%hu5WgSp7J)e zPF>K!zo0|G?D?5{s#V?0*1N6mpF1b7vm`yk!{m3h_v{Jx0=_;_R+c}!)ct1Y)rscM zH_89rvN-FeKs0A^ja2%gqT8Vtw%fhUdJuZ<%bm8AplQ`vV#^mW*v>x|Z|eKDwU{fV zb<(lfD*y80u9PsB?@-#I%J}i_1o!z*7Iz)myjZf`?JZ$>#%+Xv? zm;0eHm(E;N43;bW;;G|a>YD4liSzQ?gV#D&Ys}aqG{yC5Z?&PU2Uq*We=FV{+w(Hi xt>vuWxzw}Et^fOc$od$0amMnM-GAr)d5_4AP zUO8-0DQ58G&f`772PT|iV4Y@gY$azvTPzbpJSXqvbLJrmK=TV-1U$su`8a`2bAJ0@Q5sCVBk9f!i-b3`J{n@zdT(WLp07O zCnO|e5>M#i5E(Uar@83=J%gf!%L#6;Sp28y+0fZg8i$S9x5|CvmQG0 zpVz@iI+XP~e_J!hy`S$DibPilnXw;Z7dW=8V1aGDqygjWmZ}Zj6>}x-i5vWoK5)cx zssqED-rt>f5)!ZN=XuR6@lV^pVAhTui)MYQW4x{}us5!8ph zBARQp4{We+TzHS+$!hKuVv$A$Cz@?u)i-`W&C0gyKD)%c8aLCH@AAyd+!spv{)^Ap z)9}YxZ6Rms3a_Ag`-Bt!Ie8x3_i_`L_`tNRo~MQ3bbOQ7FJ2CmdKI;Vst0D4}Ey#N3J literal 0 HcmV?d00001 diff --git a/docs/manual/source/_build/html/_images/math/3a3d1af28de6ef34516ac9d699c48cbbb23ce998.png b/docs/manual/source/_build/html/_images/math/3a3d1af28de6ef34516ac9d699c48cbbb23ce998.png new file mode 100644 index 0000000000000000000000000000000000000000..f07dea473d5f0cd8b4779197bf15131b804df2ac GIT binary patch literal 505 zcmeAS@N?(olHy`uVBq!ia0vp^kw7fM!VDrG_visBg8-ip*Z=?j1DV7F{ksdQfvWjS zg8YIR*5CDzIRDb<_uTIN37<>+KU;hQN^ur=L>4nJ@ErkR#;MwT(hLlYA)YRdAsXkC z6BMNOOi4=+U~oFbu%auKX*EMLlYkRLHY49s2hIgr^H|ogs9b$68*s&D&dwCZ7^Wqw z8VZ>wWd({Hy~8e{!}CBWA#@L`$145BQfChwXq&*Wx+~FPMVh}upzP5D2RbJ(tbAnB zFyrm4CkO7G{K??@HEx3OkC5VNZjCAqtM2XeXSn?G6Zek#PYc*uF7q!qDlGX(G_OIW zVbzWQ|JmCW`VZ7H-+TY!VVLNC293)99%{_YhxRJW`l;Vs&pac22@A_Cfv0m6`v0US zIE0`5G4Ww7!>W^}JUliItTyunRyi8-FPiz!;EnrN<-=BNY{%GnF5Z!sT(xl3L&Nib z+yB~Uxfp2}8th3+`1kgIx2ohSDY?%&8y)K}{?Sm<$*8Q)7D{A;)8 zRXYCXANzaOjsV`?%F7E9*bc2qH1wA^kaVx%U<1chhtLHx*cq%fLTmiqYuJHe&(qb< JWt~$(69A5Jx@`ae literal 0 HcmV?d00001 diff --git a/docs/manual/source/_build/html/_images/math/3cc42bfbdd8b170705ca942fa5fc4974d1580ec3.png b/docs/manual/source/_build/html/_images/math/3cc42bfbdd8b170705ca942fa5fc4974d1580ec3.png new file mode 100644 index 0000000000000000000000000000000000000000..924e69fe685c936854f639269f6943a0184a6ac5 GIT binary patch literal 364 zcmeAS@N?(olHy`uVBq!ia0vp^P9Qc5Gmv~=vNQ=u83g!*xc>kDAIKyg=-*vX4OGov z666=mu>SYwlKtH;JpcH3;M`SSr1K$x4W}K?cCk+%l?&;zfB5^r6 zL4n~}qM-1vTL%t&yUTd!;on|Y*6ZwSZ0{H}+6$S)M0Ff;V+{C;nZ-n9>?I`f4p^Lb ze5PT&W6_ES{|+74%i!_bXTO?HLxn&q)w)-l}TP>{7&b zg!@BdQ|tHL8}~AIProy)(zW0+ui^MBX)#d3(#R P1{7ePu6{1-oD!M<=x=x* literal 0 HcmV?d00001 diff --git a/docs/manual/source/_build/html/_images/math/3ef352c72eac36439ea87320904d745f331d0af6.png b/docs/manual/source/_build/html/_images/math/3ef352c72eac36439ea87320904d745f331d0af6.png new file mode 100644 index 0000000000000000000000000000000000000000..7e7ceaf22879f5985298bb6f4ad691361d3cf891 GIT binary patch literal 1198 zcmV;f1X25mP)0000sP)t-s|Ns90 z000000000000000000000000000000000000000000000000000000000000002iX zqpkn|01G`Xx8!&MI000SaNLh0L01m_e01m_fl`9S# z000C5Nkl7ZJXts_Nbxr^ZDz*&=B&uO^Od2 zu#n%%up#$GW5(C8#{BSov>*4RnlGcb-zE2UE5ST0hd4XhcRR1B6lhr;P@I`t>c!_MI~R@$kwPo{mcB z{^Zxs@Eag%ag{X&5AnpuA3Hfo1HP|38?XFzH1`|-Vzts6&nWr4=FBST7Y5I`Bsv<; z^K*diGUHumQTUP>7$!ju20{RvuK?JzA`~30#h5SXgfO|qZ7uAs@khdTog5-2{P?+; z(7Z4nc6An^4W0Q?)C0m0)zu_3$OFkdxt0NzGtYv`#zW=z0k>oPp|Gt}UYUek<{)?nYR~u=I!$Op zrx7umPHrG6AP*$C%9gY7lxO41yUzU(%#iVmT!@N-%@t&_&y@Ep_Mz#Cn=~;hbS ze=_IRP)DpI-|CIGW@&RmITm*5R0o+s z8=rL6&(<`xXRF?{7doBLhE5}LeV%u0Y3f~)#rTe-I$_A#coF(HehlWxc(;uwiihPm z+gG@-=bD$xBA(|oLjnjVO>?`vBKyXVhTS**%Ns9YPp1iO=yXIL47r75%XsLwR^*)O z<554ykHH+7;{|utO>>$k6Sb*hTf|JR{tS(?Nh~g99ZSu5*=--Eq`g#sDC`O2E7J>| zCbXf`h$xrrRb_ad@jBP^^=h$?VxVd5(!?Y%M*~QrmgsEq zS|OWPbRiJ6^Tr_SD zTdt+EI0$pFoNEjGYTsO~AP=zsL6k8O0i+@MG`;Y=yf6q%L5i0`Ih*(YhswE;uzy;o z{9&xHZ2YYu9qnx3JlAPL8#?o)zp)2VY1`~#k{M)8Qg&3R?HOXvcqh3{MPck0wT58y z(=sG5oPvAYz-fg`weLA_dJm*y_Sy}c?Xbr;a3s4==r)qFhZ@`{!<#VYcC|$@R!`R& zza4h$pAYLDQFoirT_jqpGW|ZodocRkuC|0giS%4tYy5WDGtGXN&{YDmjM%ARhPPnk z*<430kJE|2dar&n?5P_szDejRfjYHXInMA7%zyhuj8AR9;tM4I04U~33C@nh;Q#;t M07*qoM6N<$g43`vnE(I) literal 0 HcmV?d00001 diff --git a/docs/manual/source/_build/html/_images/math/3f9b358d1499cd88c763c093b52622a9820128c0.png b/docs/manual/source/_build/html/_images/math/3f9b358d1499cd88c763c093b52622a9820128c0.png new file mode 100644 index 0000000000000000000000000000000000000000..b7187a8201f849a6a48081dc9f2d1cc52cb1d4f7 GIT binary patch literal 298 zcmeAS@N?(olHy`uVBq!ia0vp^(jYbqGmukDAIKyg=-*vX4OGov z666=mP_lk*x5WMgkKZrPf4*x}o4$1(P>Qp_BeIx*f$sEal|aXmS~ zf$0u^1Iyw~o*XUF@(e1MBrVb$cHC0%WMyk(6?n%vfsLJwjoF}|U*!~=P;$a7Wrbrp z3@ID#&5u2B;6eSfGfZV2Qt$P7czAj475rY~P_^J!qgHlf)H>&sh=yOHjY^C>S_*pa wS=o-Uuzib9KPS&{TOfsHN>7!7vGfxs2GLB(lBTI^)Ir|$boFyt=akR{0OjgZdH?_b literal 0 HcmV?d00001 diff --git a/docs/manual/source/_build/html/_images/math/410a9d0df9c135dd73b269cba7ef04dcfd932b1f.png b/docs/manual/source/_build/html/_images/math/410a9d0df9c135dd73b269cba7ef04dcfd932b1f.png new file mode 100644 index 0000000000000000000000000000000000000000..7416cf4a0784cfe397c1bf10f7ce00d599395554 GIT binary patch literal 244 zcmeAS@N?(olHy`uVBq!ia0vp^+(0bA!VDyhCeQE%Qd$8%A+G=b{|7RO0ndUxyMXF= zOM?7@86>((<{I7g_?)o+<@!}+e;)!RI14-?iy0XBj({-ZRBb+KpkTPCi(?4K_2h(v zgpjaAh9(8JZA=PJ4;)}zV!FwXIGaSX9I zy>^Pd_hAQ#WAkrZyRxkFps(Qnvr3{evPbm9WLXYc28#z;cXl}0H$Ax0bfZ7umAHnI zMTbDi#zz{ZmyD3@jEk{Z(_dN$0hSrZcn-sc_3?cg{y*k*wZgZ78PF8-aE1U z@R8e$SxJ%m7NwrrrgLhy;Rl;f6InN&xX3kQL+HJwhrIK{`CjVhG9549>bgN=TAucv zo%QeoJF^}@ED@OO>A2+S$FH?zl&}&|4!}i^}pM!TgE)0P50nUj>&)5+z!$V`~AAm zetFHy8iBk2i|(aFPqoP39ye*a7<=8F8PoD+6<*VPep6lF^WOPd(+5dX27e{K7QTNS m`|$5yJJC5zK|lCi=j2y&l+3!k(dG>(6?nS(xvX zmjw9*Gn90%PdIP%+vBCg{?BvoS}Ad|1En|%JR*yM)*S(1#;MwT(m=s@PZ!4!j_b(@ z49x}{M?Y~p8M8ZN%wyx2%X!2}%_&j5(M#wOtCoy}goNZB#Uh?%0aZc)n|c}>UrRSL zJ2N(0UuN%P>0@Zi<4hD}yT>h{S`+a3#=@vy3$|=xXgMdwz`*9o7rFUq-UJoIR5e zw=dFJxNU)nZNqd2{%^mEnB6ltxf9hM9BF+SqGir#yiobr@(U8LwJvaQyl=hUWqEo= zOiGho+mcV0G*&aU>{#_t<74`dP#^zSaH2CC*S z3GxeOkXV1-qx$1{5TVdmV-9C;^RVu!Zm4n3f*+JpoKE&rs18#RrMtQki0FYe~$m-r!f sK<2 zmjw9*Ge{VD+&!OA(mi+m{?9LePq}xs1}Mc@;1O92wB!f~Gfvg!lV)IG?DTYT4AD5h zHptfdaDa%d=dBu(t-CBZXUQu(N?^Bd%UO5utnT7PQ<@Y)r(1YhvmWVxr6i)=9Ksvv;O|U|S&DI<+k0n5Jue9L|b|j|Qxs zdvW&ks=NJpTz_sqFE>}2nwHA_qVqC?xxwByb6-Yt>Kes)gk-P$!}z5!^V%fi$_d|l zb_nRS@lSJJwD8F8a0P!wb}8FmMss@17sYm*to2$g7t6G%_o|k``R%_uJf=^-v0lbO z^2v`S*WB8Rxc2d<+^c~(f>*b3tY7k7RQueTA1_~B=bzAiSTB>; z{avTnp3Y@!zopr01qD7z5oCK literal 0 HcmV?d00001 diff --git a/docs/manual/source/_build/html/_images/math/604b498d61fdb6213317eab6a9f7240af06a9911.png b/docs/manual/source/_build/html/_images/math/604b498d61fdb6213317eab6a9f7240af06a9911.png new file mode 100644 index 0000000000000000000000000000000000000000..dc6065ace4aba94c4c8f6f8249346382a9813977 GIT binary patch literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^+Ca?1!VDxiZ$;JuDT4r?5ZC|z{{xxC1O2-Ts)4Hc zOM?7@8H`^3-rwzU{%*qh5{b`qh1z;;fl{0W9+AZi417mGm~pB$pEOXg$kW9!MB;LC z!U2ZgkJJ*lj0(&QRwN2OyKz9E&vk}gTe~DWM4fRVPb` literal 0 HcmV?d00001 diff --git a/docs/manual/source/_build/html/_images/math/61e319ecabcb5c23765c66fb100f64ec3aaf1f14.png b/docs/manual/source/_build/html/_images/math/61e319ecabcb5c23765c66fb100f64ec3aaf1f14.png new file mode 100644 index 0000000000000000000000000000000000000000..b8708fe7d1d62b87859dc3ab42e3bc7308028c84 GIT binary patch literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^d_XM3!VDy57JXs@QU(D&A+G=b{|7RO2l{sxR0CD> zmjw9*GkBEjKQGb!dwqh@=eaNM%4WKq1xj%ictjQhtvdq3j8nDwq=ACvo-U3d9M_W* z7?|}rj{X#NDzAM$uGo@Z`r=W+18BP_usA<-l`OHxAKz+gkF jiopg`$2AX)k{B5Jbi`Bp?!;#RoxtGf>gTe~DWM4f+5}DI literal 0 HcmV?d00001 diff --git a/docs/manual/source/_build/html/_images/math/636d4c832194e64ac08693518831e906009d3161.png b/docs/manual/source/_build/html/_images/math/636d4c832194e64ac08693518831e906009d3161.png new file mode 100644 index 0000000000000000000000000000000000000000..333a2da87a9c1637f29d6aaf56e0ea2262482add GIT binary patch literal 311 zcmeAS@N?(olHy`uVBq!ia0vp^azM<_!VDxCrzEWhQU(D&A+G=b{|7RO2l{sxR0CD> zmjw9*Gpzr;-=q6w$y|wq^G2WV+7$&Z1xj%ictjR6Fz_7#VaBQ2e9}O{NuDl_Asp9} z6B?Qq{?LIH(E(=;9MES7I`=^5fI$8CJSJx5+iYd*9bW8h844%o8Zf7c7<(u# zZelp&yWTyG%LHXaMrN Mr>mdKI;Vst06pJak^lez literal 0 HcmV?d00001 diff --git a/docs/manual/source/_build/html/_images/math/64666578228826a7dc2a0ecfa07b9e1618527ed5.png b/docs/manual/source/_build/html/_images/math/64666578228826a7dc2a0ecfa07b9e1618527ed5.png new file mode 100644 index 0000000000000000000000000000000000000000..583b27f91ea6fc1d363b629cbce46094ecc0e00a GIT binary patch literal 297 zcmeAS@N?(olHy`uVBq!ia0vp^N_lYOVs5`4FnPZ}sV!PCVtgyVX0 zf&=3nehG=Mz7i6TE-z$yt!`lOh56-41JO$kG5jJq4V*EIN%ib(dh8nW^%*_R=qJoz zTyn!d-8KKI2E(QwtOu;5B)`e;IKmoqY+Ix3lE(~(|4x+@SS_69!1IIOv?I`w!Ke6d zBiDvH*4rCr{!~7k+;N6q;N+*uf8pmuHZY_!&DeBLY1?nc32Y2&KPjFsdj3BN literal 0 HcmV?d00001 diff --git a/docs/manual/source/_build/html/_images/math/684381a21cd73ebbf43b63a087d3f7410ee99ce8.png b/docs/manual/source/_build/html/_images/math/684381a21cd73ebbf43b63a087d3f7410ee99ce8.png new file mode 100644 index 0000000000000000000000000000000000000000..aa578668c7630700d07ea05cd9dbd58d780c948b GIT binary patch literal 258 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~e!VDy5o>bTbqznRlLR|m<{|{sm5A^RYs0OO$ zFA4GsW?29Ed`ZIZm)&!XJoZc6-M+c{3s8!)z$3Dlfr0M`2s2LA=92~r#(KIqhHzX@ zPDl{=_2z)U{1XQb9LPIx-~!_k$sf`Z7UB&OAGvo(JD4;}ICIZPTk-G@8^T_OX==sgZ!(-_%YvVso=Ewh;c^GDx3ah)m_V^0&hNr8a J%Q~loCIHw0M;-tG literal 0 HcmV?d00001 diff --git a/docs/manual/source/_build/html/_images/math/6ed94dac5ae2ab85d25d0c11ed15a62e4b9568d0.png b/docs/manual/source/_build/html/_images/math/6ed94dac5ae2ab85d25d0c11ed15a62e4b9568d0.png new file mode 100644 index 0000000000000000000000000000000000000000..0f0699444ee644a011e3788931740b8177571a0d GIT binary patch literal 308 zcmeAS@N?(olHy`uVBq!ia0vp^<{&l;Gm!i*@_HYTG6?VqasB`QKafd0(7(H&8mOAT zB*-tAVg2vVCHuQydYqptaW}ze_v1g&Kq<}wkH}&M2EHR8%s5q>PZ}uL@9E+gB5^r6 zfr0rPJC6i|URgc!GL;w~pgEhA@J^6E^>&xtwE zy(&}j@E>NkgpF)%J{!6k|IL1C$L2;yp0hVr zu926V*CbkNzRld>>hX`I|IOcV31t6fPWSz?p?i*^ov_FThBPsawHKcJc@1|mM;X8Z@g3mZZIURd%_sZ^Z%fV z$J@-dR)MYUdJEVMR2Eg(AG~@miVn~ z;UUHEo97((^Y;(`ypucz`;RtW`E(|kJFAYB(8483g!*xc>kDAIKyg=-*vX4OGov z666=mknqxI|6PyI>*q@RK3~$kso-NNP>Qp_BeIx*f$sC#glWC=gfS`8^RJ2 Zen4kSaK&=G+bs@qrl+f)%Q~loCIHzlHYNZ7 literal 0 HcmV?d00001 diff --git a/docs/manual/source/_build/html/_images/math/800a289af47e2f3052ffb324c8f6987bc496052f.png b/docs/manual/source/_build/html/_images/math/800a289af47e2f3052ffb324c8f6987bc496052f.png new file mode 100644 index 0000000000000000000000000000000000000000..9dee3ae12a027c43608264672d52c38646c29e09 GIT binary patch literal 494 zcmeAS@N?(olHy`uVBq!ia0vp^?m#Te!VDx08hOuxr~sc3*Z=?j1DV7F{ksdQfvWjS zg8YIRB-Wqz=>GisuF?L4l9zLnA8Ho?r8o;bB8wRq_>O=u<5X=vX$A&HPfr)e5RLQ6 z2@MQ!>})I(QV#G{uuQO6-Z;aM;S}eQb&Vg*COl~R*rJ$p%BySLKIv_(tBTZZt2X>S zP&981I}eY4Le~!Y1`ktqwq-)=m}9t-c+7ZgW7uyGib1; z6p1v5{*>BPx{rSY7uSOrss9JO8C4FODhlZw<#%yV*SufBV0cq1@3;vY8#@~_TbnZv zPYx5$A1;T5^*j+Gh6W5@xf?_`GK&`0H?nye+T1zn7{h8HoMLPsvBNH*#mf4IF;5Mf zK$;Nq;b+_uT@H>1>>3pn1Z7xwYTVwN*&GO9;qoy|Fom swgz)KL!Rq|C5OIDa^%`BHN}OUA@Qx-#(?7oLqJjH>FVdQ&MBb@03}wK=>Px# literal 0 HcmV?d00001 diff --git a/docs/manual/source/_build/html/_images/math/85c913e5997c47b58a8a2ce9ecac21612aeee15b.png b/docs/manual/source/_build/html/_images/math/85c913e5997c47b58a8a2ce9ecac21612aeee15b.png new file mode 100644 index 0000000000000000000000000000000000000000..c32dc6ba0921274f5136e33bee428662f2b76054 GIT binary patch literal 467 zcmeAS@N?(olHy`uVBq!ia0vp^NkA;h!VDz+*QmJwDT4r?5ZC|z{{xxC1O2-Ts)4Hc zOM?7@84_L^?Z4~sdHr08-{(uZHx+y=1xj%ictjR6Fz_7#VaBQ2e9{aIjC!6fjv*GO zlM@uAW-uAv-p%&N^utzWPQEsqN2LZcm<=y8S+cRYrOwIP!6YeB@!Z$t(!q_wPqe~g zq-OlKGcxEfGEh}0F{qx;H0dXsg)ZZ(j?@R%2X0=xXvnxGne)1&!pVCL{>RPPj`4C> z-!n2`^gPF8V>QFxc*EbOmkBWnCl4@vy6tdCoJ3F~%D&D*aGa_VLG8!zB|Y#7an1ut<2YEO|Y_&UJ|sLu^;z UwbVrlMxc1{boFyt=akR{0JImO_y7O^ literal 0 HcmV?d00001 diff --git a/docs/manual/source/_build/html/_images/math/8cb351dd3b28ea1c9fb991ca73ab98acd8cfce4a.png b/docs/manual/source/_build/html/_images/math/8cb351dd3b28ea1c9fb991ca73ab98acd8cfce4a.png new file mode 100644 index 0000000000000000000000000000000000000000..cf8c650a4d5560182678418421e364b596560cb5 GIT binary patch literal 520 zcmeAS@N?(olHy`uVBq!ia0vp^EkDAIKyg=-*vX4OGov z666=mAYtTj_k2Q0_uTdSKfnAv<=)jApcH3;M`SSr1K$x4W}K?cC(XdXnC$7|7@~20 z?xelmhaDu2&EIVze|^i+9hMr;^==&G>q_|7;&V>$n=~`yI5GZHVFv)(Qu}|n;?6ZTffFypw9YvG{6O$((IsA- z2J5vF?mcAs`%3eP(6;sMWeW8IdF}!=7CenJ1g^2a7q2nYE1GI&=dkM~x1w61{Gqcy zCv(JwUS1}!xX#U6HpiqPb*YWq67CS)Ez7T+Umdx*yF+Gr$iCRw4j&k-1HK*H-L~4Y z^X1krF-Ebq-`8|U2Yk(M;h6s2ZEdo;->um><{_%LKXJVLAklNhRoSoQ(T>IL4eJEL z7jItg*k>=CSl%<^d#`k8ce2GRLyiYCd++(A|0=Su6j~)v&l<5yIySRX>gNARvwi<0 Z*D&V@Mell|F|!*KnVznGF6*2UngG1H$;SWy literal 0 HcmV?d00001 diff --git a/docs/manual/source/_build/html/_images/math/8ddb02d4e899000ba2ee76d62ac4ab491fd44a75.png b/docs/manual/source/_build/html/_images/math/8ddb02d4e899000ba2ee76d62ac4ab491fd44a75.png new file mode 100644 index 0000000000000000000000000000000000000000..7c68a27a4e4a71a90e2dc14a6db273cbfb0f3295 GIT binary patch literal 290 zcmeAS@N?(olHy`uVBq!ia0vp^>Od^a!VDxIrg82CQU(D&A+G=b{|7RO2l{sxR0CD> zmjw9*GpxVsQF8ueLigOyza{n?trA|i6DY-5;1OBOz`%C|gc+x5^GO2*Ydu{YLnJOI z3nU06G%!oJGjb?4d}W-|EU?DD!8KqCWA}q3ou(Sj6-_#;Ual3K!?&VISn`o**kA&OyEh%va)|>W9yyukjV qslZ`Y!rSxgGny0<7+MM#o-#1xtyP{GbVXPjkDAIKyg=-*vX4OGov z666=mP;&SD%Y^Q^>p%aN*l*+^7Co;KD8*Ue5n0T@z;^_M8K-LVNdpCgJzX3_IIbrr zG%!SKoc$$z>VZLnk%hd2WOzfw36(Pz3nw%-?rr=j{Je>QjZKa1-1=y)1E2oLFW`DC ydO+lJ<7eJI>elF{r5}E*bt3?I? literal 0 HcmV?d00001 diff --git a/docs/manual/source/_build/html/_images/math/a372fe4adb7d7aa51df8ac102e5b7123b3b8f24c.png b/docs/manual/source/_build/html/_images/math/a372fe4adb7d7aa51df8ac102e5b7123b3b8f24c.png new file mode 100644 index 0000000000000000000000000000000000000000..3b7afc51d05908c7a8142720ccc4f2b1f823f5c6 GIT binary patch literal 311 zcmeAS@N?(olHy`uVBq!ia0vp^G9We!Gm!LHDLfNM83g!*xc>kDAIKyg=-*vX4OGov z666=mP_lk*x5WMgkKZrPf4*x}o4$1(P>Qp_BeIx*f$stfAkByBjkDZN;nd7^tz~;FO8&k@s zz9}TEal|aXmR9 zA*61}l220_8ynX)G%7NAd^R;OIKy=5Gs_MMHKv!jJa>2$61K@M>1zBadRSB7?8k;g urj9f(hSNp{`3)DoA6Ue5r}CZx7sD4xzKX#3HB*2_GkCiCxvXKZ6LR|m<{|{u61U@$S@BlRk zlmz(&Gf1pI@6rAF_g$m?2_-M*PJErTHw7riS>O>_%)r2R1cVuHn*uq zJN=`7rF+imn3A}mLt!_^TV9P|Hlae7ZGpf1kJ{{2J{dFN?d&H#D|2!Mx)#m)(6ILP zte^|Q{+5E)#rOKF3l!!WhiXi}$W`X$ra1X<&7p~RxVKeI@iSSvtt=#TgYRwf^3;?0v775@%7n@%e?DF8_ZkvrqKY zd;cT)`=_p6aF_RXyT>Dcwu^S=9$B+P{$wnedwyg7!5R(|n*xh)P`r7%`njxgN@xNA D3u4BF literal 0 HcmV?d00001 diff --git a/docs/manual/source/_build/html/_images/math/a6d47234c6a3b8d24783aaebc72d9d4359d13c82.png b/docs/manual/source/_build/html/_images/math/a6d47234c6a3b8d24783aaebc72d9d4359d13c82.png new file mode 100644 index 0000000000000000000000000000000000000000..1a7959eb3c29c1dcc68b91c3394a1ea27cf42535 GIT binary patch literal 258 zcmeAS@N?(olHy`uVBq!ia0vp@KrF<<3?z$OJsE+NL4Z$)>;M1%flT6o{@n%DK-K&u zL4Lsu=YMx67?pU;UBCac#LK&ePrPe@Qk(@Ik;M!Qd`Cc-ajG_-G*B?s)5S4_<9c!e z1LH9UgQE}X8JzrE0(fpKio9l>AeB0;gGC`X%y1^FQWnER-R6Kdd^|d<9B#EX_Bu8; zHo6|FwcO3X%xwJn9ZMfuhtNJIjw{P3ac>CPzy_$?q z4h8$3iRDZX|I|3=v=!q?@jnUA<61gZj15v2w6R@q-S$F}jlq{yb$8r(o)n;O7(8A5 KT-G@yGywo(257MW literal 0 HcmV?d00001 diff --git a/docs/manual/source/_build/html/_images/math/b172478c2e144fb77ed130c729b5ad404895872f.png b/docs/manual/source/_build/html/_images/math/b172478c2e144fb77ed130c729b5ad404895872f.png new file mode 100644 index 0000000000000000000000000000000000000000..65638d99f7b398a2467bd771f8f3a0a7b1ab791d GIT binary patch literal 688 zcmeAS@N?(olHy`uVBq!ia0vp^1wbsy!VDyHzL!q~QU(D&A+G=b{|7RO2l{sxR0CD> zmjw9*Ge{VD+&!OA(mi+m{?9LePq}xs1}Mc@;1OBOz`%C|gc+x5^GP!>FmZdjIEGl9 zUK_GMTf|Z1U)s04`eO=BtsT3*EefBZ4}~+d+Yc936ynw@tR5&FX0)_)tNj z{_xVxg6G^e+%}3}{lorFEO5=E>iqQczSl&W)>nK!`~BJMx#sWBGX2ld&gbV{Sz=$% zf2}#P`alcU>_ZP20ygqEe=K|V%qK=?)}iBX{OpVy-iTS-YN#)?7kQ+AXwKcM>}(Tc z6Q75t&*p5+;EFxxnZb?cWNIQD9vU0kgh705Khr$mI|Efw; z+WhBWdAu;=>FCqf8)BVq7tAYPFsb^uks?=)g2(M<1@3I8EkTTB75jekN(c)(vs>Ei z-EJ?Rs2$B?X!LA?=DYYu=|$cLh;vkH@%yG z+AktvSAF=awL62aE?#j>FsXRqt~nD5RvZtIdCIinh5zZFC8sSC`?GB|+-;#A&%M4U_FQ74(t#ZNmG;_J&uruceyq@1ls7Bys`t;ozxFos xSI$1R`M}EX-s!$&zr!n5)}M$^?D(IupV8z+Yp3Rw2lGLR&ePS;Wt~$(69DuvD*ylh literal 0 HcmV?d00001 diff --git a/docs/manual/source/_build/html/_images/math/b33b56c5293081e5b6575bf2f6f1eecc81b16d8c.png b/docs/manual/source/_build/html/_images/math/b33b56c5293081e5b6575bf2f6f1eecc81b16d8c.png new file mode 100644 index 0000000000000000000000000000000000000000..f721824329572614f7602868a2aaa55da4afe96a GIT binary patch literal 347 zcmeAS@N?(olHy`uVBq!ia0vp^azHG^!VDz$-6?(rqznRlLR|m<{|{sm5A^RYs0OO$ zFA4GsW{_C_d%wrs^K*?#x)VOX)V^?93n;}|;1OBOz`%C|gc+x5^GO2*w|TlahDcma zPH158WDD8AHudxmwqruS-kcKnX8X#E+2;W}GxKsLXWpLEzos@eW-~RN|Jc~r*x9(S zP54y0Hba-8L4|LsK)u?5%!3E^H#R1UF*|oK9rpgqt79*5&OagH21n3|#Rc{a-_@Iq zCU9=-{;J=+htb*U!YDh1ni1iI;`1Q3@6M!B#p?4nJ@ErkR#;MwT(m+8APZ!4!j_b(@2_Xpy z2Al~A3Bm~p8i@%BFIXO}ba->(z=0PB4jeFPY;5G#IIF97AmHq&0|#UdGBA|CVmZmN RXJS3bMV_vHF6*2UngGsLIOG5T literal 0 HcmV?d00001 diff --git a/docs/manual/source/_build/html/_images/math/b699a4b61a18d3471ea57883736739f4d4ce3770.png b/docs/manual/source/_build/html/_images/math/b699a4b61a18d3471ea57883736739f4d4ce3770.png new file mode 100644 index 0000000000000000000000000000000000000000..2cc54d6b50d03599554fa42ab71f933310731d1f GIT binary patch literal 443 zcmeAS@N?(olHy`uVBq!ia0vp^9zZO_!VDz2uC+b|QU(D&A+G=b{|7RO2l{sxR0CD> zmjw9*Gf1pI@6rAF_g$m?2_-M*CO_0J0!ncfctjR6Fz_7#VaBQ2e9{aIjAEWHjv*T7 zlM@;k1KHj*gfet)W@uM(V>Vd1X32|F2c9?hw!XN?&hy)W$CRCInGjoCPL>6;MAQKz z8D0lJMrRE(*BTxkO`aNd35jWrGFLi%FN(2UW989d@P~=5ZRh|0_3oix7HsF# zIU2|izGYG=(=1O$o;?Q`ejGT!Uoz=aFZ&!$9vz-D36grr0s#y=tC^WEGqbh1u+<5? zmuC(TyuknBA;%TQup@jSNB*`p3Z}eP^Ks3QcF=pciy`D6;~TX$(~N6|h6Xzv=gdBG zV1wie0TGs|8ETe>228Dujt35;f5~IMkd%;Mq_#lQN}`HSWD)xVCZUK!Mhremt`fr2 tINBsOislDBWLvJ{mcn_)pDo))dh(PsNVaLbq$j{`63eV4Xc{@)>pKv~$mfppo?TySGjyG{io9_w;n}sfJrTQ@hqY6fF^mSa&TrG=YC* zx~5scmWFdTPK0b)m&@o|V7&24#NXwwOD5?{cc@oRyz=?=&j@81Imd9RQ@JyBSPvW2 zKV8jdWZQfvJbO7qi-p=TYsqW1dYb)nBNiWJo}3V>|5@*``-Q33PS1G4$fi80B4Qp_ zKU3O6iRG1o{3{&{qiY;5Ol#QoiLXj+!rMhD3#GL`zIp0Ps{4zKHfoZt*SP%wdwaJ7w#IYhKe|tX=X*dv}eHO18WDsf&A)*~2gR z39n>WES&xOg_^gXvw}6}wY$EJz7xb7GtSM5OrCf$^iljB=3)`?CAYo?zD%Cbe`-(j zAHUsk$${?cnHf7%cB}E}`#MfPz}>W6a>6~IvbV=igtlH}f6SA=>FPDRyUH_?7k+2- z_{b~~UA4#afystP(wsb7^n8QP_%{9QXL&Y%Hg8|>iO=ynD?iKM$}f5)UVFv=o;4_0 NdAjgyVX0 z!j=F3?>96yx++Xy6f&SeE)j-w! zB|(0{3=&2jch4u3bkAMC|MSb=Q|?`@0ZMTectjR6Fz_7#VaBQ2e9{aIjHaG0jv*T7 zr%p2TKI|ZJ{Qu4^p6filzc)Q$wy?P27}#_FLE7>@G4b%i4`!Lm8x~w!si0w1T2Rna z*L30J#_sCiB@aUGdnfy5h{^9MKmPaKyZ`rgGkcx6@bZC4=BxF|=C_wNyuE3)k7>)-eJsNQOR$n5P*@6d~^cXpjfe*H#DfU&IV02^cBjSJqnhRrjt z{BW^%@(JDet!}ee`byiwygOYwP6VYLXr1}~K`__b^?k*^IW|Vr2u$2;^6(}zOJ)kQ+8fyeLrFQ fW{q;BaUpoba&QtSv42m94S3j3^P6%0e&w1=BepTtb|&Wu5wJLBgb) z_smbuayqZ9Ds}^Vi41tdr3+kezAA16uWwM<nC7NeWb--`#QhB7WoD{(e@`uaInsX_G)E#uSE)tPy}^=i&J8@1&d z!=Y{U6mj<{7e5XWLJiNP$wGr>mdKI;Vst09%VF AsQ>@~ literal 0 HcmV?d00001 diff --git a/docs/manual/source/_build/html/_images/math/c236cbdfa9836dffda883ffed7a9336e0cb5f87f.png b/docs/manual/source/_build/html/_images/math/c236cbdfa9836dffda883ffed7a9336e0cb5f87f.png new file mode 100644 index 0000000000000000000000000000000000000000..2db6200c91abb6ab3ae7059e847aaa1ca7914264 GIT binary patch literal 410 zcmeAS@N?(olHy`uVBq!ia0vp^T0kt!!VDxuW;F2vDT4r?5ZC|z{{xxC1O2-Ts)4Hc zOM?7@8P-eOom=wKV}G~N`Gnt};{rVzfKr?V9+AZi417mGm~pB$pEOYLtEY=&h{WaC z3H$w+90l6#AN(kH?|Z$%!^30Uz8@@RC1NUK$NJ`_)iUYrVYnWcla2|e4jHo6vaf57{>Z$`zU^7!jKkN~iF!&r%w0G~?60@t zmEcv@AGjJX6fp8S|CNs8u43m8nEcN6X))vU)!Ti|8oc_mJ?%pebT_U4@R)OzWcsB3 zokH=7e|mHIJO56Y%H>c!JG=iy$9uW&)&3?wyx*znJTv3G6#3-#MsK$(OWau1F7MYd zdlBJ#)8yK*W6#p|Z0i@7G%L(Mws`ME?yc``F1=@P-OiMCpEv6tW@CHZFXqujTY&+< N;OXk;vd$@?2>__Od^S!VDy}tZqpFDT4r?5ZC|z{{xxC1O2-Ts)4Hc zOM?7@89e58@0Un8|NHLe5~KAmpKxj207`KdctjR6Fz_7#VaBQ2e9}O{>z*!-ArhC9 z6BwAonAs!@S~o{L&}l2M@D@}&v5XD%`Nog}U(Hs#bys5Q@dGP^GOwshKr zumzJV_L{3U$keau+^OC8Q0BkDAIKyg=-*vX4OGov z666=mAhG`UeviB7=NgrCCwzXXec`kgP>Qp_BeIx*f$staF~SXA zk`g}_sKulvJos_ozyX$&Fy@&8j_25Ucyd?;*6Dj#hyR-W_NolGgv5`=uro|t9kuHc z6Ec!k`0qHwyh$MAncIY8H@`|t2uZw?uVH+o!Cc6E!-j7`CC`7wwB^jb>{3SUjg9Jz z9s3 zmjw9*GjyN-{QKqlxkmdF?s`a+*cDIe14?lgctjR6Fz_7#VaBQ2e9}O{Bu^K|5RU7~ z2?+@yWqc{x443|i^33_iEg|vD-N3-$h_S(jzxfPCn0e%FR5_gKEtUW z>kk~rc=U)X#J;hy@%evdwzewf3Fo+ZczpKr8`%8h2`V|EVzRKOk&z+wuJ{J2#2ZUN Oe(`kmb6Mw<&;$VLlS;<` literal 0 HcmV?d00001 diff --git a/docs/manual/source/_build/html/_images/math/db9038319d8e3a6b6b43071d4d08701d9d70c2ac.png b/docs/manual/source/_build/html/_images/math/db9038319d8e3a6b6b43071d4d08701d9d70c2ac.png new file mode 100644 index 0000000000000000000000000000000000000000..ba0587689e0dbfe30ed3d6b925935db394b48008 GIT binary patch literal 299 zcmeAS@N?(olHy`uVBq!ia0vp^vLH4KGmu=KU9lWU83g!*xc>kDAIKyg=-*vX4OGov z666=mu>SXckM5Txb0reaf4*xpb#1gbP>Qp_BeIx*f$sOS3=^^WyL>Vg(W0@HGWB1vByN6>;3>nyPpS-^KUsN< z9b^_hej~=}Fe{#6&7802XC}ue6mH{vqwrLRXN|N%ncA6#7uy;FdbpSps@^ei%>Sx= zqh#G|o*u@8WBeVLi_ZOFG`0{vkRtbc;amqP2CZ1>)oC_H%Rv71boFyt=akR{06(5x AQvd(} literal 0 HcmV?d00001 diff --git a/docs/manual/source/_build/html/_images/math/dd5601c05723358c40a8cb0fa9b1541eb1def298.png b/docs/manual/source/_build/html/_images/math/dd5601c05723358c40a8cb0fa9b1541eb1def298.png new file mode 100644 index 0000000000000000000000000000000000000000..a125a957b810b13a4e780d6fbbb011ff4b22a3d8 GIT binary patch literal 468 zcmeAS@N?(olHy`uVBq!ia0vp^en2e5!VDzYPkdbjqznRlLR|m<{|{sm5A^RYs0OO$ zFA4GsX7DK4e_o>d_xc2*&vReimCbZJ3zXt4@Q5sCVBk9f!i-b3`J@>b81+3}978nD zCnp?WKD59jnt?ekfnjN+Y=K5X?#m3(YIb?3Tr z8E5=#OgvP@_Knj=VXB&*!vn^Y56p9~7rke=&c^1(CdS4#;Yrv6j%FKX?XJo{3bFMP z4X+x~j2l!NUzr)sasA9@9U%MMoh@v_SK|kMKTdsUddR`NY3~{Fh9ArklMZ$;>Tm`f z|2nx>+LWo>z`%!b6>F=vD6@x&6ndU1Orcpvd$@?2>=^&p`ic( literal 0 HcmV?d00001 diff --git a/docs/manual/source/_build/html/_images/math/e2bf38137174bbbc865558597cdacfe137d43d52.png b/docs/manual/source/_build/html/_images/math/e2bf38137174bbbc865558597cdacfe137d43d52.png new file mode 100644 index 0000000000000000000000000000000000000000..bd4fb22eff61ff009d132940fd1f058a0f6e4b77 GIT binary patch literal 574 zcmeAS@N?(olHy`uVBq!ia0vp^eLyVC!VDz0XlpD3QU(D&A+G=b{|7RO2l{sxR0CD> zmjw9*GpzspxnzI$OONw&CGI8|?SA|x8YsnC;1OBOz`%C|gc+x5^GP!>FwXRJaSX9I zot&V+!qOnXpTOe8@}Q<+C6iVe1BYUQ+_G7fJT?v;4ByQYRyB4VJp1r(??M)hmaIM% zF>&Xk51twL9r$vE#iUqg!;Iv{G`?cyHlYOqU6wVhGmafN^5B`x@epQ_rrC#Aym@fy zX@k<)qD^MSQa(I6eG@pn4+x2v+Ff3M)+eGV#c$unLPq^nrreUxP3v2Wt!oUg&r{+NfO!Sq9YgVc$`8@dyfn3=yv`XpEUUodm?bEdRURt)CPt(>ix z56|W0Ny_*)>(sA_4>dPg?pZD=AsirF?XZU-p5cm&9a|vVz4ynyv8^yGthxKYcQ=#B z*Ubx`-O)Gu*RyJw{jd5%-`Ln9EN&a-)IV6$IZsn5z2iJfsve(dhvl789kzopr0QvFNwEzGB literal 0 HcmV?d00001 diff --git a/docs/manual/source/_build/html/_images/math/ed882223f7d35e6c8ab4844af95f33706aaa0c31.png b/docs/manual/source/_build/html/_images/math/ed882223f7d35e6c8ab4844af95f33706aaa0c31.png new file mode 100644 index 0000000000000000000000000000000000000000..43b18d3f05048193570a0ed06ad00714dcc84b82 GIT binary patch literal 371 zcmeAS@N?(olHy`uVBq!ia0vp^8Xz_cGmzBWXm}e)83g!*xc>kDAIKyg=-*vX4OGov z666=mAhG`UeviB7=NgrCCwzXXec`kgP>Qp_BeIx*f$sY4r!*$%KE1HJu~9zbmySaCn_^yO=I{4+ zf0y7hFqp$WYrEi*jIzIMY+-Egm^QE}*u;#!2$6CG0!4nJ@ErkR#;MwT(m=t(o-U3d5|@(` z8W;mPL{BuZh&gB^8k}6QX32|F2c9zsKCWX>x+)_v!%Lzf@s&PoXh?Ff4KOTQAn{$C&256|mMqvZU{gzmYYe@pB)S|z-2Cs2yBz$3Dlfr0M`2s2LA=96Y%V7%h#;uvCa zdhHZj?;{QZZTF2oPI@r6T%jw9_2415#rqF+&ZDo3%NAW}Hn+*4rH@kj@$TZEocx*)+DwCm(ae|D;Y^u*D~^^30v! zEi-Oz*4Q_!7rsmtLK z_otVKmw^PF6Pzm|n~R<(`h@-}TK8V>t2dT z+`B)cVgGNlh2|H_-e;YiTJc2gX>Rf{JEK33&zzEO%Lwmo+ zx!-un@!UPkm)pNs(P=%?I}V-bXR^ij7N5AU?mv+|<@1b3Hfy_YPFr6vw_=B@vb9t~ zlz&fp8Jo@Hsn=Cg*PcA;Zd32Hf7x@MonA@*R?RV=TYFI0;;H1W=f^6Xmj5xmZjkin z(B*si_l$~t7FR_sm(IU>-Frpw-WjZSqB_3{{keZP;`WYu&Q;ILGGv!V*mBQ(Wf|)7 zzb?f3{p`|1RqNb-H-CNP|JUv3)~lZt-fXwfSABMHk<~iY#_cl>a6b=?l$~y}{?wfG qJMu>=>gO+CWG`d!ga2~I#9GE*Zk48ahd=HDr5;aLKbLh*2~7Yt^%bN5 literal 0 HcmV?d00001 diff --git a/docs/manual/source/_build/html/_images/math/fac78ecd202fb268bd8ad30d6fa2176d9f74c01c.png b/docs/manual/source/_build/html/_images/math/fac78ecd202fb268bd8ad30d6fa2176d9f74c01c.png new file mode 100644 index 0000000000000000000000000000000000000000..67b0fa71e1c9e92a399824bfe62ab5dedf5f71e7 GIT binary patch literal 555 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 literal 0 HcmV?d00001 diff --git a/docs/manual/source/_build/html/_images/y_sv-log.jpg b/docs/manual/source/_build/html/_images/y_sv-log.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d41e1ea331f66dd806eae1ba2081464004266e45 GIT binary patch literal 123993 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 z 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 +results in NaN. +Even if one manages to derive a definite solution, it is quite sensitive to numerical noise and often breaks preconditions that any physical spectra must satisfy. +This becomes particularly problematic when :math:`\bm{G}` is evaluated by quantum Monte Carlo technique. + +``SpM`` provides a **physical** solution which fulfills the equation of concern within a certain accuracy. +The solution satisfies the constraints such as sum rule and nonnegativity. +The engine of ``SpM`` program uses the method of **L1-norm regularization** to separate relevant information in :math:`\bm{G}` from irrelevant one which makes the spectrum unphysical. This process is automatically done without hand-tuning parameters. + +For details, see the original article + + J. Otsuki, M. Ohzeki, H. Shinaoka, K. Yoshimi, + "Sparse modeling approach to analytical continuation of imaginary-time quantum Monte Carlo data" + `Phys. Rev. E 95, 061302(R) (2017). `_ diff --git a/docs/manual/source/_build/html/_sources/docs/function.rst.txt b/docs/manual/source/_build/html/_sources/docs/function.rst.txt new file mode 100644 index 0000000..79a3000 --- /dev/null +++ b/docs/manual/source/_build/html/_sources/docs/function.rst.txt @@ -0,0 +1,82 @@ +.. SpM documentation master file, created by + sphinx-quickstart on Thu Aug 10 10:08:31 2017. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +Calculation flow +=============================== +In this chapter, the calculation flow in SpM is shown. + + +Overview of calculation flow +---------------------------- +The main function for SpM is defined in G2spectrum.cpp +and the calculation is done by following procedures. + +.. blockdiag:: + + blockdiag { + "Set initial condition" -> "Solve equation" -> "Output results"; + group{ + color ="orange" + "Set initial condition" + } + group{ + color ="red" + "Solve equation" + } + group{ + color ="blue" + "Output results" + } + } + +1. Set initial condition + + .. blockdiag:: + + blockdiag { + "Read parameters" -> "Read Gtau" -> "Make a kernel"; + + group{ + color ="orange" + "Read parameters" -> "Read Gtau" -> "Make a kernel"; + } + } + + - Read parameters (ReadParam function in set_initial.cpp). + + - Read Gtau (read_Gtau function in G2spectrum.cpp). + + - Make a kernel (mesh_linear, mesh_log and MakeKernelLinear functions in kernel.cpp). + +2. Solve equation + + + .. blockdiag:: + + blockdiag { + "Set parameters" -> "Solve equation by \n ADMM method" -> "Get results "; + + group{ + color ="red" + "Set parameters" -> "Solve equation by \n ADMM method" -> "Get results "; + } + } + + + + - Set parameters (SetParameters and SetFlags functions in spm_core.cpp). + + - Solve equation by ADMM method (SolveEquation function in spm_core.cpp). + + + - Get results (GetSpectrum and GetResults functions in spm_core.cpp) + +3. Output results + + This procedure is directly implemented in G2spectrum.cpp. + +Sparse modeling procedure +------------------------- +to be updated... diff --git a/docs/manual/source/_build/html/_sources/docs/inputfile.rst.txt b/docs/manual/source/_build/html/_sources/docs/inputfile.rst.txt new file mode 100644 index 0000000..ff56082 --- /dev/null +++ b/docs/manual/source/_build/html/_sources/docs/inputfile.rst.txt @@ -0,0 +1,74 @@ +.. SpM documentation master file, created by + sphinx-quickstart on Thu Aug 10 10:08:31 2017. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +.. _inputfiles: + +Input files +=============================== +1. Parameter file (param.in) + +The variables for which default value is not given are mandatory. + +* INPUT/OUTPUT + + .. csv-table:: + :header-rows: 1 + :widths: 1,1,2,4 + + Name, Type, Default value, Description + statistics, String, ---, Choose "fermion" or "boson". + beta, Double, ---, The inverse temperature + filein_G, String, Gtau.in, The name of an input file for Green's function. + column, Integer, 1, The column number where the values of G(tau) are stored in the filein_G file. + fileout_spec, String, spectrum.out, The name of output file of spectrum. + + + +* OMEGA + + .. csv-table:: + :header-rows: 1 + :widths: 1,1,2,4 + + Name, Type, Default value, Description + NOmega, Integer, 1001, The number of omega to be calculated. + omegamin, Double, -4, The minimum value of omega. + omegamax, Double, 4, The maximum value of omega. + + Note: The i-th omega where i=[0:Nomega) is given by + :math:`\verb|omega|[i]=\verb|omegamin|+(\verb|omegamax|-\verb|omegamin|)/(\verb|NOmega|-1) * i`. + +* SVD + + .. csv-table:: + :header-rows: 1 + :widths: 1,1,2,4 + + Name, Type, Default value, Description + SVmin, Double, 1e-10, Truncation value of singular values. + + +* ADMM + + .. csv-table:: + :header-rows: 1 + :widths: 1,1,2,4 + + Name, Type, Default value, Description + lambdalogmesh, Double, 0.2, The log mesh of lambda. + lambdalogbegin, Double, 0, The log value of maximum lambda. lambda_max is given by :math:`10^{\verb|lambdalogbegin|}`. + lambdalogend, Double, -1, The log value of minimum lambda. lambda_min is given by :math:`10^{\verb|lambdalogend|}` + Nlambda, Integer, ---, The number of lambda to be calculated. + penalty, Double, 10.0, "The value of penalty coefficient. If negative, penalty is optimized during the iteration starting with its absolute value." + tolerance, Double, 1e-6, The criteria of convergence. + maxiteration, Integer,1000, The maximum number of iterations. + printlevel, Integer,2, "0; minimum, 1; moderate, 2; verbose." + +2. Green's function (Gtau.in) + + In SPM, the values of Green's function is only used for calculation, + i.e. tau is automatically determined by the beta and the step. + Please indicate the column number where the values of G(tau) are + stored by "column" in the parameter file. diff --git a/docs/manual/source/_build/html/_sources/docs/install.rst.txt b/docs/manual/source/_build/html/_sources/docs/install.rst.txt new file mode 100644 index 0000000..ff9441a --- /dev/null +++ b/docs/manual/source/_build/html/_sources/docs/install.rst.txt @@ -0,0 +1,75 @@ +.. SpM documentation master file, created by + sphinx-quickstart on Thu Aug 10 10:08:31 2017. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +How to install +=============================== + +Requirement +-------------- +* LAPACK, BLAS +* cpplapack (included in this package) + + +Download +--------- +* **Stable version** + + You can download a stable version of the ``SpM`` program in https://github.com/SpM-lab/SpM/releases. After download the archive, decompress it by + + :: + + $ tar zxvf v1.0.tar.gz + +* **Latest codes** + + You can get the latest codes from `our GitHub repository `_. Execute the following command + + :: + + $ git clone https://github.com/SpM-lab/SpM.git spm.src + + and then the source codes are downloaded in the directory ``spm.src``. + +Build +------ + +1. First, create an empty directory and move into it: + + :: + + $ mkdir spm.build && cd spm.build + + We assume that ``spm.build`` is located on the same level as ``spm.src``. + +2. Call cmake + + :: + + $ cmake ../spm.src + + and all necessary files including ``Makefile`` are created according to your system configuration. [any cmake options?] + +3. Now, you can compile the codes by + + :: + + $ make + + The executable file ``SpM.out`` is created in the ``spm.build/src`` directory. + + +Test +------------------ + +Some sample data are provided for test calculations. +Just enter into ``samples/fermion`` directory and execute it by + +:: + + $ ./run.sh + +You may need to change the parameter ``file_exe="../SpM.out"`` in the script (absolute or relative path to ``SpM.out``) according to your environment. +If succeeded, results including graphs in EPS format are generated in ``output`` directory. +For details of the sample script, see :ref:`tutorials`. diff --git a/docs/manual/source/_build/html/_sources/docs/outputfile.rst.txt b/docs/manual/source/_build/html/_sources/docs/outputfile.rst.txt new file mode 100644 index 0000000..d206824 --- /dev/null +++ b/docs/manual/source/_build/html/_sources/docs/outputfile.rst.txt @@ -0,0 +1,245 @@ +.. SpM documentation master file, created by + sphinx-quickstart on Thu Aug 10 10:08:31 2017. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +.. _outputfiles: + +Output files +=============================== + +After computation is done, numerical results are stored in directory ``output``. + +List of files +------------------ + +:: + + output + ├── spectrum.dat + ├── lambda_dep.dat + ├── find_lambda_opt.dat + ├── SV.dat + ├── lambda_opt + │ ├── iter.dat + │ ├── x_sv.dat + │ ├── x_tw.dat + │ ├── y_sv.dat + │ └── y_tw.dat + ├── lambda + │ ├── lambda_1.00e+00 + │ │ ├── iter.dat + │ │ ├── x_sv.dat + │ │ ├── x_tw.dat + │ │ ├── y_sv.dat + │ │ └── y_tw.dat + │ ├── lambda_1.58e+00 + │ │ ├── ... + │ │ ├── ... + │ (for all values of lambda) + +The four files just below the output directory summarize the results. +More detailed results for a given value lambda are stored in directory ``lambda_*`` +In particular, the directory ``lambda_opt`` is for the optimal values of lambda, and the other directories ending with numbers, e.g. ``lambda_1.00e+00``, contain results for the specific value of lambda. + +Details of each files +--------------------------- +Each files stores list of real numbers separated with a white space. +Some comments may be given at the header of files (lines beginning with '#'). + +* *spectrum.dat* + + Real frequency spectrum :math:`\rho(\omega)` for the optimal value of :math:`\lambda`. This is the final solution. + + * 1st column: :math:`\omega_i` + * 2nd column: :math:`\rho(\omega_i)` + + ex.) calculated results for fermion sample outputted as ``samles/fermion/spectrum.dat``. + + :: + + # lambda=1.585e-02 (l=19) + -4.00000e+00 0.00000e+00 + -3.99200e+00 0.00000e+00 + -3.98400e+00 0.00000e+00 + -3.97600e+00 0.00000e+00 + +* *lambda_dep.dat* + + Several quantities as a function of lambda. + + * 1st column: :math:`\lambda` + * 2nd column: Square error in the SV basis, :math:`\| \bm{y}'-S\bm{x}' \|_2^2` (the first term in :math:`F`) + * 3rd column: Square error computed in the original basis, :math:`\| \bm{y}-K\bm{x} \|_2^2` + * 4th column: L1 norm of :math:`\bm{x}'`, :math:`\| \bm{x}' \|_1` (the second term in :math:`F`) + * 5th column: not used + + ex.) calculated results for fermion sample outputted as ``samles/fermion/lambda_dep.dat``. + + :: + + 1.00000e+02 1.09110e-01 1.13080e-01 4.81361e-02 0.00000e+00 + 6.30957e+01 1.08854e-01 1.12824e-01 4.81376e-02 0.00000e+00 + 3.98107e+01 1.08752e-01 1.12722e-01 4.81386e-02 0.00000e+00 + 2.51189e+01 1.08710e-01 1.12679e-01 4.81394e-02 0.00000e+00 + 1.58489e+01 1.08609e-01 1.12578e-01 4.81459e-02 0.00000e+00 + + +* *find_lambda_opt.dat* + + Auxiliary data that are used to determine the optimal value of lambda. See ref.?? for details. + + * 1st column: :math:`\log_{10}(\lambda)` + * 2nd column: :math:`\log_{10}(f(x)/\chi^2)` + * 3rd column: :math:`\log_{10}(\chi^2)` + * 4th column: :math:`\log_{10}(f(x))` + + ex.) calculated results for fermion sample outputted as ``samles/fermion/find_lambda_opt.dat``. + + :: + + # log(x) diff log(y) log(f(x)) [all in log10 scale] + 2.00000e+00 1.92865e-16 -9.621340e-01 -9.621340e-01 + 1.80000e+00 -8.94525e-02 -9.631547e-01 -1.052607e+00 + 1.60000e+00 -1.79519e-01 -9.635618e-01 -1.143080e+00 + 1.40000e+00 -2.69822e-01 -9.637317e-01 -1.233554e+00 + +* *SV.dat* + + Singular values of the kernel :math:`K(\tau, \omega)`. + + * 1st column: index :math:`l` (starting from 0) + * 2nd column: The singular value :math:`S_l` in descending order + + ex.) calculated results for fermion sample outputted as ``samles/fermion/find_lambda_opt.dat``. + + :: + + 0 1.07898e+02 + 1 9.75830e+01 + 2 6.93652e+01 + 3 5.27590e+01 + 4 3.57046e+01 + + +* *iter.dat* + + Several quantities as a function of the iteration number. + The 2nd--6th quantities should be small. + + * 1st column: iteration (starting from 1) + * 2nd column: :math:`\| \bm{x}'(n) - \bm{x}'(n-1) \|_1` + * 3rd column: primary residual error for the constraint :math:`\bm{z}'=\bm{x}', \| \bm{z}'-\bm{x}' \|_2` + * 4th column: dual residual error for the constraint :math:`\bm{z}'=\bm{x}'`, :math:`|| \bm{z}'(n) - \bm{z}'(n-1) ||_2` + * 5th column: primary residual error for the constraint :math:`\bm{z}=V\bm{x}'`, :math:`\| \bm{z}-V\bm{x}' \|_2` + * 6th column: dual residual error for the constraint :math:`\bm{z}=V\bm{x}'`, :math:`\| \bm{z}(n) - \bm{z}(n-1) \|_2` + * 7th column: Square error in the SV basis (the quantity of 2nd column in lambda_dep.dat) + * 8th column: :math:`\| \bm{x} \|_1'` (the quantity of 4th column in lambda_dep.dat) + * 9th column: sum of spectrum, :math:`\langle V\bm{x}' \rangle` + * 10th column: negative weight in the spectrum :math:`V\bm{x}'` + + ex.) calculated results for fermion sample outputted as ``samles/fermion/lambda_opt/iter.dat``. + + :: + + # iter diff(x,x_old) res1_pri res1_dual res2_pri res2_dual RMSE L1_norm sum(x) negative_weight + 1 3.854841e-03 2.119714e-03 1.369725e-04 5.289078e-04 4.523259e-04 5.618012e-05 9.396320e-02 1.000546e+00 3.481495e-03 + 2 2.399056e-03 1.526513e-03 3.273800e-05 4.131063e-04 6.433491e-04 5.652371e-05 9.203257e-02 1.000546e+00 2.717878e-03 + 3 2.166172e-03 1.024876e-03 1.232067e-05 4.091785e-04 6.751225e-04 5.686296e-05 9.031303e-02 1.000546e+00 3.234967e-03 + 4 1.425573e-03 8.163075e-04 4.198961e-06 3.879910e-04 4.450555e-04 5.711656e-05 8.963409e-02 1.000546e+00 3.396003e-03 + +* *x_sv.dat* + + spectrum in the SV basis (solution of the minimization problem) + + * 1st column: The singular value index :math:`l` + * 2nd column: :math:`x'_l` + * 3rd column: :math:`z'_l` (**must be sparse**) + * 4th column: :math:`V^{\rm t}\bm{z}` + + ex.) calculated results for fermion sample outputted as ``samles/fermion/lambda_opt/x_sv.dat``. + + :: + + 0 -4.61300e-02 -4.61300e-02 -4.61492e-02 + 1 1.14335e-06 0.00000e+00 -5.52982e-06 + 2 -6.65757e-03 -6.65757e-03 -6.69485e-03 + 3 -2.29934e-05 0.00000e+00 -1.16960e-05 + 4 -3.21754e-03 -3.21754e-03 -3.16677e-03 + + +* *x_tw.dat* + + spectrum \rho(\omega) in the real-frequency domain + + * 1st column: :math:`\omega_i` + * 2nd column: :math:`V\bm{x}'` + * 3rd column: :math:`V\bm{z}'` (final result for a given lambda when non-negativity is not imposed) + * 4th column: :math:`\bm{z}` (**final result** for a given lambda when non-negativity is imposed) + + ex.) calculated results for fermion sample outputted as ``samles/fermion/lambda_opt/x_tw.dat``. + + :: + + -4.00000e+00 8.98641e-04 3.95646e-03 0.00000e+00 + -3.99200e+00 8.73662e-04 3.79795e-03 0.00000e+00 + -3.98400e+00 8.41470e-04 3.64070e-03 0.00000e+00 + -3.97600e+00 8.02778e-04 3.48473e-03 0.00000e+00 + -3.96800e+00 7.58271e-04 3.33005e-03 0.00000e+00 + + +* *y_sv.dat* + + input data transformed into the SV basis + + * 1st column: The singular value index :math:`l` + * 2nd column: :math:`y'_l` computed by :math:`U^{\rm t} \bm{y}` + * 3rd column: :math:`S\bm{x}'` + * 4th column: :math:`S\bm{z}'` + + ex.) calculated results for fermion sample outputted as ``samles/fermion/lambda_opt/y_sv.dat``. + + :: + + 0 -4.97866e+00 -4.97734e+00 -4.97734e+00 + 1 1.16952e-04 1.11571e-04 0.00000e+00 + 2 -4.63728e-01 -4.61804e-01 -4.61804e-01 + 3 -1.28769e-03 -1.21311e-03 0.00000e+00 + 4 -1.13754e-01 -1.14881e-01 -1.14881e-01 + +* *y_tw.dat* + + input data :math:`G(\tau)` in the imaginary-time domain + + * 1st column: :math:`\tau_i` + * 2nd column: :math:`y_i=G(\tau_i)` (**input data**) + * 3rd column: :math:`U S \bm{x}'` + * 4th column: :math:`U S \bm{z}'` + + ex.) calculated results for fermion sample outputted as ``samles/fermion/lambda_opt/y_tw.dat``. + + :: + + 0.00000e+00 5.00734e-01 5.00687e-01 5.00294e-01 + 2.49938e-04 4.90130e-01 4.90315e-01 4.89958e-01 + 4.99875e-04 4.81350e-01 4.80277e-01 4.79953e-01 + 7.49813e-04 4.71476e-01 4.70561e-01 4.70268e-01 + 9.99750e-04 4.61762e-01 4.61154e-01 4.60890e-01 + +.. + + How to generate PDF files + ----------------------------- + + Gnuplot script files are given in the sample directory. + In the ``output`` directory, type + + :: + + gnuplot path_to_SpM/samples/plt/* + + and in ``lambda_*`` directory, type + + :: + + gnuplot path_to_SpM/samples/plt/lambda_fix/* diff --git a/docs/manual/source/_build/html/_sources/docs/tutorials.rst.txt b/docs/manual/source/_build/html/_sources/docs/tutorials.rst.txt new file mode 100644 index 0000000..0bcfb13 --- /dev/null +++ b/docs/manual/source/_build/html/_sources/docs/tutorials.rst.txt @@ -0,0 +1,169 @@ +.. SpM documentation master file, created by + sphinx-quickstart on Thu Aug 10 10:08:31 2017. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +.. _tutorials: + +Tutorials +=============================== + +Sample data are provided both for fermionic and bosonic cases: + + - ``samples/fermion`` # a sample for fermionic spectrum (data in the article) + - ``samples/boson`` # a sample for bosonic spectrum + +Here, an explanation is given for the fermionic case. + +Script +---------------------------------- + +User can execute all the steps explained below using a single script file ``run.sh``. +Edit some variables in the top of the script (explained later) and then run the script by + +:: + + $ ./run.sh + +If succeeded, text files containing numerical data and graphs in EPS format are generated in ``output`` directory. +There are some parameters to control the behavior of the script; + +:: + + # ========================= + file_exe="../SpM.out" + dir_plt="../plt" + plot_level=1 # 0: no plot, 1: plot major data, 2: plot all data + eps_or_pdf='eps' # 'eps' or 'pdf' (epstopdf is required) + # ========================= + +The fist one must be modified, at least, before running. + +Make input files +---------------------------------- + +#. Green's function + + Input data for the imaginary time Green's function :math:`G(\tau)` should be provided on a linearly discretized mesh between :math:`\tau=0` and :math:`\beta`. + The file ``Gtau.in`` contains sample data in the following manner + + :: + + #beta=100.000000 + #omega_max=4.000000 + 0.0 -0.500733991018 -0.499999977255 + 0.00025 -0.490129692246 -0.489780138726 + 0.0005 -0.481350067927 -0.47987901351 + 0.00075 -0.471476482364 -0.470285052549 + 0.001 -0.46176235397 -0.460987168435 + ... + 0.999 -0.461487347988 -0.460987168435 + 0.99925 -0.467256984842 -0.470285052549 + 0.9995 -0.479129683576 -0.47987901351 + 0.99975 -0.490428417896 -0.489780138726 + 1.0 -0.499812460744 -0.499999977255 + + Lines beginning with '#' are skipped. + There are 3 columns, which corresponds to :math:`\tau_i/\beta`, :math:`G^{\rm input}(\tau_i)`, and :math:`G^{\rm exact}(\tau_i)`. + ``SpM`` program actually reads only one column, in this case, the second column containing :math:`G^{\rm input}(\tau_i)`. + User is requested to specify with ``column`` parameter which column should be read. + Note that the value of :math:`G(\tau=\beta)` needs to be given in order to evaluate the integral intensity of :math:`\rho(\omega)`. It means that the integrated intensity is not necessarily be equal to 1 (0 for off-diagonal Green's function and some finite value for the self energy). + +#. Parameters + + Parameters are passed to the ``SpM`` program by a text file. + The file ``param.in`` shows a setting used in obtaining the demonstrative results; + + :: + + # INPUT/OUTPUT + statistics="fermion" + beta=100 + filein_G="Gtau.in" + column=1 + fileout_spec="spectrum.dat" + # OMEGA + Nomega=1001 + omegamin=-4 + omegamax=4 + # ADMM + lambdalogbegin=2 + lambdalogend=-6 + tolerance=1e-10 + maxiteration=1000 + + As in Gtau.in, lines beginning with '#' are skipped. + For details of each parameter and further optional parameters, see :ref:`inputfiles` + + +Run SpM +------- + +In the directory ``samples/fermion/``, just type the command + +:: + + $ build_directory/src/SpM.out -i param.in + +Results +------- + +Results are stored as ordinary text format in ``output`` directory. +See :ref:`outputfiles` for details of each file. + + +Plot +------------- + +User can generate graphs either in EPS format or in PDF format using gnuplot. +Move into directory ``output``, and type + +:: + + gnuplot path_to_SpM/samples/plt/* + +to generate EPS files of main results. If you prefer PDF format, put ``flag_pdf=1`` option as + +:: + + gnuplot -e flag_pdf=1 path_to_SpM/samples/plt/* + +Note that it requires ``epstopdf`` program in the PATH. +Next, move into directory ``lambda_opt`` and type + +:: + + gnuplot path_to_SpM/samples/plt/lambda_opt/* + +Detailed results for the optimal value of :math:`\lambda` are then plotted. +Again, the option ``flag_pdf=1`` may be put to obtain PDF files. + +Let us look at some graphs below. + +- *spectrum.eps* + + The final result for the spectrum :math:`\rho(\omega)` is given in the file ``output/spectrum.eps``. + + .. image:: figs/spectrum.jpg + + The red line shows the computed spectrum, and the blue line shows the exact spectrum, which is provided in the file ``Gtau.in.dos`` (not output of the ``SpM`` program). + +- *find_lambda_opt.eps* + + User should check how the regularization parameter :math:`\lambda` is determined and whether the choice is reasonable. + Loot at the file ``output/find_lambda_opt.eps`` + + .. image:: figs/find_lambda_opt.jpg + + The peak position gives the optimal choice :math:`\lambda_{\rm opt}=10^{-1.8}`. + If the peak is not clear, the choice might not be reasonable. In this case, accuracy of the input should be improved. + +- *y_sv-log.eps* + + One can see how much information in the input data is used for constructing the spectrum. + See the file ``output/lambda_opt/y_sv-log.eps`` + + .. image:: figs/y_sv-log.jpg + + The light blue points show the input data :math:`G'_l` transformed into the SVD basis, and red circles are data used in computing :math:`\rho(\omega)` above. + The blue points show, for comparison, the exact :math:`G'_l` without noise, which is provided in the file ``Gtau.in.sv_basis`` (not output of the ``SpM`` program). diff --git a/docs/manual/source/_build/html/_sources/index.rst.txt b/docs/manual/source/_build/html/_sources/index.rst.txt new file mode 100644 index 0000000..590459d --- /dev/null +++ b/docs/manual/source/_build/html/_sources/index.rst.txt @@ -0,0 +1,40 @@ +.. SpM documentation master file, created by + sphinx-quickstart on Thu Aug 10 10:08:31 2017. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +Welcome to SpM's documentation! +=============================== +This is a documentation of Sparse Modeling (SpM) tool for analytical continuation. + +What is SpM ? +------------- +A sparse-modeling tool for computing the spectral function from the imaginary-time Green function. It removes statistical errors in quantum Monte Carlo data, and performs a stable analytical continuation. The obtained spectral function fulfills the non-negativity and the sum rule. The computation is fast and free from tuning parameters. + +License +-------------- +This package is distributed under GNU General Public License version 3 (GPL v3). + +We kindly ask you to cite the article + + J. Otsuki, M. Ohzeki, H. Shinaoka, K. Yoshimi, + "*Sparse modeling approach to analytical continuation of imaginary-time quantum Monte Carlo data*" + `Phys. Rev. E 95, 061302(R) (2017) `_. + +in publications that includes results obtained using this package. + + +Contents +-------- +.. toctree:: + :maxdepth: 2 + :numbered: + :glob: + + docs/install.rst + docs/tutorials.rst + docs/algorithm.rst + docs/function.rst + docs/inputfile.rst + docs/outputfile.rst + diff --git a/docs/manual/source/_build/html/_static/SpM.png b/docs/manual/source/_build/html/_static/SpM.png new file mode 100644 index 0000000000000000000000000000000000000000..b8b1117f6f99753f437714000f52c79633d717ee GIT binary patch literal 3593 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 P00000NkvXXu0mjf2s^PA literal 0 HcmV?d00001 diff --git a/docs/manual/source/_build/html/_static/ajax-loader.gif b/docs/manual/source/_build/html/_static/ajax-loader.gif new file mode 100644 index 0000000000000000000000000000000000000000..61faf8cab23993bd3e1560bff0668bd628642330 GIT binary patch literal 673 zcmZ?wbhEHb6krfw_{6~Q|Nno%(3)e{?)x>&1u}A`t?OF7Z|1gRivOgXi&7IyQd1Pl zGfOfQ60;I3a`F>X^fL3(@);C=vM_KlFfb_o=k{|A33hf2a5d61U}gjg=>Rd%XaNQW zW@Cw{|b%Y*pl8F?4B9 zlo4Fz*0kZGJabY|>}Okf0}CCg{u4`zEPY^pV?j2@h+|igy0+Kz6p;@SpM4s6)XEMg z#3Y4GX>Hjlml5ftdH$4x0JGdn8~MX(U~_^d!Hi)=HU{V%g+mi8#UGbE-*ao8f#h+S z2a0-5+vc7MU$e-NhmBjLIC1v|)9+Im8x1yacJ7{^tLX(ZhYi^rpmXm0`@ku9b53aN zEXH@Y3JaztblgpxbJt{AtE1ad1Ca>{v$rwwvK(>{m~Gf_=-Ro7Fk{#;i~+{{>QtvI yb2P8Zac~?~=sRA>$6{!(^3;ZP0TPFR(G_-UDU(8Jl0?(IXu$~#4A!880|o%~Al1tN literal 0 HcmV?d00001 diff --git a/docs/manual/source/_build/html/_static/alabaster.css b/docs/manual/source/_build/html/_static/alabaster.css new file mode 100644 index 0000000..1d1dc4d --- /dev/null +++ b/docs/manual/source/_build/html/_static/alabaster.css @@ -0,0 +1,693 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +@import url("basic.css"); + +/* -- page layout ----------------------------------------------------------- */ + +body { + font-family: Georgia; + font-size: 17px; + background-color: #fff; + color: #000; + margin: 0; + padding: 0; +} + + +div.document { + width: 940px; + margin: 30px auto 0 auto; +} + +div.documentwrapper { + float: left; + width: 100%; +} + +div.bodywrapper { + margin: 0 0 0 220px; +} + +div.sphinxsidebar { + width: 220px; + font-size: 14px; + line-height: 1.5; +} + +hr { + border: 1px solid #B1B4B6; +} + +div.body { + background-color: #fff; + color: #3E4349; + padding: 0 30px 0 30px; +} + +div.body > .section { + text-align: left; +} + +div.footer { + width: 940px; + margin: 20px auto 30px auto; + font-size: 14px; + color: #888; + text-align: right; +} + +div.footer a { + color: #888; +} + +p.caption { + font-family: inherit; + font-size: inherit; +} + + +div.relations { + display: none; +} + + +div.sphinxsidebar a { + color: #444; + text-decoration: none; + border-bottom: 1px dotted #999; +} + +div.sphinxsidebar a:hover { + border-bottom: 1px solid #999; +} + +div.sphinxsidebarwrapper { + padding: 18px 10px; +} + +div.sphinxsidebarwrapper p.logo { + padding: 0; + margin: -10px 0 0 0px; + text-align: center; +} + +div.sphinxsidebarwrapper h1.logo { + margin-top: -10px; + text-align: center; + margin-bottom: 5px; + text-align: left; +} + +div.sphinxsidebarwrapper h1.logo-name { + margin-top: 0px; +} + +div.sphinxsidebarwrapper p.blurb { + margin-top: 0; + font-style: normal; +} + +div.sphinxsidebar h3, +div.sphinxsidebar h4 { + font-family: 'Garamond', 'Georgia', serif; + color: #444; + font-size: 24px; + font-weight: normal; + margin: 0 0 5px 0; + padding: 0; +} + +div.sphinxsidebar h4 { + font-size: 20px; +} + +div.sphinxsidebar h3 a { + color: #444; +} + +div.sphinxsidebar p.logo a, +div.sphinxsidebar h3 a, +div.sphinxsidebar p.logo a:hover, +div.sphinxsidebar h3 a:hover { + border: none; +} + +div.sphinxsidebar p { + color: #555; + margin: 10px 0; +} + +div.sphinxsidebar ul { + margin: 10px 0; + padding: 0; + color: #000; +} + +div.sphinxsidebar ul li.toctree-l1 > a { + font-size: 120%; +} + +div.sphinxsidebar ul li.toctree-l2 > a { + font-size: 110%; +} + +div.sphinxsidebar input { + border: 1px solid pink_1; + font-family: Georgia; + font-size: 1em; +} + +div.sphinxsidebar hr { + border: none; + height: 1px; + color: #AAA; + background: #AAA; + + text-align: left; + margin-left: 0; + width: 50%; +} + +/* -- body styles ----------------------------------------------------------- */ + +a { + color: #004B6B; + text-decoration: underline; +} + +a:hover { + color: #6D4100; + text-decoration: underline; +} + +div.body h1, +div.body h2, +div.body h3, +div.body h4, +div.body h5, +div.body h6 { + font-family: 'Garamond', 'Georgia', serif; + font-weight: normal; + margin: 30px 0px 10px 0px; + padding: 0; +} + +div.body h1 { margin-top: 0; padding-top: 0; font-size: 240%; } +div.body h2 { font-size: 180%; } +div.body h3 { font-size: 150%; } +div.body h4 { font-size: 130%; } +div.body h5 { font-size: 100%; } +div.body h6 { font-size: 100%; } + +a.headerlink { + color: #DDD; + padding: 0 4px; + text-decoration: none; +} + +a.headerlink:hover { + color: #444; + background: #EAEAEA; +} + +div.body p, div.body dd, div.body li { + line-height: 1.4em; +} + +div.admonition { + margin: 20px 0px; + padding: 10px 30px; + background-color: #EEE; + border: 1px solid #CCC; +} + +div.admonition tt.xref, div.admonition code.xref, div.admonition a tt { + background-color: #FBFBFB; + border-bottom: 1px solid #fafafa; +} + +div.admonition p.admonition-title { + font-family: 'Garamond', 'Georgia', serif; + font-weight: normal; + font-size: 24px; + margin: 0 0 10px 0; + padding: 0; + line-height: 1; +} + +div.admonition p.last { + margin-bottom: 0; +} + +div.highlight { + background-color: #fff; +} + +dt:target, .highlight { + background: #FAF3E8; +} + +div.warning { + background-color: #FCC; + border: 1px solid #FAA; +} + +div.danger { + background-color: #FCC; + border: 1px solid #FAA; + -moz-box-shadow: 2px 2px 4px #D52C2C; + -webkit-box-shadow: 2px 2px 4px #D52C2C; + box-shadow: 2px 2px 4px #D52C2C; +} + +div.error { + background-color: #FCC; + border: 1px solid #FAA; + -moz-box-shadow: 2px 2px 4px #D52C2C; + -webkit-box-shadow: 2px 2px 4px #D52C2C; + box-shadow: 2px 2px 4px #D52C2C; +} + +div.caution { + background-color: #FCC; + border: 1px solid #FAA; +} + +div.attention { + background-color: #FCC; + border: 1px solid #FAA; +} + +div.important { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.note { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.tip { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.hint { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.seealso { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.topic { + background-color: #EEE; +} + +p.admonition-title { + display: inline; +} + +p.admonition-title:after { + content: ":"; +} + +pre, tt, code { + font-family: 'Consolas', 'Menlo', 'Deja Vu Sans Mono', 'Bitstream Vera Sans Mono', monospace; + font-size: 0.9em; +} + +.hll { + background-color: #FFC; + margin: 0 -12px; + padding: 0 12px; + display: block; +} + +img.screenshot { +} + +tt.descname, tt.descclassname, code.descname, code.descclassname { + font-size: 0.95em; +} + +tt.descname, code.descname { + padding-right: 0.08em; +} + +img.screenshot { + -moz-box-shadow: 2px 2px 4px #EEE; + -webkit-box-shadow: 2px 2px 4px #EEE; + box-shadow: 2px 2px 4px #EEE; +} + +table.docutils { + border: 1px solid #888; + -moz-box-shadow: 2px 2px 4px #EEE; + -webkit-box-shadow: 2px 2px 4px #EEE; + box-shadow: 2px 2px 4px #EEE; +} + +table.docutils td, table.docutils th { + border: 1px solid #888; + padding: 0.25em 0.7em; +} + +table.field-list, table.footnote { + border: none; + -moz-box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; +} + +table.footnote { + margin: 15px 0; + width: 100%; + border: 1px solid #EEE; + background: #FDFDFD; + font-size: 0.9em; +} + +table.footnote + table.footnote { + margin-top: -15px; + border-top: none; +} + +table.field-list th { + padding: 0 0.8em 0 0; +} + +table.field-list td { + padding: 0; +} + +table.field-list p { + margin-bottom: 0.8em; +} + +/* Cloned from + * https://github.com/sphinx-doc/sphinx/commit/ef60dbfce09286b20b7385333d63a60321784e68 + */ +.field-name { + -moz-hyphens: manual; + -ms-hyphens: manual; + -webkit-hyphens: manual; + hyphens: manual; +} + +table.footnote td.label { + width: .1px; + padding: 0.3em 0 0.3em 0.5em; +} + +table.footnote td { + padding: 0.3em 0.5em; +} + +dl { + margin: 0; + padding: 0; +} + +dl dd { + margin-left: 30px; +} + +blockquote { + margin: 0 0 0 30px; + padding: 0; +} + +ul, ol { + /* Matches the 30px from the narrow-screen "li > ul" selector below */ + margin: 10px 0 10px 30px; + padding: 0; +} + +pre { + background: #EEE; + padding: 7px 30px; + margin: 15px 0px; + line-height: 1.3em; +} + +div.viewcode-block:target { + background: #ffd; +} + +dl pre, blockquote pre, li pre { + margin-left: 0; + padding-left: 30px; +} + +tt, code { + background-color: #ecf0f3; + color: #222; + /* padding: 1px 2px; */ +} + +tt.xref, code.xref, a tt { + background-color: #FBFBFB; + border-bottom: 1px solid #fff; +} + +a.reference { + text-decoration: none; + border-bottom: 1px dotted #004B6B; +} + +/* Don't put an underline on images */ +a.image-reference, a.image-reference:hover { + border-bottom: none; +} + +a.reference:hover { + border-bottom: 1px solid #6D4100; +} + +a.footnote-reference { + text-decoration: none; + font-size: 0.7em; + vertical-align: top; + border-bottom: 1px dotted #004B6B; +} + +a.footnote-reference:hover { + border-bottom: 1px solid #6D4100; +} + +a:hover tt, a:hover code { + background: #EEE; +} + + +@media screen and (max-width: 870px) { + + div.sphinxsidebar { + display: none; + } + + div.document { + width: 100%; + + } + + div.documentwrapper { + margin-left: 0; + margin-top: 0; + margin-right: 0; + margin-bottom: 0; + } + + div.bodywrapper { + margin-top: 0; + margin-right: 0; + margin-bottom: 0; + margin-left: 0; + } + + ul { + margin-left: 0; + } + + li > ul { + /* Matches the 30px from the "ul, ol" selector above */ + margin-left: 30px; + } + + .document { + width: auto; + } + + .footer { + width: auto; + } + + .bodywrapper { + margin: 0; + } + + .footer { + width: auto; + } + + .github { + display: none; + } + + + +} + + + +@media screen and (max-width: 875px) { + + body { + margin: 0; + padding: 20px 30px; + } + + div.documentwrapper { + float: none; + background: #fff; + } + + div.sphinxsidebar { + display: block; + float: none; + width: 102.5%; + margin: 50px -30px -20px -30px; + padding: 10px 20px; + background: #333; + color: #FFF; + } + + div.sphinxsidebar h3, div.sphinxsidebar h4, div.sphinxsidebar p, + div.sphinxsidebar h3 a { + color: #fff; + } + + div.sphinxsidebar a { + color: #AAA; + } + + div.sphinxsidebar p.logo { + display: none; + } + + div.document { + width: 100%; + margin: 0; + } + + div.footer { + display: none; + } + + div.bodywrapper { + margin: 0; + } + + div.body { + min-height: 0; + padding: 0; + } + + .rtd_doc_footer { + display: none; + } + + .document { + width: auto; + } + + .footer { + width: auto; + } + + .footer { + width: auto; + } + + .github { + display: none; + } +} + + +/* misc. */ + +.revsys-inline { + display: none!important; +} + +/* Make nested-list/multi-paragraph items look better in Releases changelog + * pages. Without this, docutils' magical list fuckery causes inconsistent + * formatting between different release sub-lists. + */ +div#changelog > div.section > ul > li > p:only-child { + margin-bottom: 0; +} + +/* Hide fugly table cell borders in ..bibliography:: directive output */ +table.docutils.citation, table.docutils.citation td, table.docutils.citation th { + border: none; + /* Below needed in some edge cases; if not applied, bottom shadows appear */ + -moz-box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; +} \ No newline at end of file diff --git a/docs/manual/source/_build/html/_static/basic.css b/docs/manual/source/_build/html/_static/basic.css new file mode 100644 index 0000000..19ced10 --- /dev/null +++ b/docs/manual/source/_build/html/_static/basic.css @@ -0,0 +1,665 @@ +/* + * basic.css + * ~~~~~~~~~ + * + * Sphinx stylesheet -- basic theme. + * + * :copyright: Copyright 2007-2018 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/* -- main layout ----------------------------------------------------------- */ + +div.clearer { + clear: both; +} + +/* -- relbar ---------------------------------------------------------------- */ + +div.related { + width: 100%; + font-size: 90%; +} + +div.related h3 { + display: none; +} + +div.related ul { + margin: 0; + padding: 0 0 0 10px; + list-style: none; +} + +div.related li { + display: inline; +} + +div.related li.right { + float: right; + margin-right: 5px; +} + +/* -- sidebar --------------------------------------------------------------- */ + +div.sphinxsidebarwrapper { + padding: 10px 5px 0 10px; +} + +div.sphinxsidebar { + float: left; + width: 230px; + margin-left: -100%; + font-size: 90%; + word-wrap: break-word; + overflow-wrap : break-word; +} + +div.sphinxsidebar ul { + list-style: none; +} + +div.sphinxsidebar ul ul, +div.sphinxsidebar ul.want-points { + margin-left: 20px; + list-style: square; +} + +div.sphinxsidebar ul ul { + margin-top: 0; + margin-bottom: 0; +} + +div.sphinxsidebar form { + margin-top: 10px; +} + +div.sphinxsidebar input { + border: 1px solid #98dbcc; + font-family: sans-serif; + font-size: 1em; +} + +div.sphinxsidebar #searchbox input[type="text"] { + float: left; + width: 80%; + padding: 0.25em; + box-sizing: border-box; +} + +div.sphinxsidebar #searchbox input[type="submit"] { + float: left; + width: 20%; + border-left: none; + padding: 0.25em; + box-sizing: border-box; +} + + +img { + border: 0; + max-width: 100%; +} + +/* -- search page ----------------------------------------------------------- */ + +ul.search { + margin: 10px 0 0 20px; + padding: 0; +} + +ul.search li { + padding: 5px 0 5px 20px; + background-image: url(file.png); + background-repeat: no-repeat; + background-position: 0 7px; +} + +ul.search li a { + font-weight: bold; +} + +ul.search li div.context { + color: #888; + margin: 2px 0 0 30px; + text-align: left; +} + +ul.keywordmatches li.goodmatch a { + font-weight: bold; +} + +/* -- index page ------------------------------------------------------------ */ + +table.contentstable { + width: 90%; + margin-left: auto; + margin-right: auto; +} + +table.contentstable p.biglink { + line-height: 150%; +} + +a.biglink { + font-size: 1.3em; +} + +span.linkdescr { + font-style: italic; + padding-top: 5px; + font-size: 90%; +} + +/* -- general index --------------------------------------------------------- */ + +table.indextable { + width: 100%; +} + +table.indextable td { + text-align: left; + vertical-align: top; +} + +table.indextable ul { + margin-top: 0; + margin-bottom: 0; + list-style-type: none; +} + +table.indextable > tbody > tr > td > ul { + padding-left: 0em; +} + +table.indextable tr.pcap { + height: 10px; +} + +table.indextable tr.cap { + margin-top: 10px; + background-color: #f2f2f2; +} + +img.toggler { + margin-right: 3px; + margin-top: 3px; + cursor: pointer; +} + +div.modindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +div.genindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +/* -- domain module index --------------------------------------------------- */ + +table.modindextable td { + padding: 2px; + border-collapse: collapse; +} + +/* -- general body styles --------------------------------------------------- */ + +div.body { + min-width: 450px; + max-width: 800px; +} + +div.body p, div.body dd, div.body li, div.body blockquote { + -moz-hyphens: auto; + -ms-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; +} + +a.headerlink { + visibility: hidden; +} + +h1:hover > a.headerlink, +h2:hover > a.headerlink, +h3:hover > a.headerlink, +h4:hover > a.headerlink, +h5:hover > a.headerlink, +h6:hover > a.headerlink, +dt:hover > a.headerlink, +caption:hover > a.headerlink, +p.caption:hover > a.headerlink, +div.code-block-caption:hover > a.headerlink { + visibility: visible; +} + +div.body p.caption { + text-align: inherit; +} + +div.body td { + text-align: left; +} + +.first { + margin-top: 0 !important; +} + +p.rubric { + margin-top: 30px; + font-weight: bold; +} + +img.align-left, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; +} + +img.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; +} + +img.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-right { + text-align: right; +} + +/* -- sidebars -------------------------------------------------------------- */ + +div.sidebar { + margin: 0 0 0.5em 1em; + border: 1px solid #ddb; + padding: 7px 7px 0 7px; + background-color: #ffe; + width: 40%; + float: right; +} + +p.sidebar-title { + font-weight: bold; +} + +/* -- topics ---------------------------------------------------------------- */ + +div.topic { + border: 1px solid #ccc; + padding: 7px 7px 0 7px; + margin: 10px 0 10px 0; +} + +p.topic-title { + font-size: 1.1em; + font-weight: bold; + margin-top: 10px; +} + +/* -- admonitions ----------------------------------------------------------- */ + +div.admonition { + margin-top: 10px; + margin-bottom: 10px; + padding: 7px; +} + +div.admonition dt { + font-weight: bold; +} + +div.admonition dl { + margin-bottom: 0; +} + +p.admonition-title { + margin: 0px 10px 5px 0px; + font-weight: bold; +} + +div.body p.centered { + text-align: center; + margin-top: 25px; +} + +/* -- tables ---------------------------------------------------------------- */ + +table.docutils { + border: 0; + border-collapse: collapse; +} + +table.align-center { + margin-left: auto; + margin-right: auto; +} + +table caption span.caption-number { + font-style: italic; +} + +table caption span.caption-text { +} + +table.docutils td, table.docutils th { + padding: 1px 8px 1px 5px; + border-top: 0; + border-left: 0; + border-right: 0; + border-bottom: 1px solid #aaa; +} + +table.footnote td, table.footnote th { + border: 0 !important; +} + +th { + text-align: left; + padding-right: 5px; +} + +table.citation { + border-left: solid 1px gray; + margin-left: 1px; +} + +table.citation td { + border-bottom: none; +} + +/* -- figures --------------------------------------------------------------- */ + +div.figure { + margin: 0.5em; + padding: 0.5em; +} + +div.figure p.caption { + padding: 0.3em; +} + +div.figure p.caption span.caption-number { + font-style: italic; +} + +div.figure p.caption span.caption-text { +} + +/* -- field list styles ----------------------------------------------------- */ + +table.field-list td, table.field-list th { + border: 0 !important; +} + +.field-list ul { + margin: 0; + padding-left: 1em; +} + +.field-list p { + margin: 0; +} + +.field-name { + -moz-hyphens: manual; + -ms-hyphens: manual; + -webkit-hyphens: manual; + hyphens: manual; +} + +/* -- other body styles ----------------------------------------------------- */ + +ol.arabic { + list-style: decimal; +} + +ol.loweralpha { + list-style: lower-alpha; +} + +ol.upperalpha { + list-style: upper-alpha; +} + +ol.lowerroman { + list-style: lower-roman; +} + +ol.upperroman { + list-style: upper-roman; +} + +dl { + margin-bottom: 15px; +} + +dd p { + margin-top: 0px; +} + +dd ul, dd table { + margin-bottom: 10px; +} + +dd { + margin-top: 3px; + margin-bottom: 10px; + margin-left: 30px; +} + +dt:target, span.highlighted { + background-color: #fbe54e; +} + +rect.highlighted { + fill: #fbe54e; +} + +dl.glossary dt { + font-weight: bold; + font-size: 1.1em; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.versionmodified { + font-style: italic; +} + +.system-message { + background-color: #fda; + padding: 5px; + border: 3px solid red; +} + +.footnote:target { + background-color: #ffa; +} + +.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; +} + +.line-block .line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; +} + +.guilabel, .menuselection { + font-family: sans-serif; +} + +.accelerator { + text-decoration: underline; +} + +.classifier { + font-style: oblique; +} + +abbr, acronym { + border-bottom: dotted 1px; + cursor: help; +} + +/* -- code displays --------------------------------------------------------- */ + +pre { + overflow: auto; + overflow-y: hidden; /* fixes display issues on Chrome browsers */ +} + +span.pre { + -moz-hyphens: none; + -ms-hyphens: none; + -webkit-hyphens: none; + hyphens: none; +} + +td.linenos pre { + padding: 5px 0px; + border: 0; + background-color: transparent; + color: #aaa; +} + +table.highlighttable { + margin-left: 0.5em; +} + +table.highlighttable td { + padding: 0 0.5em 0 0.5em; +} + +div.code-block-caption { + padding: 2px 5px; + font-size: small; +} + +div.code-block-caption code { + background-color: transparent; +} + +div.code-block-caption + div > div.highlight > pre { + margin-top: 0; +} + +div.code-block-caption span.caption-number { + padding: 0.1em 0.3em; + font-style: italic; +} + +div.code-block-caption span.caption-text { +} + +div.literal-block-wrapper { + padding: 1em 1em 0; +} + +div.literal-block-wrapper div.highlight { + margin: 0; +} + +code.descname { + background-color: transparent; + font-weight: bold; + font-size: 1.2em; +} + +code.descclassname { + background-color: transparent; +} + +code.xref, a code { + background-color: transparent; + font-weight: bold; +} + +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + background-color: transparent; +} + +.viewcode-link { + float: right; +} + +.viewcode-back { + float: right; + font-family: sans-serif; +} + +div.viewcode-block:target { + margin: -1px -10px; + padding: 0 10px; +} + +/* -- math display ---------------------------------------------------------- */ + +img.math { + vertical-align: middle; +} + +div.body div.math p { + text-align: center; +} + +span.eqno { + float: right; +} + +span.eqno a.headerlink { + position: relative; + left: 0px; + z-index: 1; +} + +div.math:hover a.headerlink { + visibility: visible; +} + +/* -- printout stylesheet --------------------------------------------------- */ + +@media print { + div.document, + div.documentwrapper, + div.bodywrapper { + margin: 0 !important; + width: 100%; + } + + div.sphinxsidebar, + div.related, + div.footer, + #top-link { + display: none; + } +} \ No newline at end of file diff --git a/docs/manual/source/_build/html/_static/comment-bright.png b/docs/manual/source/_build/html/_static/comment-bright.png new file mode 100644 index 0000000000000000000000000000000000000000..15e27edb12ac25701ac0ac21b97b52bb4e45415e GIT binary patch literal 756 zcmVgfIX78 z$8Pzv({A~p%??+>KickCb#0FM1rYN=mBmQ&Nwp<#JXUhU;{|)}%&s>suq6lXw*~s{ zvHx}3C%<;wE5CH!BR{p5@ml9ws}y)=QN-kL2?#`S5d*6j zk`h<}j1>tD$b?4D^N9w}-k)bxXxFg>+#kme^xx#qg6FI-%iv2U{0h(Y)cs%5a|m%Pn_K3X_bDJ>EH#(Fb73Z zfUt2Q3B>N+ot3qb*DqbTZpFIn4a!#_R-}{?-~Hs=xSS6p&$sZ-k1zDdtqU`Y@`#qL z&zv-~)Q#JCU(dI)Hf;$CEnK=6CK50}q7~wdbI->?E07bJ0R;!GSQTs5Am`#;*WHjvHRvY?&$Lm-vq1a_BzocI^ULXV!lbMd%|^B#fY;XX)n<&R^L z=84u1e_3ziq;Hz-*k5~zwY3*oDKt0;bM@M@@89;@m*4RFgvvM_4;5LB!@OB@^WbVT zjl{t;a8_>od-~P4 m{5|DvB&z#xT;*OnJqG}gk~_7HcNkCr0000W zanA~u9RIXo;n7c96&U)YLgs-FGlx~*_c{Jgvesu1E5(8YEf&5wF=YFPcRe@1=MJmi zag(L*xc2r0(slpcN!vC5CUju;vHJkHc*&70_n2OZsK%O~A=!+YIw z7zLLl7~Z+~RgWOQ=MI6$#0pvpu$Q43 zP@36QAmu6!_9NPM?o<1_!+stoVRRZbW9#SPe!n;#A_6m8f}|xN1;H{`0RoXQ2LM47 zt(g;iZ6|pCb@h2xk&(}S3=EVBUO0e90m2Lp5CB<(SPIaB;n4))3JB87Or#XPOPcum z?<^(g+m9}VNn4Y&B`g8h{t_$+RB1%HKRY6fjtd-<7&EsU;vs0GM(Lmbhi%Gwcfs0FTF}T zL{_M6Go&E0Eg8FuB*(Yn+Z*RVTBE@10eIOb3El^MhO`GabDll(V0&FlJi2k^;q8af zkENdk2}x2)_KVp`5OAwXZM;dG0?M-S)xE1IKDi6BY@5%Or?#aZ9$gcX)dPZ&wA1a< z$rFXHPn|TBf`e?>Are8sKtKrKcjF$i^lp!zkL?C|y^vlHr1HXeVJd;1I~g&Ob-q)& z(fn7s-KI}G{wnKzg_U5G(V%bX6uk zIa+<@>rdmZYd!9Y=C0cuchrbIjuRB_Wq{-RXlic?flu1*_ux}x%(HDH&nT`k^xCeC ziHi1!ChH*sQ6|UqJpTTzX$aw8e(UfcS^f;6yBWd+(1-70zU(rtxtqR%j z-lsH|CKQJXqD{+F7V0OTv8@{~(wp(`oIP^ZykMWgR>&|RsklFMCnOo&Bd{le} zV5F6424Qzl;o2G%oVvmHgRDP9!=rK8fy^!yV8y*4p=??uIRrrr0?>O!(z*g5AvL2!4z0{sq%vhG*Po}`a<6%kTK5TNhtC8}rXNu&h^QH4A&Sk~Autm*s~45(H7+0bi^MraaRVzr05hQ3iK?j` zR#U@^i0WhkIHTg29u~|ypU?sXCQEQgXfObPW;+0YAF;|5XyaMAEM0sQ@4-xCZe=0e z7r$ofiAxn@O5#RodD8rh5D@nKQ;?lcf@tg4o+Wp44aMl~c47azN_(im0N)7OqdPBC zGw;353_o$DqGRDhuhU$Eaj!@m000000NkvXXu0mjfjZ7Z_ literal 0 HcmV?d00001 diff --git a/docs/manual/source/_build/html/_static/custom.css b/docs/manual/source/_build/html/_static/custom.css new file mode 100644 index 0000000..2a924f1 --- /dev/null +++ b/docs/manual/source/_build/html/_static/custom.css @@ -0,0 +1 @@ +/* This file intentionally left blank. */ diff --git a/docs/manual/source/_build/html/_static/doctools.js b/docs/manual/source/_build/html/_static/doctools.js new file mode 100644 index 0000000..0c15c00 --- /dev/null +++ b/docs/manual/source/_build/html/_static/doctools.js @@ -0,0 +1,311 @@ +/* + * doctools.js + * ~~~~~~~~~~~ + * + * Sphinx JavaScript utilities for all documentation. + * + * :copyright: Copyright 2007-2018 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/** + * select a different prefix for underscore + */ +$u = _.noConflict(); + +/** + * make the code below compatible with browsers without + * an installed firebug like debugger +if (!window.console || !console.firebug) { + var names = ["log", "debug", "info", "warn", "error", "assert", "dir", + "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", + "profile", "profileEnd"]; + window.console = {}; + for (var i = 0; i < names.length; ++i) + window.console[names[i]] = function() {}; +} + */ + +/** + * small helper function to urldecode strings + */ +jQuery.urldecode = function(x) { + return decodeURIComponent(x).replace(/\+/g, ' '); +}; + +/** + * small helper function to urlencode strings + */ +jQuery.urlencode = encodeURIComponent; + +/** + * This function returns the parsed url parameters of the + * current request. Multiple values per key are supported, + * it will always return arrays of strings for the value parts. + */ +jQuery.getQueryParameters = function(s) { + if (typeof s === 'undefined') + s = document.location.search; + var parts = s.substr(s.indexOf('?') + 1).split('&'); + var result = {}; + for (var i = 0; i < parts.length; i++) { + var tmp = parts[i].split('=', 2); + var key = jQuery.urldecode(tmp[0]); + var value = jQuery.urldecode(tmp[1]); + if (key in result) + result[key].push(value); + else + result[key] = [value]; + } + return result; +}; + +/** + * highlight a given string on a jquery object by wrapping it in + * span elements with the given class name. + */ +jQuery.fn.highlightText = function(text, className) { + function highlight(node, addItems) { + if (node.nodeType === 3) { + var val = node.nodeValue; + var pos = val.toLowerCase().indexOf(text); + if (pos >= 0 && !jQuery(node.parentNode).hasClass(className)) { + var span; + var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg"); + if (isInSVG) { + span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); + } else { + span = document.createElement("span"); + span.className = className; + } + span.appendChild(document.createTextNode(val.substr(pos, text.length))); + node.parentNode.insertBefore(span, node.parentNode.insertBefore( + document.createTextNode(val.substr(pos + text.length)), + node.nextSibling)); + node.nodeValue = val.substr(0, pos); + if (isInSVG) { + var bbox = span.getBBox(); + var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect"); + rect.x.baseVal.value = bbox.x; + rect.y.baseVal.value = bbox.y; + rect.width.baseVal.value = bbox.width; + rect.height.baseVal.value = bbox.height; + rect.setAttribute('class', className); + var parentOfText = node.parentNode.parentNode; + addItems.push({ + "parent": node.parentNode, + "target": rect}); + } + } + } + else if (!jQuery(node).is("button, select, textarea")) { + jQuery.each(node.childNodes, function() { + highlight(this, addItems); + }); + } + } + var addItems = []; + var result = this.each(function() { + highlight(this, addItems); + }); + for (var i = 0; i < addItems.length; ++i) { + jQuery(addItems[i].parent).before(addItems[i].target); + } + return result; +}; + +/* + * backward compatibility for jQuery.browser + * This will be supported until firefox bug is fixed. + */ +if (!jQuery.browser) { + jQuery.uaMatch = function(ua) { + ua = ua.toLowerCase(); + + var match = /(chrome)[ \/]([\w.]+)/.exec(ua) || + /(webkit)[ \/]([\w.]+)/.exec(ua) || + /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) || + /(msie) ([\w.]+)/.exec(ua) || + ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) || + []; + + return { + browser: match[ 1 ] || "", + version: match[ 2 ] || "0" + }; + }; + jQuery.browser = {}; + jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true; +} + +/** + * Small JavaScript module for the documentation. + */ +var Documentation = { + + init : function() { + this.fixFirefoxAnchorBug(); + this.highlightSearchWords(); + this.initIndexTable(); + + }, + + /** + * i18n support + */ + TRANSLATIONS : {}, + PLURAL_EXPR : function(n) { return n === 1 ? 0 : 1; }, + LOCALE : 'unknown', + + // gettext and ngettext don't access this so that the functions + // can safely bound to a different name (_ = Documentation.gettext) + gettext : function(string) { + var translated = Documentation.TRANSLATIONS[string]; + if (typeof translated === 'undefined') + return string; + return (typeof translated === 'string') ? translated : translated[0]; + }, + + ngettext : function(singular, plural, n) { + var translated = Documentation.TRANSLATIONS[singular]; + if (typeof translated === 'undefined') + return (n == 1) ? singular : plural; + return translated[Documentation.PLURALEXPR(n)]; + }, + + addTranslations : function(catalog) { + for (var key in catalog.messages) + this.TRANSLATIONS[key] = catalog.messages[key]; + this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')'); + this.LOCALE = catalog.locale; + }, + + /** + * add context elements like header anchor links + */ + addContextElements : function() { + $('div[id] > :header:first').each(function() { + $('\u00B6'). + attr('href', '#' + this.id). + attr('title', _('Permalink to this headline')). + appendTo(this); + }); + $('dt[id]').each(function() { + $('\u00B6'). + attr('href', '#' + this.id). + attr('title', _('Permalink to this definition')). + appendTo(this); + }); + }, + + /** + * workaround a firefox stupidity + * see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075 + */ + fixFirefoxAnchorBug : function() { + if (document.location.hash && $.browser.mozilla) + window.setTimeout(function() { + document.location.href += ''; + }, 10); + }, + + /** + * highlight the search words provided in the url in the text + */ + highlightSearchWords : function() { + var params = $.getQueryParameters(); + var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : []; + if (terms.length) { + var body = $('div.body'); + if (!body.length) { + body = $('body'); + } + window.setTimeout(function() { + $.each(terms, function() { + body.highlightText(this.toLowerCase(), 'highlighted'); + }); + }, 10); + $('

') + .appendTo($('#searchbox')); + } + }, + + /** + * init the domain index toggle buttons + */ + initIndexTable : function() { + var togglers = $('img.toggler').click(function() { + var src = $(this).attr('src'); + var idnum = $(this).attr('id').substr(7); + $('tr.cg-' + idnum).toggle(); + if (src.substr(-9) === 'minus.png') + $(this).attr('src', src.substr(0, src.length-9) + 'plus.png'); + else + $(this).attr('src', src.substr(0, src.length-8) + 'minus.png'); + }).css('display', ''); + if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) { + togglers.click(); + } + }, + + /** + * helper function to hide the search marks again + */ + hideSearchWords : function() { + $('#searchbox .highlight-link').fadeOut(300); + $('span.highlighted').removeClass('highlighted'); + }, + + /** + * make the url absolute + */ + makeURL : function(relativeURL) { + return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL; + }, + + /** + * get the current relative url + */ + getCurrentURL : function() { + var path = document.location.pathname; + var parts = path.split(/\//); + $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() { + if (this === '..') + parts.pop(); + }); + var url = parts.join('/'); + return path.substring(url.lastIndexOf('/') + 1, path.length - 1); + }, + + initOnKeyListeners: function() { + $(document).keyup(function(event) { + var activeElementType = document.activeElement.tagName; + // don't navigate when in search box or textarea + if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT') { + switch (event.keyCode) { + case 37: // left + var prevHref = $('link[rel="prev"]').prop('href'); + if (prevHref) { + window.location.href = prevHref; + return false; + } + case 39: // right + var nextHref = $('link[rel="next"]').prop('href'); + if (nextHref) { + window.location.href = nextHref; + return false; + } + } + } + }); + } +}; + +// quick alias for translations +_ = Documentation.gettext; + +$(document).ready(function() { + Documentation.init(); +}); \ No newline at end of file diff --git a/docs/manual/source/_build/html/_static/documentation_options.js b/docs/manual/source/_build/html/_static/documentation_options.js new file mode 100644 index 0000000..c0335db --- /dev/null +++ b/docs/manual/source/_build/html/_static/documentation_options.js @@ -0,0 +1,9 @@ +var DOCUMENTATION_OPTIONS = { + URL_ROOT: '', + VERSION: '1.0.0', + LANGUAGE: 'None', + COLLAPSE_INDEX: false, + FILE_SUFFIX: '.html', + HAS_SOURCE: true, + SOURCELINK_SUFFIX: '.txt' +}; \ No newline at end of file diff --git a/docs/manual/source/_build/html/_static/down-pressed.png b/docs/manual/source/_build/html/_static/down-pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..5756c8cad8854722893dc70b9eb4bb0400343a39 GIT binary patch literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`OFdm2Ln;`PZ^+1>KjR?B@S0W7 z%OS_REiHONoJ6{+Ks@6k3590|7k9F+ddB6!zw3#&!aw#S`x}3V3&=A(a#84O-&F7T z^k3tZB;&iR9siw0|F|E|DAL<8r-F4!1H-;1{e*~yAKZN5f0|Ei6yUmR#Is)EM(Po_ zi`qJR6|P<~+)N+kSDgL7AjdIC_!O7Q?eGb+L+qOjm{~LLinM4NHn7U%HcK%uoMYO5 VJ~8zD2B3o(JYD@<);T3K0RV0%P>BEl literal 0 HcmV?d00001 diff --git a/docs/manual/source/_build/html/_static/down.png b/docs/manual/source/_build/html/_static/down.png new file mode 100644 index 0000000000000000000000000000000000000000..1b3bdad2ceffae91cee61b32f3295f9bbe646e48 GIT binary patch literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6CVIL!hEy=F?b*7pIY7kW{q%Rg zx!yQ<9v8bmJwa`TQk7YSw}WVQ()mRdQ;TC;* literal 0 HcmV?d00001 diff --git a/docs/manual/source/_build/html/_static/file.png b/docs/manual/source/_build/html/_static/file.png new file mode 100644 index 0000000000000000000000000000000000000000..a858a410e4faa62ce324d814e4b816fff83a6fb3 GIT binary patch literal 286 zcmV+(0pb3MP)s`hMrGg#P~ix$^RISR_I47Y|r1 z_CyJOe}D1){SET-^Amu_i71Lt6eYfZjRyw@I6OQAIXXHDfiX^GbOlHe=Ae4>0m)d(f|Me07*qoM6N<$f}vM^LjV8( literal 0 HcmV?d00001 diff --git a/docs/manual/source/_build/html/_static/jquery-3.1.0.js b/docs/manual/source/_build/html/_static/jquery-3.1.0.js new file mode 100644 index 0000000..f2fc274 --- /dev/null +++ b/docs/manual/source/_build/html/_static/jquery-3.1.0.js @@ -0,0 +1,10074 @@ +/*eslint-disable no-unused-vars*/ +/*! + * jQuery JavaScript Library v3.1.0 + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2016-07-07T21:44Z + */ +( function( global, factory ) { + + "use strict"; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 +// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode +// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common +// enough that all such attempts are guarded in a try block. +"use strict"; + +var arr = []; + +var document = window.document; + +var getProto = Object.getPrototypeOf; + +var slice = arr.slice; + +var concat = arr.concat; + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var fnToString = hasOwn.toString; + +var ObjectFunctionString = fnToString.call( Object ); + +var support = {}; + + + + function DOMEval( code, doc ) { + doc = doc || document; + + var script = doc.createElement( "script" ); + + script.text = code; + doc.head.appendChild( script ).parentNode.removeChild( script ); + } +/* global Symbol */ +// Defining this global in .eslintrc would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + + + +var + version = "3.1.0", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }, + + // Support: Android <=4.0 only + // Make sure we trim BOM and NBSP + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, + + // Matches dashed string for camelizing + rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g, + + // Used by jQuery.camelCase as callback to replace() + fcamelCase = function( all, letter ) { + return letter.toUpperCase(); + }; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + return num != null ? + + // Return just the one element from the set + ( num < 0 ? this[ num + this.length ] : this[ num ] ) : + + // Return all the elements in a clean array + slice.call( this ); + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = jQuery.isArray( copy ) ) ) ) { + + if ( copyIsArray ) { + copyIsArray = false; + clone = src && jQuery.isArray( src ) ? src : []; + + } else { + clone = src && jQuery.isPlainObject( src ) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isFunction: function( obj ) { + return jQuery.type( obj ) === "function"; + }, + + isArray: Array.isArray, + + isWindow: function( obj ) { + return obj != null && obj === obj.window; + }, + + isNumeric: function( obj ) { + + // As of jQuery 3.0, isNumeric is limited to + // strings and numbers (primitives or objects) + // that can be coerced to finite numbers (gh-2662) + var type = jQuery.type( obj ); + return ( type === "number" || type === "string" ) && + + // parseFloat NaNs numeric-cast false positives ("") + // ...but misinterprets leading-number strings, particularly hex literals ("0x...") + // subtraction forces infinities to NaN + !isNaN( obj - parseFloat( obj ) ); + }, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + + /* eslint-disable no-unused-vars */ + // See https://github.com/eslint/eslint/issues/6125 + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + type: function( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; + }, + + // Evaluates a script in a global context + globalEval: function( code ) { + DOMEval( code ); + }, + + // Convert dashed to camelCase; used by the css and data modules + // Support: IE <=9 - 11, Edge 12 - 13 + // Microsoft forgot to hump their vendor prefix (#9572) + camelCase: function( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // Support: Android <=4.0 only + trim: function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // Bind a function to a context, optionally partially applying any + // arguments. + proxy: function( fn, context ) { + var tmp, args, proxy; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !jQuery.isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; + }, + + now: Date.now, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = jQuery.type( obj ); + + if ( type === "function" || jQuery.isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.0 + * https://sizzlejs.com/ + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2016-01-04 + */ +(function( window ) { + +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + + rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox<24 + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + high < 0 ? + // BMP codepoint + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g, + fcssescape = function( ch, asCodePoint ) { + if ( asCodePoint ) { + + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + disabledAncestor = addCombinator( + function( elem ) { + return elem.disabled === true; + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { + + // ID selector + if ( (m = match[1]) ) { + + // Document context + if ( nodeType === 9 ) { + if ( (elem = context.getElementById( m )) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && (elem = newContext.getElementById( m )) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( (m = match[3]) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !compilerCache[ selector + " " ] && + (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { + + if ( nodeType !== 1 ) { + newContext = context; + newSelector = selector; + + // qSA looks outside Element context, which is not what we want + // Thanks to Andrew Dupont for this workaround technique + // Support: IE <=8 + // Exclude object elements + } else if ( context.nodeName.toLowerCase() !== "object" ) { + + // Capture the context ID, setting it first if necessary + if ( (nid = context.getAttribute( "id" )) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", (nid = expando) ); + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[i] = "#" + nid + " " + toSelector( groups[i] ); + } + newSelector = groups.join( "," ); + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + } + + if ( newSelector ) { + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key + " " ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement("fieldset"); + + try { + return !!fn( el ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + // Known :disabled false positives: + // IE: *[disabled]:not(button, input, select, textarea, optgroup, option, menuitem, fieldset) + // not IE: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Check form elements and option elements for explicit disabling + return "label" in elem && elem.disabled === disabled || + "form" in elem && elem.disabled === disabled || + + // Check non-disabled form elements for fieldset[disabled] ancestors + "form" in elem && elem.disabled === false && ( + // Support: IE6-11+ + // Ancestry is covered for us + elem.isDisabled === disabled || + + // Otherwise, assume any non-