mlatom 2.2__tar.gz → 2.2.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. {MLatom-2.2 → MLatom-2.2.1}/PKG-INFO +3 -6
  2. {MLatom-2.2 → MLatom-2.2.1}/README.md +2 -2
  3. {MLatom-2.2 → MLatom-2.2.1}/setup.py +2 -2
  4. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/MLatom.py +2 -2
  5. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/MLatomF_src/MLatomF.f90 +3 -3
  6. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/MLatomF_src/Makefile +1 -1
  7. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/MLatomF_src/mathUtils.f90 +21 -10
  8. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/MLatomF_src/optionsModule.f90 +7 -3
  9. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/README +1 -1
  10. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/doc.py +8 -1
  11. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/header.py +6 -0
  12. MLatom-2.2.1/src/MLatom/interfaces/sGDML/__init__.py +0 -0
  13. MLatom-2.2.1/src/MLatom/mlatom_gui.py +1348 -0
  14. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/ref.json +5 -1
  15. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom.egg-info/PKG-INFO +3 -6
  16. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom.egg-info/SOURCES.txt +2 -0
  17. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom.egg-info/entry_points.txt +0 -1
  18. {MLatom-2.2 → MLatom-2.2.1}/LICENSE.txt +0 -0
  19. {MLatom-2.2 → MLatom-2.2.1}/setup.cfg +0 -0
  20. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/AIQM1.py +0 -0
  21. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/LICENSE.CC-BY-NC-ND-4.0 +0 -0
  22. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/ML_NEA.py +0 -0
  23. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/MLatomF +0 -0
  24. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/MLatomF_src/A_KRR.f90 +0 -0
  25. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/MLatomF_src/A_KRR_kernel.f90 +0 -0
  26. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/MLatomF_src/D_CoulombMatrix.f90 +0 -0
  27. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/MLatomF_src/D_rel2eq.f90 +0 -0
  28. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/MLatomF_src/MLatomFInfo.f90 +0 -0
  29. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/MLatomF_src/MLmodel.f90 +0 -0
  30. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/MLatomF_src/Makefile.intel +0 -0
  31. {MLatom-2.2/src/MLatom → MLatom-2.2.1/src/MLatom/MLatomF_src}/__init__.py +0 -0
  32. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/MLatomF_src/analyze.f90 +0 -0
  33. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/MLatomF_src/constants.f90 +0 -0
  34. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/MLatomF_src/cs.cpp +0 -0
  35. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/MLatomF_src/dataset.f90 +0 -0
  36. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/MLatomF_src/molDescr.f90 +0 -0
  37. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/MLatomF_src/precision.f90 +0 -0
  38. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/MLatomF_src/sampling.f90 +0 -0
  39. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/MLatomF_src/statistics.f90 +0 -0
  40. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/MLatomF_src/stopper.f90 +0 -0
  41. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/MLatomF_src/strings.f90 +0 -0
  42. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/MLatomF_src/timing.f90 +0 -0
  43. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/MLatomF_src/types.f90 +0 -0
  44. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/MLtasks.py +0 -0
  45. {MLatom-2.2/src/MLatom/aiqm1_model → MLatom-2.2.1/src/MLatom}/__init__.py +0 -0
  46. {MLatom-2.2/src/MLatom/documentation → MLatom-2.2.1/src/MLatom/aiqm1_model}/__init__.py +0 -0
  47. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/aiqm1_model/aiqm1_cc_cv0.pt +0 -0
  48. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/aiqm1_model/aiqm1_cc_cv1.pt +0 -0
  49. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/aiqm1_model/aiqm1_cc_cv2.pt +0 -0
  50. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/aiqm1_model/aiqm1_cc_cv3.pt +0 -0
  51. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/aiqm1_model/aiqm1_cc_cv4.pt +0 -0
  52. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/aiqm1_model/aiqm1_cc_cv5.pt +0 -0
  53. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/aiqm1_model/aiqm1_cc_cv6.pt +0 -0
  54. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/aiqm1_model/aiqm1_cc_cv7.pt +0 -0
  55. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/aiqm1_model/aiqm1_dft_cv0.pt +0 -0
  56. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/aiqm1_model/aiqm1_dft_cv1.pt +0 -0
  57. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/aiqm1_model/aiqm1_dft_cv2.pt +0 -0
  58. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/aiqm1_model/aiqm1_dft_cv3.pt +0 -0
  59. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/aiqm1_model/aiqm1_dft_cv4.pt +0 -0
  60. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/aiqm1_model/aiqm1_dft_cv5.pt +0 -0
  61. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/aiqm1_model/aiqm1_dft_cv6.pt +0 -0
  62. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/aiqm1_model/aiqm1_dft_cv7.pt +0 -0
  63. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/args_class.py +0 -0
  64. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/calculator.py +0 -0
  65. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/cs.so +0 -0
  66. {MLatom-2.2/src/MLatom/example → MLatom-2.2.1/src/MLatom/documentation}/__init__.py +0 -0
  67. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/documentation/installation.txt +0 -0
  68. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/example/E_FCI_451.dat +0 -0
  69. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/example/E_UHF_451.dat +0 -0
  70. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/example/R_451.dat +0 -0
  71. {MLatom-2.2/src/MLatom/interfaces/DeePMDkit → MLatom-2.2.1/src/MLatom/example}/__init__.py +0 -0
  72. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/example/isubtrain.dat +0 -0
  73. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/example/itest.dat +0 -0
  74. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/example/itrain.dat +0 -0
  75. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/example/ivalidate.dat +0 -0
  76. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/example/mlatom.inp +0 -0
  77. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/example/mlatom.saved +0 -0
  78. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/example/test.sh +0 -0
  79. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/geomopt.py +0 -0
  80. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/interface_MLatomF.py +0 -0
  81. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/interfaces/DeePMDkit/DP_inference.py +0 -0
  82. {MLatom-2.2/src/MLatom/interfaces/GAP → MLatom-2.2.1/src/MLatom/interfaces/DeePMDkit}/__init__.py +0 -0
  83. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/interfaces/DeePMDkit/interface_DeePMDkit.py +0 -0
  84. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/interfaces/DeePMDkit/template.json +0 -0
  85. {MLatom-2.2/src/MLatom/interfaces/PhysNet → MLatom-2.2.1/src/MLatom/interfaces/GAP}/__init__.py +0 -0
  86. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/interfaces/GAP/interface_GAP.py +0 -0
  87. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/interfaces/PhysNet/PhysNet_predict.py +0 -0
  88. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/interfaces/PhysNet/PhysNet_train.py +0 -0
  89. {MLatom-2.2/src/MLatom/interfaces/TorchANI → MLatom-2.2.1/src/MLatom/interfaces/PhysNet}/__init__.py +0 -0
  90. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/interfaces/PhysNet/interface_PhysNet.py +0 -0
  91. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/interfaces/TorchANI/TorchANI_predict.py +0 -0
  92. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/interfaces/TorchANI/TorchANI_train.py +0 -0
  93. {MLatom-2.2/src/MLatom/interfaces → MLatom-2.2.1/src/MLatom/interfaces/TorchANI}/__init__.py +0 -0
  94. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/interfaces/TorchANI/interface_TorchANI.py +0 -0
  95. {MLatom-2.2/src/MLatom/interfaces/sGDML → MLatom-2.2.1/src/MLatom/interfaces}/__init__.py +0 -0
  96. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/interfaces/sGDML/interface_sGDML.py +0 -0
  97. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/interfaces/sGDML/sgdml_dataset_from_extxyz.py +0 -0
  98. /MLatom-2.2/src/MLatom/mlatom_gui.py → /MLatom-2.2.1/src/MLatom/mlatom-gui.py +0 -0
  99. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/shell_cmd.py +0 -0
  100. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/sliceData.py +0 -0
  101. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/stopper.py +0 -0
  102. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom/thermo.py +0 -0
  103. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom.egg-info/dependency_links.txt +0 -0
  104. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom.egg-info/requires.txt +0 -0
  105. {MLatom-2.2 → MLatom-2.2.1}/src/MLatom.egg-info/top_level.txt +0 -0
