Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: SpM-lab/SpM
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.0.1
Choose a base ref
...
head repository: SpM-lab/SpM
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref

Commits on Feb 21, 2018

  1. Copy the full SHA
    1f27450 View commit details

Commits on Mar 24, 2018

  1. Copy the full SHA
    278e249 View commit details
  2. fix spell miss

    k-yoshimi committed Mar 24, 2018
    Copy the full SHA
    b34207d View commit details
  3. updage build

    k-yoshimi committed Mar 24, 2018
    Copy the full SHA
    df92db8 View commit details
  4. Merge pull request #9 from SpM-lab/spellcheck

    add function of spelling check for making documentation
    j-otsuki authored Mar 24, 2018
    Copy the full SHA
    a96300b View commit details

Commits on Oct 29, 2018

  1. add pade, fft and gf

    k-yoshimi committed Oct 29, 2018
    Copy the full SHA
    6be7bce View commit details
  2. add travis

    k-yoshimi committed Oct 29, 2018
    Copy the full SHA
    070267d View commit details
  3. Copy the full SHA
    10fca6f View commit details
  4. add fftw3

    k-yoshimi committed Oct 29, 2018
    Copy the full SHA
    90ffe51 View commit details
  5. add fftw3-dev

    k-yoshimi committed Oct 29, 2018
    Copy the full SHA
    5d7da2a View commit details
  6. add gtest

    k-yoshimi committed Oct 29, 2018
    Copy the full SHA
    ff68f7d View commit details
  7. link gtest last

    k-yoshimi committed Oct 29, 2018
    Copy the full SHA
    3547410 View commit details
  8. add include test

    k-yoshimi committed Oct 29, 2018
    Copy the full SHA
    82c37a0 View commit details
  9. modify gtest

    k-yoshimi committed Oct 29, 2018
    Copy the full SHA
    f642fb9 View commit details
  10. Copy the full SHA
    324022c View commit details
  11. add gtest

    k-yoshimi committed Oct 29, 2018
    Copy the full SHA
    fc9942d View commit details
  12. add before_script

    k-yoshimi committed Oct 29, 2018
    Copy the full SHA
    e72418b View commit details
  13. delete before_script

    k-yoshimi committed Oct 29, 2018
    Copy the full SHA
    4900e04 View commit details
  14. add python-dev

    k-yoshimi committed Oct 29, 2018
    Copy the full SHA
    72fb730 View commit details
  15. delete gtest_src

    k-yoshimi committed Oct 29, 2018
    Copy the full SHA
    9d6f414 View commit details
  16. add BEFORE

    k-yoshimi committed Oct 29, 2018
    Copy the full SHA
    c9fc365 View commit details
  17. add pthread

    k-yoshimi committed Oct 29, 2018
    Copy the full SHA
    fba2536 View commit details

Commits on Oct 30, 2018

  1. Used bundled gtest

    shinaoka committed Oct 30, 2018
    Copy the full SHA
    2dfc172 View commit details
  2. Copy the full SHA
    b8e5aa0 View commit details
  3. upload ref files

    k-yoshimi committed Oct 30, 2018
    Copy the full SHA
    4040a4e View commit details
  4. Merge pull request #10 from SpM-lab/travis

    Travis
    k-yoshimi authored Oct 30, 2018
    Copy the full SHA
    71daccf View commit details

Commits on Apr 3, 2019

  1. Copy the full SHA
    ab554ee View commit details
  2. update readme

    k-yoshimi committed Apr 3, 2019
    Copy the full SHA
    d12c815 View commit details
  3. Update README.md

    k-yoshimi authored Apr 3, 2019
    Copy the full SHA
    b486d49 View commit details
  4. Update README.md

    k-yoshimi authored Apr 3, 2019
    Copy the full SHA
    2804165 View commit details
  5. Update README.md

    j-otsuki authored Apr 3, 2019
    Copy the full SHA
    a24934d View commit details
  6. Merge pull request #11 from SpM-lab/delete_include

    delete unnecessary include directory
    j-otsuki authored Apr 3, 2019
    Copy the full SHA
    2062e99 View commit details

Commits on Jun 26, 2019

  1. update plot script

    k-yoshimi committed Jun 26, 2019
    Copy the full SHA
    9c38915 View commit details

Commits on Sep 19, 2021

  1. update c++ sources

    yomichi committed Sep 19, 2021
    Copy the full SHA
    a5e0822 View commit details
  2. update tests

    yomichi committed Sep 19, 2021
    Copy the full SHA
    f6583c0 View commit details
  3. update samples

    yomichi committed Sep 19, 2021
    Copy the full SHA
    f1593a6 View commit details
  4. update docs

    yomichi committed Sep 19, 2021
    Copy the full SHA
    f8d7fe6 View commit details
  5. update readme

    yomichi committed Sep 19, 2021
    Copy the full SHA
    66dc2e9 View commit details

Commits on Sep 20, 2021

  1. Copy the full SHA
    101b19b View commit details
  2. Copy the full SHA
    eb5327d View commit details
  3. Update README.md

    k-yoshimi authored Sep 20, 2021
    Copy the full SHA
    7763fa5 View commit details
  4. chdir

    yomichi committed Sep 20, 2021
    Copy the full SHA
    acea61d View commit details
  5. added spectrum generator

    yomichi committed Sep 20, 2021
    Copy the full SHA
    4f751fb View commit details