@@ -1,12 +1,11 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: MLatom
3
- Version: 2.2
3
+ Version: 2.2.1
4
4
  Summary: A Package for Atomistic Simulations with Machine Learning
5
5
  Home-page: http://mlatom.com
6
6
  Author: Pavlo O. Dral
7
7
  Author-email: admin@mlatom.com
8
8
  License: CC BY-NC-ND 4.0
9
- Platform: UNKNOWN
10
9
  Classifier: Programming Language :: Python :: 3
11
10
  Classifier: Operating System :: POSIX :: Linux
12
11
  Classifier: Programming Language :: Fortran
@@ -127,7 +126,7 @@ MLatom also provides interfaces to some third-party software where extra ML mode
127
126
 
128
127
  # About Program
129
128
  MLatom: a Package for Atomistic Simulations with Machine Learning
130
- Version 2.2
129
+ Version 2.2.1
131
130
  http://mlatom.com/
132
131
 
133
132
  Copyright (c) 2013-2022 Pavlo O. Dral
@@ -141,7 +140,7 @@ Cite as:
141
140
 
142
141
  1. Pavlo O. Dral, J. Comput. Chem. 2019, 40, 2339-2347
143
142
  2. Pavlo O. Dral, Fuchun Ge, Bao-Xin Xue, Yi-Fan Hou, Max Pinheiro Jr, Jianxing Huang, Mario Barbatti, Top. Curr. Chem. 2021, 379, 27