Commits on Sep 21, 2021

  1. update sample for spm-pade

    yomichi committed Sep 21, 2021
    Copy the full SHA
    a550be4 View commit details
  2. update docs

    yomichi committed Sep 21, 2021
    Copy the full SHA
    2381a42 View commit details
  3. Merge pull request #12 from SpM-lab/spm-v2

    SpM v2
    yomichi authored Sep 21, 2021
    Copy the full SHA
    6c42c70 View commit details
  4. rebuild html manual

    yomichi committed Sep 21, 2021
    Copy the full SHA
    bf0ac53 View commit details

Commits on Oct 19, 2021

  1. Link tests to pthread

    shinaoka committed Oct 19, 2021
    Copy the full SHA
    43acb36 View commit details
Showing with 219,664 additions and 4,311 deletions.
  1. +0 −1 .gitignore
  2. +27 −0 .travis.yml
  3. +42 −17 CMakeLists.txt
  4. +29 −21 README.md
  5. 0 {src → c++}/.doxyrc
  6. +3 −0 c++/CMakeLists.txt
  7. +55 −0 c++/include/Gf.h
  8. +4 −4 { → c++}/include/SVD_matrix.h
  9. +24 −5 { → c++}/include/admm_svd.h
  10. +6 −0 { → c++}/include/common.h
  11. 0 { → c++}/include/errorcode.h
  12. +18 −0 c++/include/fft.h
  13. 0 { → c++}/include/kernel.h
  14. +29 −0 c++/include/pade.h
  15. +3 −3 { → c++}/include/set_initial.h
  16. +12 −5 { → c++}/include/spm_core.h
  17. +52 −41 { → c++}/include/spm_param.h
  18. +7 −1 { → c++}/src/CMakeLists.txt
  19. +58 −28 { → c++}/src/G2spectrum.cpp
  20. +109 −0 c++/src/Gf.cpp
  21. +22 −7 { → c++}/src/SVD_matrix.cpp
  22. +94 −18 { → c++}/src/admm_svd.cpp
  23. +27 −0 { → c++}/src/common.cpp
  24. +182 −0 c++/src/fft.cpp
  25. +2 −1 { → c++}/src/kernel.cpp
  26. +70 −0 c++/src/pade.cpp
  27. +27 −51 { → c++}/src/set_initial.cpp
  28. +150 −15 { → c++}/src/spm_core.cpp
  29. +28 −0 cmake/EnableGtests.cmake
  30. +294 −0 cmake/FindFFTW.cmake
  31. +27 −0 cmake/LICENSE_FindFFTW.cmake.txt
  32. +4 −0 docs/manual/build/html/.buildinfo
  33. 0 docs/manual/build/html/.nojekyll
  34. BIN docs/manual/build/html/_images/math/0814fde550b0601779ad6ba68412c18f985efc35.png
  35. BIN docs/manual/build/html/_images/math/08a277da44635b36e49e97a084c18ddbebeb65c6.png
  36. BIN docs/manual/build/html/_images/math/08ee2ced3e4c74283f24491dbb1e4612e1953b38.png
  37. BIN docs/manual/build/html/_images/math/0949ed70c72f091f7e8ac4a7dd9c7bd9d859e06e.png
  38. BIN docs/manual/build/html/_images/math/101ff834ad46926c805bdc2dccfa56b70baeafd3.png
  39. BIN docs/manual/build/html/_images/math/127c265f0cf8b8d0a6b2b1f46e642c258268db54.png
  40. BIN docs/manual/build/html/_images/math/24be1bd9da0de6de81ffddd162981d41f03455f4.png
  41. BIN docs/manual/build/html/_images/math/2666177e2060605383cc6abb7c35a7076b51e76d.png
  42. BIN docs/manual/build/html/_images/math/26e8299b484849735af4360c90f176656e4c035a.png
  43. BIN docs/manual/build/html/_images/math/2849d9bdf4962c370ec5060ef311a22748279907.png
  44. BIN docs/manual/build/html/_images/math/2b5da52779733b1c0c2d4b9e58da422cff7e9549.png
  45. BIN docs/manual/build/html/_images/math/2b961a32b8f4a499431818378a9eaf3cefeb5a13.png
  46. BIN docs/manual/build/html/_images/math/2c3e01c5110cff344f2937ba2ba3f8dfc205612c.png
  47. BIN docs/manual/build/html/_images/math/2ca435fb22c938d7aac1be50458e635ac33e0486.png
  48. BIN docs/manual/build/html/_images/math/2d1158e63fa2d4369306e799c2ca70c0ff5e4c8a.png
  49. BIN docs/manual/build/html/_images/math/2f2022e529b7e23aae4ac90bfaa5cef33e7d968c.png
  50. BIN docs/manual/build/html/_images/math/34643d2d999fcc53423d45f1bb2392eb2ca4772b.png
  51. BIN docs/manual/build/html/_images/math/359c8be672c286f0451ce49e8c8b7db7f99fad74.png
  52. BIN docs/manual/build/html/_images/math/379721c563c5940c2c493c638e2bbd7607140312.png
  53. BIN docs/manual/build/html/_images/math/39bd43c9da2251ecec72aa5bcf36e34daa0327c4.png
  54. BIN docs/manual/build/html/_images/math/3a3d1af28de6ef34516ac9d699c48cbbb23ce998.png
  55. BIN docs/manual/build/html/_images/math/3c7e3932712a51dcc2e971bff709e7c4f1327ae4.png
  56. BIN docs/manual/build/html/_images/math/3cc42bfbdd8b170705ca942fa5fc4974d1580ec3.png
  57. BIN docs/manual/build/html/_images/math/3ef352c72eac36439ea87320904d745f331d0af6.png
  58. BIN docs/manual/build/html/_images/math/3f018cc85ab0a8ac1525bdd4c98be894d29282da.png
  59. BIN docs/manual/build/html/_images/math/3f9b358d1499cd88c763c093b52622a9820128c0.png
  60. BIN docs/manual/build/html/_images/math/410a9d0df9c135dd73b269cba7ef04dcfd932b1f.png
  61. BIN docs/manual/build/html/_images/math/41dd526e33441fb01806df1a6ec9af6187fa5f21.png
  62. BIN docs/manual/build/html/_images/math/4271cd7da7fbe9c7afd999eaefbb1a69b55da855.png
  63. BIN docs/manual/build/html/_images/math/4460a792b9008a7d3bcbe1d50683b0b4cfb83f11.png
  64. BIN docs/manual/build/html/_images/math/4569268c314a44232c428f1e7bf62b8bd225381a.png
  65. BIN docs/manual/build/html/_images/math/470aa65888a2971c9346e573f12b37ea406b8ec9.png
  66. BIN docs/manual/build/html/_images/math/47aa9388b4a90760ec185881759daa4766d51191.png
  67. BIN docs/manual/build/html/_images/math/47cdea4ba963069691bfe84c50e17683025c0979.png
  68. BIN docs/manual/build/html/_images/math/48731d0d0099a80831fc44ba4efc0374831fec66.png
  69. BIN docs/manual/build/html/_images/math/4b41fc119dc6cd09d3ad9ad842795ee2a1e06bb6.png
  70. BIN docs/manual/build/html/_images/math/4cd4bcb8776194ea769f1a30d6814f2406148b67.png
  71. BIN docs/manual/build/html/_images/math/4ddd01a46514d77caa76510a4c6abd3febb35bc2.png
  72. BIN docs/manual/build/html/_images/math/50c5e67e5e093ef5d995560386cea9511bde7f33.png
  73. BIN docs/manual/build/html/_images/math/518712cb83e744e0d12c45a910b011dcca076a39.png
  74. BIN docs/manual/build/html/_images/math/52ddc0cde6d632f631533173562fe3ca375b1f32.png
  75. BIN docs/manual/build/html/_images/math/55993aa6bad0c1f4ff2cc440ed6162cee7c076a9.png
  76. BIN docs/manual/build/html/_images/math/56e7b22a087c62148f5a8522c2ae4a9d55719fcd.png
  77. BIN docs/manual/build/html/_images/math/5b74536daf193cce4611f5dcb4d160da369709aa.png
  78. BIN docs/manual/build/html/_images/math/5bf2f08118377eb66aaeda43b38188e919b6ed89.png
  79. BIN docs/manual/build/html/_images/math/5e8121837eccfb7797787e50b1852bb6db99f0f6.png
  80. BIN docs/manual/build/html/_images/math/604b498d61fdb6213317eab6a9f7240af06a9911.png
  81. BIN docs/manual/build/html/_images/math/61e319ecabcb5c23765c66fb100f64ec3aaf1f14.png
  82. BIN docs/manual/build/html/_images/math/636d4c832194e64ac08693518831e906009d3161.png
  83. BIN docs/manual/build/html/_images/math/6428b105cf252885d44e53f2ad58ae6c663f4c23.png
  84. BIN docs/manual/build/html/_images/math/64666578228826a7dc2a0ecfa07b9e1618527ed5.png
  85. BIN docs/manual/build/html/_images/math/64809dadb325c3edda2fb2f7cc11bd792ef6d006.png
  86. BIN docs/manual/build/html/_images/math/666d5022792b496e5bc4af1c5fb7361d9e5ed685.png
  87. BIN docs/manual/build/html/_images/math/684381a21cd73ebbf43b63a087d3f7410ee99ce8.png
  88. BIN docs/manual/build/html/_images/math/6ed94dac5ae2ab85d25d0c11ed15a62e4b9568d0.png
  89. BIN docs/manual/build/html/_images/math/6f30456384f9635601349f6bb0de3ccdd58b0837.png
  90. BIN docs/manual/build/html/_images/math/6f580bcf790eb89c2d436a3ce122884a9be81c9b.png
  91. BIN docs/manual/build/html/_images/math/6fb6ea3c9b7bdabce03e2042f8d03b68930e6496.png
  92. BIN docs/manual/build/html/_images/math/7138dad9ac96835665b17f5817eacfcaa9b834c9.png
  93. BIN docs/manual/build/html/_images/math/74ba2b409c080b4e3153c234247143775552abb7.png
  94. BIN docs/manual/build/html/_images/math/76f1d8ace30435987c01a00ca53a71cba1f40e6c.png
  95. BIN docs/manual/build/html/_images/math/7731d880fc13db25db6d138125b8f50cebf253dc.png
  96. BIN docs/manual/build/html/_images/math/800a289af47e2f3052ffb324c8f6987bc496052f.png
  97. BIN docs/manual/build/html/_images/math/85c913e5997c47b58a8a2ce9ecac21612aeee15b.png
  98. BIN docs/manual/build/html/_images/math/8c131d45098b8570f11fc96d80a8f2b915501b5b.png
  99. BIN docs/manual/build/html/_images/math/8cb351dd3b28ea1c9fb991ca73ab98acd8cfce4a.png
  100. BIN docs/manual/build/html/_images/math/8ddb02d4e899000ba2ee76d62ac4ab491fd44a75.png
  101. BIN docs/manual/build/html/_images/math/8e76284621712833fa2c62549c474ce476c0985a.png
  102. BIN docs/manual/build/html/_images/math/8f3208ec712501c41d504675079146fc4721003a.png
  103. BIN docs/manual/build/html/_images/math/9d49d6f3960ae938ac2efcc52449f7f93bc3b97b.png
  104. BIN docs/manual/build/html/_images/math/9db34e2fc2099e7aef7f2ee993cca2cb0e574551.png
  105. BIN docs/manual/build/html/_images/math/a372fe4adb7d7aa51df8ac102e5b7123b3b8f24c.png
  106. BIN docs/manual/build/html/_images/math/a3965ac90c9513644606210339d525386626dcb2.png
  107. BIN docs/manual/build/html/_images/math/a3f47b047edcf70c20b71a148ef35825bb7e2fe1.png
  108. BIN docs/manual/build/html/_images/math/a6d47234c6a3b8d24783aaebc72d9d4359d13c82.png
  109. BIN docs/manual/build/html/_images/math/ace0e65627948c2736eb6f812e46b8c87b698337.png
  110. BIN docs/manual/build/html/_images/math/b12dde60462879ed92a5655089c70a9fc7b35de5.png
  111. BIN docs/manual/build/html/_images/math/b147153e026a1d013217d1f1cf8a5e039971806e.png
  112. BIN docs/manual/build/html/_images/math/b172478c2e144fb77ed130c729b5ad404895872f.png
  113. BIN docs/manual/build/html/_images/math/b33b56c5293081e5b6575bf2f6f1eecc81b16d8c.png
  114. BIN docs/manual/build/html/_images/math/b359488b993294ebbc2c7b30ab8f749dcbc6826d.png
  115. BIN docs/manual/build/html/_images/math/b593772c049720234229f95fb2538937134717ed.png
  116. BIN docs/manual/build/html/_images/math/b699a4b61a18d3471ea57883736739f4d4ce3770.png
  117. BIN docs/manual/build/html/_images/math/b6af8709c5bd18dd7bf03ea11243debeefc4966c.png
  118. BIN docs/manual/build/html/_images/math/b7d76a97ccf41eda71495f66486eff2f457bf3f3.png
  119. BIN docs/manual/build/html/_images/math/b80430baf1b059d0097bc9081abca3b1e0a74287.png
  120. BIN docs/manual/build/html/_images/math/bc339ddfc8da63735f6dd5127f4dede6fe7a0fe4.png
  121. BIN docs/manual/build/html/_images/math/bd30e06c49c5b6e0f1ff7b39d06a6f8292259ddb.png
  122. BIN docs/manual/build/html/_images/math/beebde8324cfe5c384486efd63f5ac2c2f1a994a.png
  123. BIN docs/manual/build/html/_images/math/bf9ce67c4af0cf022ae70d39169ee8c1c0ff5b02.png
  124. BIN docs/manual/build/html/_images/math/c133ba25c5649d9fecda14dc827c772e0bedec0a.png
  125. BIN docs/manual/build/html/_images/math/c1f3685c39e83d7b65dcd24187c7e248df35fbb9.png
  126. BIN docs/manual/build/html/_images/math/c2169fa8df7200e1571d40015f85cc20b800f2f0.png
  127. BIN docs/manual/build/html/_images/math/c236cbdfa9836dffda883ffed7a9336e0cb5f87f.png
  128. BIN docs/manual/build/html/_images/math/c2426dc2abc877bfafbc4ea35ef11fd065d77147.png
  129. BIN docs/manual/build/html/_images/math/c33c44a9858afa000c1c2dedf203753df4baadc8.png
  130. BIN docs/manual/build/html/_images/math/cefc603e5658facb747581f9567192993f21c7ab.png
  131. BIN docs/manual/build/html/_images/math/d1814eaebc091b796e7d216225889ea1ca054937.png
  132. BIN docs/manual/build/html/_images/math/d3abeeec19e04fc372e23a3383efcb60678ecdb8.png
  133. BIN docs/manual/build/html/_images/math/d785a6c9abcdb146b923be73cde3c1b13ef6112a.png
  134. BIN docs/manual/build/html/_images/math/daa80fd46aaa8f81b408d3e79ef33d00b4408424.png
  135. BIN docs/manual/build/html/_images/math/dafab2ceccf1253d46d57f855db2114666be8f84.png
  136. BIN docs/manual/build/html/_images/math/db9038319d8e3a6b6b43071d4d08701d9d70c2ac.png
  137. BIN docs/manual/build/html/_images/math/dbc357e9cf742d661bf4941cd0c41ec78cbbe187.png
  138. BIN docs/manual/build/html/_images/math/dce18fda1ad5f4f7cfb43d1bb32ab2f5cdcf6f49.png
  139. BIN docs/manual/build/html/_images/math/dd5601c05723358c40a8cb0fa9b1541eb1def298.png
  140. BIN docs/manual/build/html/_images/math/dee7d442da8fcaf06afa46d1f97d0584cbdfb7c2.png
  141. BIN docs/manual/build/html/_images/math/df00656702b70b4b6f7ffbf6a9aa9a334bab1914.png
  142. BIN docs/manual/build/html/_images/math/e2bf38137174bbbc865558597cdacfe137d43d52.png
  143. BIN docs/manual/build/html/_images/math/e3b3dabdf6117d99d4d0704507be54f8f69faae4.png
  144. BIN docs/manual/build/html/_images/math/ea358021687773786e1c8680fd1e622c32801379.png
  145. BIN docs/manual/build/html/_images/math/eb65da8604af4d17a3e3c7b6fa772d62b2a117c4.png
  146. BIN docs/manual/build/html/_images/math/ed203140e29844ab35c5fa29a47170f032737548.png
  147. BIN docs/manual/build/html/_images/math/ed882223f7d35e6c8ab4844af95f33706aaa0c31.png
  148. BIN docs/manual/build/html/_images/math/f14da30328c6e9a2dc0ba44a1363209d8b080514.png
  149. BIN docs/manual/build/html/_images/math/f36101c441bcf511a4c70e9f0fd21507af66d746.png
  150. BIN docs/manual/build/html/_images/math/f94e13b8b141ea338343a4edcb7d14d0283209be.png
  151. BIN docs/manual/build/html/_images/math/fac78ecd202fb268bd8ad30d6fa2176d9f74c01c.png
  152. BIN docs/manual/build/html/_images/math/fbda708e89853fd4adede074355f4f30121ceba7.png
  153. BIN docs/manual/build/html/_images/spectrum_spmpade.png
  154. +42 −13 docs/manual/build/html/_sources/docs/inputfile.rst.txt
  155. +28 −17 docs/manual/build/html/_sources/docs/outputfile.rst.txt
  156. +51 −4 docs/manual/build/html/_sources/docs/tutorials.rst.txt
  157. +19 −6 docs/manual/build/html/_sources/index.rst.txt
  158. BIN docs/manual/build/html/_static/ajax-loader.gif
  159. +64 −56 docs/manual/build/html/_static/alabaster.css
  160. +233 −21 docs/manual/build/html/_static/basic.css
  161. BIN docs/manual/build/html/_static/comment-bright.png
  162. BIN docs/manual/build/html/_static/comment-close.png
  163. BIN docs/manual/build/html/_static/comment.png
  164. +14 −10 docs/manual/build/html/_static/doctools.js
  165. +12 −0 docs/manual/build/html/_static/documentation_options.js
  166. BIN docs/manual/build/html/_static/down-pressed.png
  167. BIN docs/manual/build/html/_static/down.png
  168. +1,955 −1,157 docs/manual/build/html/_static/{jquery-3.1.0.js → jquery-3.5.1.js}
  169. +2 −4 docs/manual/build/html/_static/jquery.js
  170. +297 −0 docs/manual/build/html/_static/language_data.js
  171. +6 −1 docs/manual/build/html/_static/pygments.css
  172. +92 −339 docs/manual/build/html/_static/searchtools.js
  173. BIN docs/manual/build/html/_static/up-pressed.png
  174. BIN docs/manual/build/html/_static/up.png
  175. +0 −808 docs/manual/build/html/_static/websupport.js
  176. +42 −39 docs/manual/build/html/docs/algorithm.html
  177. +55 −53 docs/manual/build/html/docs/function.html
  178. +219 −153 docs/manual/build/html/docs/inputfile.html
  179. +58 −56 docs/manual/build/html/docs/install.html
  180. +130 −115 docs/manual/build/html/docs/outputfile.html
  181. +114 −84 docs/manual/build/html/docs/tutorials.html
  182. +31 −30 docs/manual/build/html/genindex.html
  183. +59 −40 docs/manual/build/html/index.html
  184. +3 −2 docs/manual/build/html/objects.inv
  185. +32 −35 docs/manual/build/html/search.html
  186. +1 −1 docs/manual/build/html/searchindex.js
  187. +1 −0 docs/manual/source/Makefile
  188. +8 −6 docs/manual/source/conf.py
  189. BIN docs/manual/source/docs/figs/spectrum_spmpade.png
  190. +42 −13 docs/manual/source/docs/inputfile.rst
  191. +28 −17 docs/manual/source/docs/outputfile.rst
  192. +51 −4 docs/manual/source/docs/tutorials.rst
  193. +19 −6 docs/manual/source/index.rst
  194. +33 −0 docs/manual/source/spelling_wordlist.txt
  195. +1,000 −1,000 samples/boson/Gtau.in.dos
  196. +2 −2 samples/fermion/run.sh
  197. +4,006 −0 samples/fermion_twopeak/Gtau.in
  198. +1,005 −0 samples/fermion_twopeak/Gtau.in.dos
  199. +20 −0 samples/fermion_twopeak/param_spm.in
  200. +20 −0 samples/fermion_twopeak/param_spmpade.in
  201. +27 −0 samples/fermion_twopeak/spectrum.toml
  202. +15 −0 samples/tool/cv/base/param.in
  203. +8,006 −0 samples/tool/cv/input/Gtau_0.in
  204. +8,006 −0 samples/tool/cv/input/Gtau_1.in
  205. +8,006 −0 samples/tool/cv/input/Gtau_10.in
  206. +8,006 −0 samples/tool/cv/input/Gtau_11.in
  207. +8,006 −0 samples/tool/cv/input/Gtau_12.in
  208. +8,006 −0 samples/tool/cv/input/Gtau_13.in
  209. +8,006 −0 samples/tool/cv/input/Gtau_14.in
  210. +8,006 −0 samples/tool/cv/input/Gtau_15.in
  211. +8,006 −0 samples/tool/cv/input/Gtau_16.in
  212. +8,006 −0 samples/tool/cv/input/Gtau_17.in
  213. +8,006 −0 samples/tool/cv/input/Gtau_18.in
  214. +8,006 −0 samples/tool/cv/input/Gtau_19.in
  215. +8,006 −0 samples/tool/cv/input/Gtau_2.in
  216. +8,006 −0 samples/tool/cv/input/Gtau_3.in
  217. +8,006 −0 samples/tool/cv/input/Gtau_4.in
  218. +8,006 −0 samples/tool/cv/input/Gtau_5.in
  219. +8,006 −0 samples/tool/cv/input/Gtau_6.in
  220. +8,006 −0 samples/tool/cv/input/Gtau_7.in
  221. +8,006 −0 samples/tool/cv/input/Gtau_8.in
  222. +8,006 −0 samples/tool/cv/input/Gtau_9.in
  223. +10 −0 samples/tool/cv/input_10fold.toml
  224. +10 −0 samples/tool/cv/input_LOO.toml
  225. +0 −1 src/include
  226. +21 −0 test/c++/CMakeLists.txt
  227. +26 −0 test/c++/data/CMakeLists.txt
  228. +1,001 −0 test/c++/data/boson/Gtau.in
  229. +1,001 −0 test/c++/data/boson/Gtau.in.dos
  230. +501 −0 test/c++/data/ref/pade_lo.dat
  231. +501 −0 test/c++/data/ref/pade_rect.dat
  232. +4,003 −0 test/c++/data/standard/Gtau.in
  233. +16 −0 test/c++/data/standard/param.in
  234. +10,403 −0 test/c++/gtest-all.cc
  235. +21,192 −0 test/c++/gtest.h
  236. +38 −0 test/c++/gtest_main.cc
  237. +228 −0 test/c++/test_fft_boson.cpp
  238. +201 −0 test/c++/test_fft_fermion.cpp
  239. +84 −0 test/c++/test_pade_boson.cpp
  240. +164 −0 test/c++/test_pade_fermion.cpp
  241. +19 −0 test/python/CMakeLists.txt
  242. +26 −0 test/python/data/CMakeLists.txt
  243. +4,003 −0 test/python/data/fermion/Gtau.in
  244. +15 −0 test/python/data/fermion/param.in
  245. +4,003 −0 test/python/data/standard/Gtau.in
  246. +16 −0 test/python/data/standard/param.in
  247. +25 −0 test/python/diff.py
  248. +14 −0 test/python/hello.py
  249. +12 −0 test/python/test_IO.py
  250. +27 −0 test/python/test_fermion.py
  251. +89 −0 tool/cv/README.md
  252. +111 −0 tool/cv/calc_cv_score.py
  253. +243 −0 tool/cv/wrapper_cv_Gtau.py
  254. +91 −0 tool/exact/README.md
  255. +209 −0 tool/exact/gen_Gtau_peaks.py
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -6,6 +6,5 @@
*.pdf
*.eps
cmake-build-*
build
*.idea
.DS_Store
27 changes: 27 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
matrix:
include:
- language: cpp
sudo: enabled
before_install:
- sudo apt-get update
- sudo apt-get install -y gcc liblapack-dev cmake libfftw3-dev python-dev
#- sudo apt-get install -y gcc liblapack-dev cmake libfftw3-dev libgtest-dev python-dev
- pip install numpy --user
- pip install scipy --user
- sudo apt-get install -y libopenmpi-dev openmpi-bin
#- install -d gtest_build
#- pushd gtest_build
#- cmake -DCMAKE_CXX_COMPILER=g++ /usr/src/gtest/
#- make
#- sudo cp *.a /usr/lib
#- popd

install:
- mkdir build
- cd build
- cmake -DTesting=ON ../
- VERBOSE=1 make
script:
- export OMP_NUM_THREADS=1
- make test ARGS='-V'

59 changes: 42 additions & 17 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -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)
@@ -13,21 +13,48 @@ message(STATUS "Build type: " ${CMAKE_BUILD_TYPE})

set(CMAKE_CXX_FLAGS_DEBUG "-std=c++11 -D_DEBUG -g -Wall -Wextra -pedantic -Wcast-align -Wcast-qual -Wconversion -Wdisabled-optimization -Wendif-labels -Wfloat-equal -Winit-self -Winline -Wlogical-op -Wmissing-include-dirs -Wnon-virtual-dtor -Wold-style-cast -Woverloaded-virtual -Wpacked -Wpointer-arith -Wredundant-decls -Wshadow -Wsign-promo -Wswitch-default -Wswitch-enum -Wunsafe-loop-optimizations -Wvariadic-macros -Wwrite-strings ")

set(CMAKE_CXX_FLAGS_RELEASE "-std=c++11 -O3 -fopenmp")
set(CMAKE_CXX_FLAGS_RELEASE "-std=c++11 -O3")

#include directories
include_directories(${CMAKE_SOURCE_DIR}/include ${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 BLAS
find_package(BLAS REQUIRED)

#Find LAPACK
find_package(LAPACK REQUIRED)
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)

if(USE_MKL)
if(NOT MKLROOT)
set(MKLROOT $ENV{MKLROOT})
endif()
if(NOT MKLROOT)
message(FATAL "MKLROOT is not set")
endif()

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mkl")
include_directories(${MKLROOT}/include/fftw)
else()
#Find BLAS
find_package(BLAS REQUIRED)

#Find LAPACK
find_package(LAPACK REQUIRED)

#Find FFTW3
find_package(FFTW REQUIRED)
include_directories(${FFTW_INCLUDE_DIRS})
endif()

# 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)
@@ -52,6 +79,4 @@ find_package(LAPACK REQUIRED)
# CPPLAPACK
#include_directories(${CPPLAPACK_INCLUDE_DIR})

add_subdirectory(src)

#add_subdirectory(python)
add_subdirectory(c++)
50 changes: 29 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
# SpM

SPM
====

Sparse Modeling tool for analytical continuation.
Sparse Modeling tool for analytical continuation from the imaginary-time Green's function to real-requency spectral function.

The algorithm is presented in the article

@@ -14,55 +12,65 @@ The algorithm is presented in the article

This package is distributed under GNU General Public License version 3 ([GPL v3](http://www.gnu.org/licenses/gpl-3.0.en.html)).

We kindly ask you to cite the article above
We kindly ask you to cite the below articles
in publications that include results obtained using this package.

## Author
Junya Otsuki, Kazuyoshi Yoshimi, Hiroshi Shinaoka, Masayuki Ohzeki
* The article about original algorithm
* 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).](https://doi.org/10.1103/PhysRevE.95.061302)
* The article about this package
* K. Yoshimi, J. Otsuki, Y. Motoyama, M. Ohzeki, and H. Shinaoka, "SpM: Sparse modeling tool for analytic continuation of imaginary-time Green's function" [Comput. Phys. Commun. 244, 319-323 (2019)](https://www.sciencedirect.com/science/article/pii/S0010465519302103).
* The article about the SpM-Pade method (please cite if you use)
* Y. Motoyama, K. Yoshimi, and J. Otsuki, "Robust analytic continuation combining the advantages of the sparse modeling approach and Pade approximation" [arXiv:2109.08370](https://arxiv.org/abs/2109.08370)

## Authors

Junya Otsuki, Kazuyoshi Yoshimi, Yuichi Motoyama, Hiroshi Shinaoka, Masayuki Ohzeki

## Requirement

* LAPACK, BLAS
* FFTW3
* cpplapack (included in this package)


## How to build

### Getting the source codes

Download the latest source codes by

$ git clone https://github.com/j-otsuki/SpM.git spm.src
$ git clone https://github.com/j-otsuki/SpM.git spm.src

Then, the source codes are downloaded in the directory ``spm.src``.
Then, the source codes are downloaded in the directory `spm.src`.

### Using Cmake

Build with cmake command is done in a separate directory, e.g. ``spm.build``.
Build with cmake command is done in a separate directory, e.g. `spm.build`.
Type the following commands:

$ mkdir spm.build && cd spm.build
$ cmake ../spm.src
$ make
$ mkdir spm.build && cd spm.build
$ cmake ../spm.src
$ make

Then, the executable file ``SpM.out`` is created in directory ``spm.build/src``.
Then, the executable file `SpM.out` is created in directory `spm.build/src`.

## Sample scripts

Some sample data are provided in ``samples`` directory:
Some sample data are provided in `samples` directory:

* ``samples/fermion`` # sample for fermionic spectrum (data in the article)
* ``samples/boson`` # sample for bosonic spectrum
* `samples/fermion` # sample for fermionic spectrum (data in the article)
* `samples/boson` # sample for bosonic spectrum

A script file, `run.sh`, is provided to run through the program.
Enter into the directory `samples/fermion`, and execute the script by

$ ./run.sh

You may need to change the path to ``SpM.out`` in the script.
If succeeded, results including graphs in eps format are created in ``output`` directory.
You may need to change the path to `SpM.out` in the script.
If succeeded, results including graphs in eps format are created in `output` directory.
For details, see the document linked below.


## Official page

The official page of the SpM is [here](https://spm-lab.github.io/SpM/manual/build/html/index.html).
File renamed without changes.
3 changes: 3 additions & 0 deletions c++/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#include directories
include_directories(include)
add_subdirectory(src)
55 changes: 55 additions & 0 deletions c++/include/Gf.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
#ifndef _GF_H
#define _GF_H

#include <vector>
#include <complex>
#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<double> &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<double> > &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<double> &G_tau);

// get G(iw)
void get_Giw(std::vector< std::complex<double> > &G_iw);

// get G(w). w=[omega_min:omega_max], n-points
// void get_Gomega(std::vector< std::complex<double> > &G_omega, const double omega_min, const double omega_max, const int n);

// return G(omega)
std::complex<double> Gomega(const double omega);

// return rho(omega)
double rho(const double omega);

private:
int N; // == beta/dt
double beta;
double tail;
statistics stat;
std::vector<double> gtau; // size N
std::vector< std::complex<double> > 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
8 changes: 4 additions & 4 deletions include/SVD_matrix.h → c++/include/SVD_matrix.h
Original file line number Diff line number Diff line change
@@ -40,10 +40,10 @@ class SVD_matrix {
void rearrange_col(std::vector<int> &); // 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)
CPPL::dcovector transform_x2sv(const CPPL::dcovector &); // V^t * x (to SV basis)
CPPL::dcovector transform_y2sv(const CPPL::dcovector &); // U^t * y (to SV basis)
CPPL::dcovector transform_sv2x(const CPPL::dcovector &); // V * x' (to original basis)
CPPL::dcovector transform_sv2y(const CPPL::dcovector &); // U * y' (to original basis)
void OutputSVD(std::string _file_SVD);
private:
CPPL::dcovector S_temp;
29 changes: 24 additions & 5 deletions include/admm_svd.h → c++/include/admm_svd.h
Original file line number Diff line number Diff line change
@@ -35,12 +35,14 @@ class SVD_matrix;
struct admm_result{
// w/ sv : results in SV basis
// w/o sv : results in omega-tau basis
std::vector<double> x, xsv, z1, z1sv, z2, z2sv;
std::vector<double> x, xsv, z1, z1sv, z2, z2sv, z3, z3sv;
std::vector<double> 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 res3_pri, res3_dual; // spmpade
double mse, mse_full;
int l0_norm;
double l1_norm, sum_x_calc, negative_weight;
int iter;
};
@@ -52,13 +54,16 @@ class admm_svd{

// [optional]
void set_sumrule(double sum_x);
void set_rho_ref(std::vector<double>const &rho_ref, std::vector<double> const & rho_ref_weight);
void set_omega_coeff(std::vector<double> const& omega_coeff);
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_coef(double lambda, double penalty1=1.0, double penalty2=1.0, double penalty3=1.0, bool flag_penalty_auto=false);
void set_y(const std::vector<double> &y);
int get_svd_num(){return svd_num;}

// [optional]
void clear_x();
@@ -77,28 +82,42 @@ class admm_svd{

bool flag_nonnegative;
bool flag_sumrule;
bool flag_rho_ref;
double sum_x;
std::vector<double> rho_ref;
std::vector<double> rho_ref_weight;

CPPL::dcovector x, Vx, z1, u1, z2, u2; // 1 for L1 norm, 2 for non-negativity
CPPL::dcovector x, Vx, WVx, z1, u1, z2, u2; // 1 for L1 norm, 2 for non-negativity
CPPL::dcovector z3, u3; // SpM-Pade
CPPL::dcovector y, y_sv;

double regulariz, penalty1, penalty2;
double penalty3; // SpMPade
bool flag_penalty_auto;
static const int PENALTY_UPDATE_INTERVAL;

std::vector<double> omega_coeff; // omega

int print_level;
bool flag_fileout_iter;
std::string file_iter;

int svd_num;
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();

CPPL::dcovector transform_x2sv(CPPL::dcovector const& v);
CPPL::dcovector transform_sv2x(CPPL::dcovector const& v);

// 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::dgematrix Y, B; // diagonal matrix
CPPL::dgbmatrix Pade_B3;
CPPL::dgematrix Pade_B0, C;
CPPL::dcovector Yy, w;
CPPL::dcovector Pade_y;
CPPL::drovector v_row;
CPPL::dcovector rho_w;
double sum_Vw;
} pre;
};
6 changes: 6 additions & 0 deletions include/common.h → c++/include/common.h
Original file line number Diff line number Diff line change
@@ -24,6 +24,7 @@ CPPL::dcovector vec2cppl_col(const std::vector<double> &); // vector -> CPPL
std::vector<double> cppl2vec(const CPPL::dcovector &); // CPPL -> vector
std::vector<double> cppl2vec(const CPPL::drovector &); // CPPL -> vector

int norm_l0(const CPPL::dcovector &); // L0 norm
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
@@ -39,6 +40,11 @@ CPPL::drovector drovector_all1(int n); // return a rovector with elements all b
CPPL::dcovector positive(const CPPL::dcovector &); // set negative elements at zero
CPPL::dgematrix positive(const CPPL::dgematrix &);

// return (v + coeff*ref) / (1+coeff)
CPPL::dcovector project_ref(const CPPL::dcovector &v,
const std::vector<double> &ref,
const std::vector<double> &coeff);

// return shrinked matrix
CPPL::dgematrix low_rank_matrix(CPPL::dgematrix &mat, int m, int n);

File renamed without changes.
Loading