144
- 3. Pavlo O. Dral, Peikun Zheng, Bao-Xin Xue, Fuchun Ge, Yi-Fan Hou, Max Pinheiro Jr, MLatom: A Package for Atomistic Simulations with Machine Learning, version 2.2, Xiamen University, Xiamen, China, 2013-2022.
143
+ 3. Pavlo O. Dral, Peikun Zheng, Bao-Xin Xue, Fuchun Ge, Yi-Fan Hou, Max Pinheiro Jr, MLatom: A Package for Atomistic Simulations with Machine Learning, version 2.2.1, Xiamen University, Xiamen, China, 2013-2022.
145
144
 
146
145
 
147
146
  # License
@@ -149,5 +148,3 @@ Cite as:
149
148
  This work is licensed under the [Attribution-NonCommercial-NoDerivatives 4.0 International](http://creativecommons.org/licenses/by-nc-nd/4.0/) license. See LICENSE.CC-BY-NC-ND-4.0.
150
149
 
151
150
  <a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-nd/4.0/88x31.png" /></a>
152
-
153
-
@@ -109,7 +109,7 @@ MLatom also provides interfaces to some third-party software where extra ML mode
109
109
 
110
110
  # About Program
111
111
  MLatom: a Package for Atomistic Simulations with Machine Learning
112
- Version 2.2
112
+ Version 2.2.1
113
113
  http://mlatom.com/
114
114
 
115
115
  Copyright (c) 2013-2022 Pavlo O. Dral
@@ -123,7 +123,7 @@ Cite as:
123
123
 
124
124
  1. Pavlo O. Dral, J. Comput. Chem. 2019, 40, 2339-2347
125
125
  2. Pavlo O. Dral, Fuchun Ge, Bao-Xin Xue, Yi-Fan Hou, Max Pinheiro Jr, Jianxing Huang, Mario Barbatti, Top. Curr. Chem. 2021, 379, 27
126
- 3. Pavlo O. Dral, Peikun Zheng, Bao-Xin Xue, Fuchun Ge, Yi-Fan Hou, Max Pinheiro Jr, MLatom: A Package for Atomistic Simulations with Machine Learning, version 2.2, Xiamen University, Xiamen, China, 2013-2022.
126
+ 3. Pavlo O. Dral, Peikun Zheng, Bao-Xin Xue, Fuchun Ge, Yi-Fan Hou, Max Pinheiro Jr, MLatom: A Package for Atomistic Simulations with Machine Learning, version 2.2.1, Xiamen University, Xiamen, China, 2013-2022.
127
127
 
128
128
 
129
129
  # License
@@ -43,7 +43,7 @@ with open(os.path.join(here, 'README.md')) as f:
43
43
 
44
44
  setup(
45
45
  name = pkg_name,
46
- version = "2.2",
46
+ version = "2.2.1",
47
47
  author = "Pavlo O. Dral",
48
48
  author_email = "admin@mlatom.com",
49
49
  license = 'CC BY-NC-ND 4.0', # https://creativecommons.org/licenses/by-nc-nd/4.0/
@@ -55,7 +55,7 @@ setup(
55
55
  packages = find_packages('src'),
56
56
  package_dir = {'' : 'src'},
57
57
  # scripts = ['mlatom', 'MLatomF'],
58
- package_data = {"": ['MLatomF', '*.json', 'cs.so', '*.pt', '*.dat', '*.txt', '*.inp', '*.saved', '*.sh']},
58
+ package_data = {"": ['MLatomF', 'README', '*.json', 'cs.so', '*.pt', '*.dat', '*.txt', '*.inp', '*.saved', '*.sh']},
59
59
  classifiers = [
60
60
  "Programming Language :: Python :: 3",
61
61
  "Operating System :: POSIX :: Linux",
@@ -4,7 +4,7 @@
4
4
  !---------------------------------------------------------------------------!
5
5
  ! !
6
6
  ! MLatom: a Package for Atomistic Simulations with Machine Learning !
7
- ! Version 2.2 !
7
+ ! Version 2.2.1 !
8
8
  ! http://mlatom.com/ !
9
9
  ! !
10
10
  ! Copyright (c) 2013-2022 Pavlo O. Dral !
@@ -34,7 +34,7 @@
34
34
  ! Pavlo O. Dral, Peikun Zheng, Bao-Xin Xue, Fuchun Ge, Yi-Fan Hou, !
35
35
  ! Max Pinheiro Jr, !
36
36
  ! MLatom: A Package for Atomistic Simulations with Machine Learning !
37
- ! version 2.2, Xiamen University, Xiamen, China, 2013-2022 !
37
+ ! version 2.2.1, Xiamen University, Xiamen, China, 2013-2022 !
38
38
  ! !
39
39
  !---------------------------------------------------------------------------!
40
40
 
@@ -2,10 +2,10 @@
2
2
  !---------------------------------------------------------------------------!
3
3
  ! !
4
4
  ! MLatom: a Package for Atomistic Simulations with Machine Learning !
5
- ! Version 2.2 !
5
+ ! Version 2.0 !
6
6
  ! http://mlatom.com/ !
7
7
  ! !
8
- ! Copyright (c) 2013-2022 Pavlo O. Dral !
8
+ ! Copyright (c) 2013-2021 Pavlo O. Dral !
9
9
  ! http://dr-dral.com/ !
10
10
  ! !
11
11
  ! All rights reserved. No part of MLatom may be used, published or !
@@ -29,7 +29,7 @@
29
29
  ! !
30
30
  ! Pavlo O. Dral, Bao-Xin Xue, Fuchun Ge, Yi-Fan Hou, !
31
31
  ! MLatom: A Package for Atomistic Simulations with Machine Learning !
32
- ! version 2.2, Xiamen University, Xiamen, China, 2013-2022 !
32
+ ! version 2.0, Xiamen University, Xiamen, China, 2013-2021 !
33
33
  ! !
34
34
  !---------------------------------------------------------------------------!
35
35
 
@@ -24,7 +24,7 @@ all: ../MLatomF ../cs.so
24
24
 
25
25
  # ML_NEA cross section shared object
26
26
  ../cs.so : cs.cpp
27
- gcc -fPIC cs.cpp -shared -lstdc++ -fopenmp -O3 -o $@
27
+ gcc -fPIC cs.cpp -static-libgcc -shared -lstdc++ -fopenmp -O3 -o $@
28
28
 
29
29
  # Dependencies
30
30
  A_KRR.o : A_KRR.f90 A_KRR_kernel.o dataset.o mathUtils.o \
@@ -23,9 +23,13 @@ subroutine invertMatrix(AA, nn)
23
23
  ! Arguments
24
24
  integer, intent(in) :: nn
25
25
  real(kind=rprec), intent(inout) :: AA(1:nn,1:nn)
26
+ ! Local variable
27
+ integer :: Error
26
28
 
29
+ Error = 0
27
30
  if (option%matDecomp == 'Cholesky') then
28
- call invertCholesky(AA, nn)
31
+ call invertCholesky(AA, nn, Error)
32
+ if (Error > 0) call invertBK(AA, nn)
29
33
  elseif (option%matDecomp == 'LU') then
30
34
  call invertLU(AA, nn)
31
35
  elseif (option%matDecomp == 'Bunch-Kaufman') then
@@ -106,7 +110,7 @@ end subroutine invertLU
106
110
  !==============================================================================
107
111
 
108
112
  !==============================================================================
109
- subroutine invertCholesky(AA, nn)
113
+ subroutine invertCholesky(AA, nn, Error)
110
114
  !==============================================================================
111
115
  ! Subroutine return inverse of a matrix aInv and destroy passed matrix aInv
112
116
  ! It uses Cholesky factorization and MKL/Lapack subroutines
@@ -118,8 +122,9 @@ subroutine invertCholesky(AA, nn)
118
122
  ! Arguments
119
123
  integer, intent(in) :: nn
120
124
  real(kind=rprec), intent(inout) :: AA(1:nn,1:nn)
125
+ integer, intent(out) :: Error
121
126
  ! Local variables
122
- integer :: ii, jj, Error
127
+ integer :: ii, jj
123
128
  ! Arrays
124
129
  integer*8 :: dateStart(1:8) ! Time and date, when MLatomF starts
125
130
 
@@ -137,7 +142,8 @@ subroutine invertCholesky(AA, nn)
137
142
  call date_and_time(values=dateStart)
138
143
  end if
139
144
  elseif (Error > 0) then
140
- call stopMLatomF('invertCholesky: Cholesky factorization could not be completed')
145
+ write(6,'(A)') 'invertCholesky: Cholesky decomposition failed. Attempting Bunch-Kaufman decomposition'
146
+ return
141
147
  elseif (Error < 0) then
142
148
  call stopMLatomF('invertCholesky: Argument had an illegal value')
143
149
  end if
@@ -166,7 +172,7 @@ end subroutine invertCholesky
166
172
  !==============================================================================
167
173
  subroutine invertBK(AA, nn)
168
174
  !==============================================================================
169
- ! Uses LU factorization and MKL/Lapack subroutines
175
+ ! Uses Bunch-Kaufman factorization and MKL/Lapack subroutines
170
176
  !==============================================================================
171
177
  use optionsModule, only : option
172
178
  use stopper, only : stopMLatomF
@@ -246,9 +252,13 @@ subroutine solveSysLinEqs(nn, nrhs, AA, bb, xx)
246
252
  real(kind=rprec), intent(inout) :: AA(1:nn,1:nn)
247
253
  real(kind=rprec), intent(in) :: bb(1:nn, 1:nrhs)
248
254
  real(kind=rprec), intent(out) :: xx(1:nn, 1:nrhs)
255
+ ! Local variable
256
+ integer :: Error
249
257
 
258
+ Error = 0
250
259
  if (option%matDecomp == 'Cholesky') then
251
- call solveSysLinEqsCholesky(nn, nrhs, AA, bb, xx)
260
+ call solveSysLinEqsCholesky(nn, nrhs, AA, bb, xx, Error)
261
+ if (Error > 0) call solveSysLinEqsBK(nn, nrhs, AA, bb, xx)
252
262
  elseif (option%matDecomp == 'LU') then
253
263
  call solveSysLinEqsLU(nn, nrhs, AA, bb, xx)
254
264
  elseif (option%matDecomp == 'Bunch-Kaufman') then
@@ -259,7 +269,7 @@ end subroutine solveSysLinEqs
259
269
  !==============================================================================
260
270
 
261
271
  !==============================================================================
262
- subroutine solveSysLinEqsCholesky(nn, nrhs, AA, bb, xx)
272
+ subroutine solveSysLinEqsCholesky(nn, nrhs, AA, bb, xx, Error)
263
273
  !==============================================================================
264
274
  ! Subroutine solves a system of linear equations AA*xx = bb
265
275
  ! It uses Cholesky factorization and MKL/Lapack subroutines
@@ -274,8 +284,7 @@ subroutine solveSysLinEqsCholesky(nn, nrhs, AA, bb, xx)
274
284
  real(kind=rprec), intent(inout) :: AA(1:nn,1:nn)
275
285
  real(kind=rprec), intent(in) :: bb(1:nn, 1:nrhs)
276
286
  real(kind=rprec), intent(out) :: xx(1:nn, 1:nrhs)
277
- ! Local variables
278
- integer ::Error
287
+ integer, intent(out) :: Error
279
288
  ! Arrays
280
289
  integer*8 :: dateStart(1:8) ! Time and date, when MLatomF starts
281
290
  integer, allocatable :: iwork(:)
@@ -302,7 +311,9 @@ subroutine solveSysLinEqsCholesky(nn, nrhs, AA, bb, xx)
302
311
  call date_and_time(values=dateStart)
303
312
  end if
304
313
  elseif (Error > 0) then
305
- call stopMLatomF('solveSysLinEqsCholesky: Cholesky factorization could not be completed')
314
+ write(6,'(A)') ' Cholesky decomposition failed. Attempting Bunch-Kaufman decomposition'
315
+ if(allocated(Aoriginal)) deallocate(Aoriginal)
316
+ return
306
317
  elseif (Error < 0) then
307
318
  call stopMLatomF('solveSysLinEqsCholesky: Argument had an illegal value')
308
319
  end if
@@ -582,10 +582,14 @@ subroutine help(unit)
582
582
  write(unit,'(a)') " 9.0 [default]"
583
583
  write(unit,'(a)') " <user-defined>"
584
584
  write(unit,'(a)') " periodKernel periodic kernel"
585
- write(unit,'(a)') " period period"
585
+ write(unit,'(a)') " period=R period"
586
+ write(unit,'(a)') " 1.0 [default]"
587
+ write(unit,'(a)') " <user-defined>"
586
588
  write(unit,'(a)') " decayKernel decaying periodic kernel"
587
- write(unit,'(a)') " period period"
588
- write(unit,'(a)') " sigmap=S length scale for a periodic part"
589
+ write(unit,'(a)') " period=R period"
590
+ write(unit,'(a)') " 1.0 [default]"
591
+ write(unit,'(a)') " <user-defined>"
592
+ write(unit,'(a)') " sigmap=R length scale for a periodic part"
589
593
  write(unit,'(a)') " 100.0 [default]"
590
594
  write(unit,'(a)') " <user-defined>"
591
595
  write(unit,'(a)') " Laplacian. Subsuboptions:"
@@ -1,5 +1,5 @@
1
1
  MLatom: a Package for Atomistic Simulations with Machine Learning
2
- Version 2.1.2
2
+ Version 2.1.1
3
3
  http://mlatom.com/
4
4
 
5
5
  Copyright (c) 2013-2022 Pavlo O. Dral
@@ -609,7 +609,9 @@ class Doc():
609
609
 
610
610
  Optional arguments:
611
611
  kernel=S kernel function type S
612
- Gaussian [default]
612
+ Gaussian [default]
613
+ periodKernel periodic kernel
614
+ decayKernel decaying periodic kernel
613
615
  Laplacian
614
616
  exponential
615
617
  Matern
@@ -634,6 +636,11 @@ class Doc():
634
636
  lgSigmaH=R highest value of log2(lambda)
635
637
  [default values: 9.0 (Gaussian & Matern)
636
638
  12.0 (Laplacian & exponential)]
639
+ period period in periodic and decayed periodic kernel
640
+ [1.0 by default]
641
+ sigmap=R length scale for a periodic part
642
+ in decayed periodic kernel
643
+ [100.0 by default]
637
644
  matDecomp=S type of matrix decomposition
638
645
  Cholesky [default]
639
646
  LU
@@ -80,6 +80,12 @@ def printHeader(args):
80
80
  elif 'optprog=gaussian' in ' '.join(args.args2pass).lower():
81
81
  refItems['Gaussian program'] = refs['Gaussian']
82
82
 
83
+ if 'periodkernel' in ' '.join(args.args2pass).lower():
84
+ refItems['Periodic kernel'] = refs['4D'] + '\n\n' + refs['sklpaper']
85
+
86
+ if 'decaykernel' in ' '.join(args.args2pass).lower():
87
+ refItems['Decaying periodic kernel'] = refs['MLQDSBbench'] + '\n\n' + refs['sklpaper'] + '\n\n' + refs['RasmussenGP']
88
+
83
89
  # Data set tasks
84
90
  if args.sampleFromSlices or args.mergeSlices or args.slice: refItems['slicing'] = refs['JCP2017_MLCH3Cl']
85
91
  if args.sampling == 'structure-based': refItems['structure-based sampling'] = refs['JCP2017_MLCH3Cl']
File without changes