stochtree 0.0.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 (418) hide show
  1. stochtree-0.0.1/CMakeLists.txt +165 -0
  2. stochtree-0.0.1/LICENSE +2 -0
  3. stochtree-0.0.1/LICENSE.md +21 -0
  4. stochtree-0.0.1/MANIFEST.in +69 -0
  5. stochtree-0.0.1/PKG-INFO +27 -0
  6. stochtree-0.0.1/README.md +175 -0
  7. stochtree-0.0.1/deps/eigen/Eigen/Cholesky +45 -0
  8. stochtree-0.0.1/deps/eigen/Eigen/Core +385 -0
  9. stochtree-0.0.1/deps/eigen/Eigen/Dense +7 -0
  10. stochtree-0.0.1/deps/eigen/Eigen/Eigenvalues +60 -0
  11. stochtree-0.0.1/deps/eigen/Eigen/Geometry +59 -0
  12. stochtree-0.0.1/deps/eigen/Eigen/Householder +29 -0
  13. stochtree-0.0.1/deps/eigen/Eigen/IterativeLinearSolvers +48 -0
  14. stochtree-0.0.1/deps/eigen/Eigen/Jacobi +32 -0
  15. stochtree-0.0.1/deps/eigen/Eigen/LU +47 -0
  16. stochtree-0.0.1/deps/eigen/Eigen/OrderingMethods +70 -0
  17. stochtree-0.0.1/deps/eigen/Eigen/QR +50 -0
  18. stochtree-0.0.1/deps/eigen/Eigen/SVD +50 -0
  19. stochtree-0.0.1/deps/eigen/Eigen/Sparse +34 -0
  20. stochtree-0.0.1/deps/eigen/Eigen/SparseCholesky +37 -0
  21. stochtree-0.0.1/deps/eigen/Eigen/SparseCore +69 -0
  22. stochtree-0.0.1/deps/eigen/Eigen/SparseQR +36 -0
  23. stochtree-0.0.1/deps/eigen/Eigen/src/Cholesky/LDLT.h +688 -0
  24. stochtree-0.0.1/deps/eigen/Eigen/src/Cholesky/LLT.h +558 -0
  25. stochtree-0.0.1/deps/eigen/Eigen/src/Cholesky/LLT_LAPACKE.h +99 -0
  26. stochtree-0.0.1/deps/eigen/Eigen/src/Core/ArithmeticSequence.h +413 -0
  27. stochtree-0.0.1/deps/eigen/Eigen/src/Core/Array.h +417 -0
  28. stochtree-0.0.1/deps/eigen/Eigen/src/Core/ArrayBase.h +226 -0
  29. stochtree-0.0.1/deps/eigen/Eigen/src/Core/ArrayWrapper.h +209 -0
  30. stochtree-0.0.1/deps/eigen/Eigen/src/Core/Assign.h +90 -0
  31. stochtree-0.0.1/deps/eigen/Eigen/src/Core/AssignEvaluator.h +1010 -0
  32. stochtree-0.0.1/deps/eigen/Eigen/src/Core/Assign_MKL.h +178 -0
  33. stochtree-0.0.1/deps/eigen/Eigen/src/Core/BandMatrix.h +353 -0
  34. stochtree-0.0.1/deps/eigen/Eigen/src/Core/Block.h +463 -0
  35. stochtree-0.0.1/deps/eigen/Eigen/src/Core/BooleanRedux.h +164 -0
  36. stochtree-0.0.1/deps/eigen/Eigen/src/Core/CommaInitializer.h +164 -0
  37. stochtree-0.0.1/deps/eigen/Eigen/src/Core/ConditionEstimator.h +175 -0
  38. stochtree-0.0.1/deps/eigen/Eigen/src/Core/CoreEvaluators.h +1741 -0
  39. stochtree-0.0.1/deps/eigen/Eigen/src/Core/CoreIterators.h +132 -0
  40. stochtree-0.0.1/deps/eigen/Eigen/src/Core/CwiseBinaryOp.h +183 -0
  41. stochtree-0.0.1/deps/eigen/Eigen/src/Core/CwiseNullaryOp.h +1001 -0
  42. stochtree-0.0.1/deps/eigen/Eigen/src/Core/CwiseTernaryOp.h +197 -0
  43. stochtree-0.0.1/deps/eigen/Eigen/src/Core/CwiseUnaryOp.h +103 -0
  44. stochtree-0.0.1/deps/eigen/Eigen/src/Core/CwiseUnaryView.h +132 -0
  45. stochtree-0.0.1/deps/eigen/Eigen/src/Core/DenseBase.h +701 -0
  46. stochtree-0.0.1/deps/eigen/Eigen/src/Core/DenseCoeffsBase.h +685 -0
  47. stochtree-0.0.1/deps/eigen/Eigen/src/Core/DenseStorage.h +652 -0
  48. stochtree-0.0.1/deps/eigen/Eigen/src/Core/Diagonal.h +259 -0
  49. stochtree-0.0.1/deps/eigen/Eigen/src/Core/DiagonalMatrix.h +391 -0
  50. stochtree-0.0.1/deps/eigen/Eigen/src/Core/DiagonalProduct.h +28 -0
  51. stochtree-0.0.1/deps/eigen/Eigen/src/Core/Dot.h +313 -0
  52. stochtree-0.0.1/deps/eigen/Eigen/src/Core/EigenBase.h +160 -0
  53. stochtree-0.0.1/deps/eigen/Eigen/src/Core/ForceAlignedAccess.h +150 -0
  54. stochtree-0.0.1/deps/eigen/Eigen/src/Core/Fuzzy.h +155 -0
  55. stochtree-0.0.1/deps/eigen/Eigen/src/Core/GeneralProduct.h +465 -0
  56. stochtree-0.0.1/deps/eigen/Eigen/src/Core/GenericPacketMath.h +1040 -0
  57. stochtree-0.0.1/deps/eigen/Eigen/src/Core/GlobalFunctions.h +194 -0
  58. stochtree-0.0.1/deps/eigen/Eigen/src/Core/IO.h +258 -0
  59. stochtree-0.0.1/deps/eigen/Eigen/src/Core/IndexedView.h +247 -0
  60. stochtree-0.0.1/deps/eigen/Eigen/src/Core/Inverse.h +117 -0
  61. stochtree-0.0.1/deps/eigen/Eigen/src/Core/Map.h +171 -0
  62. stochtree-0.0.1/deps/eigen/Eigen/src/Core/MapBase.h +310 -0
  63. stochtree-0.0.1/deps/eigen/Eigen/src/Core/MathFunctions.h +2212 -0
  64. stochtree-0.0.1/deps/eigen/Eigen/src/Core/MathFunctionsImpl.h +200 -0
  65. stochtree-0.0.1/deps/eigen/Eigen/src/Core/Matrix.h +565 -0
  66. stochtree-0.0.1/deps/eigen/Eigen/src/Core/MatrixBase.h +541 -0
  67. stochtree-0.0.1/deps/eigen/Eigen/src/Core/NestByValue.h +85 -0
  68. stochtree-0.0.1/deps/eigen/Eigen/src/Core/NoAlias.h +109 -0
  69. stochtree-0.0.1/deps/eigen/Eigen/src/Core/NumTraits.h +348 -0
  70. stochtree-0.0.1/deps/eigen/Eigen/src/Core/PartialReduxEvaluator.h +237 -0
  71. stochtree-0.0.1/deps/eigen/Eigen/src/Core/PermutationMatrix.h +605 -0
  72. stochtree-0.0.1/deps/eigen/Eigen/src/Core/PlainObjectBase.h +1128 -0
  73. stochtree-0.0.1/deps/eigen/Eigen/src/Core/Product.h +191 -0
  74. stochtree-0.0.1/deps/eigen/Eigen/src/Core/ProductEvaluators.h +1179 -0
  75. stochtree-0.0.1/deps/eigen/Eigen/src/Core/Random.h +218 -0
  76. stochtree-0.0.1/deps/eigen/Eigen/src/Core/Redux.h +515 -0
  77. stochtree-0.0.1/deps/eigen/Eigen/src/Core/Ref.h +381 -0
  78. stochtree-0.0.1/deps/eigen/Eigen/src/Core/Replicate.h +142 -0
  79. stochtree-0.0.1/deps/eigen/Eigen/src/Core/Reshaped.h +454 -0
  80. stochtree-0.0.1/deps/eigen/Eigen/src/Core/ReturnByValue.h +119 -0
  81. stochtree-0.0.1/deps/eigen/Eigen/src/Core/Reverse.h +217 -0
  82. stochtree-0.0.1/deps/eigen/Eigen/src/Core/Select.h +164 -0
  83. stochtree-0.0.1/deps/eigen/Eigen/src/Core/SelfAdjointView.h +365 -0
  84. stochtree-0.0.1/deps/eigen/Eigen/src/Core/SelfCwiseBinaryOp.h +47 -0
  85. stochtree-0.0.1/deps/eigen/Eigen/src/Core/Solve.h +188 -0
  86. stochtree-0.0.1/deps/eigen/Eigen/src/Core/SolveTriangular.h +235 -0
  87. stochtree-0.0.1/deps/eigen/Eigen/src/Core/SolverBase.h +168 -0
  88. stochtree-0.0.1/deps/eigen/Eigen/src/Core/StableNorm.h +251 -0
  89. stochtree-0.0.1/deps/eigen/Eigen/src/Core/StlIterators.h +463 -0
  90. stochtree-0.0.1/deps/eigen/Eigen/src/Core/Stride.h +120 -0
  91. stochtree-0.0.1/deps/eigen/Eigen/src/Core/Swap.h +68 -0
  92. stochtree-0.0.1/deps/eigen/Eigen/src/Core/Transpose.h +464 -0
  93. stochtree-0.0.1/deps/eigen/Eigen/src/Core/Transpositions.h +386 -0
  94. stochtree-0.0.1/deps/eigen/Eigen/src/Core/TriangularMatrix.h +1001 -0
  95. stochtree-0.0.1/deps/eigen/Eigen/src/Core/VectorBlock.h +96 -0
  96. stochtree-0.0.1/deps/eigen/Eigen/src/Core/VectorwiseOp.h +784 -0
  97. stochtree-0.0.1/deps/eigen/Eigen/src/Core/Visitor.h +381 -0
  98. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/AVX/Complex.h +368 -0
  99. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/AVX/MathFunctions.h +228 -0
  100. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/AVX/PacketMath.h +1588 -0
  101. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/AVX/TypeCasting.h +115 -0
  102. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/AVX512/Complex.h +384 -0
  103. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/AVX512/MathFunctions.h +361 -0
  104. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/AVX512/PacketMath.h +2270 -0
  105. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/AVX512/TypeCasting.h +89 -0
  106. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/AltiVec/Complex.h +411 -0
  107. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/AltiVec/MathFunctions.h +104 -0
  108. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +2776 -0
  109. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +159 -0
  110. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +627 -0
  111. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/AltiVec/PacketMath.h +2729 -0
  112. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/CUDA/Complex.h +269 -0
  113. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/Default/BFloat16.h +688 -0
  114. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/Default/ConjHelper.h +117 -0
  115. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +1662 -0
  116. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +116 -0
  117. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/Default/Half.h +950 -0
  118. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/Default/Settings.h +49 -0
  119. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/Default/TypeCasting.h +120 -0
  120. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/GPU/MathFunctions.h +103 -0
  121. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/GPU/PacketMath.h +1646 -0
  122. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/GPU/TypeCasting.h +79 -0
  123. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/HIP/hcc/math_constants.h +23 -0
  124. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/MSA/Complex.h +645 -0
  125. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/MSA/MathFunctions.h +387 -0
  126. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/MSA/PacketMath.h +1233 -0
  127. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/NEON/Complex.h +563 -0
  128. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +183 -0
  129. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/NEON/MathFunctions.h +75 -0
  130. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/NEON/PacketMath.h +4610 -0
  131. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/NEON/TypeCasting.h +1424 -0
  132. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/SSE/Complex.h +338 -0
  133. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/SSE/MathFunctions.h +199 -0
  134. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/SSE/PacketMath.h +1505 -0
  135. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/SSE/TypeCasting.h +142 -0
  136. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/SVE/MathFunctions.h +44 -0
  137. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/SVE/PacketMath.h +752 -0
  138. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/SVE/TypeCasting.h +49 -0
  139. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/SYCL/InteropHeaders.h +232 -0
  140. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/SYCL/MathFunctions.h +301 -0
  141. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/SYCL/PacketMath.h +670 -0
  142. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h +694 -0
  143. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/SYCL/TypeCasting.h +85 -0
  144. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/ZVector/Complex.h +426 -0
  145. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/ZVector/MathFunctions.h +233 -0
  146. stochtree-0.0.1/deps/eigen/Eigen/src/Core/arch/ZVector/PacketMath.h +1060 -0
  147. stochtree-0.0.1/deps/eigen/Eigen/src/Core/functors/AssignmentFunctors.h +177 -0
  148. stochtree-0.0.1/deps/eigen/Eigen/src/Core/functors/BinaryFunctors.h +541 -0
  149. stochtree-0.0.1/deps/eigen/Eigen/src/Core/functors/NullaryFunctors.h +189 -0
  150. stochtree-0.0.1/deps/eigen/Eigen/src/Core/functors/StlFunctors.h +166 -0
  151. stochtree-0.0.1/deps/eigen/Eigen/src/Core/functors/TernaryFunctors.h +25 -0
  152. stochtree-0.0.1/deps/eigen/Eigen/src/Core/functors/UnaryFunctors.h +1131 -0
  153. stochtree-0.0.1/deps/eigen/Eigen/src/Core/products/GeneralBlockPanelKernel.h +2645 -0
  154. stochtree-0.0.1/deps/eigen/Eigen/src/Core/products/GeneralMatrixMatrix.h +517 -0
  155. stochtree-0.0.1/deps/eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +317 -0
  156. stochtree-0.0.1/deps/eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +145 -0
  157. stochtree-0.0.1/deps/eigen/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +124 -0
  158. stochtree-0.0.1/deps/eigen/Eigen/src/Core/products/GeneralMatrixVector.h +523 -0
  159. stochtree-0.0.1/deps/eigen/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +136 -0
  160. stochtree-0.0.1/deps/eigen/Eigen/src/Core/products/Parallelizer.h +180 -0
  161. stochtree-0.0.1/deps/eigen/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +544 -0
  162. stochtree-0.0.1/deps/eigen/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +295 -0
  163. stochtree-0.0.1/deps/eigen/Eigen/src/Core/products/SelfadjointMatrixVector.h +262 -0
  164. stochtree-0.0.1/deps/eigen/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +118 -0
  165. stochtree-0.0.1/deps/eigen/Eigen/src/Core/products/SelfadjointProduct.h +133 -0
  166. stochtree-0.0.1/deps/eigen/Eigen/src/Core/products/SelfadjointRank2Update.h +94 -0
  167. stochtree-0.0.1/deps/eigen/Eigen/src/Core/products/TriangularMatrixMatrix.h +472 -0
  168. stochtree-0.0.1/deps/eigen/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +317 -0
  169. stochtree-0.0.1/deps/eigen/Eigen/src/Core/products/TriangularMatrixVector.h +350 -0
  170. stochtree-0.0.1/deps/eigen/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +255 -0
  171. stochtree-0.0.1/deps/eigen/Eigen/src/Core/products/TriangularSolverMatrix.h +337 -0
  172. stochtree-0.0.1/deps/eigen/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +167 -0
  173. stochtree-0.0.1/deps/eigen/Eigen/src/Core/products/TriangularSolverVector.h +148 -0
  174. stochtree-0.0.1/deps/eigen/Eigen/src/Core/util/BlasUtil.h +583 -0
  175. stochtree-0.0.1/deps/eigen/Eigen/src/Core/util/ConfigureVectorization.h +514 -0
  176. stochtree-0.0.1/deps/eigen/Eigen/src/Core/util/Constants.h +563 -0
  177. stochtree-0.0.1/deps/eigen/Eigen/src/Core/util/DisableStupidWarnings.h +138 -0
  178. stochtree-0.0.1/deps/eigen/Eigen/src/Core/util/ForwardDeclarations.h +322 -0
  179. stochtree-0.0.1/deps/eigen/Eigen/src/Core/util/IndexedViewHelper.h +186 -0
  180. stochtree-0.0.1/deps/eigen/Eigen/src/Core/util/IntegralConstant.h +272 -0
  181. stochtree-0.0.1/deps/eigen/Eigen/src/Core/util/MKL_support.h +137 -0
  182. stochtree-0.0.1/deps/eigen/Eigen/src/Core/util/Macros.h +1477 -0
  183. stochtree-0.0.1/deps/eigen/Eigen/src/Core/util/Memory.h +1202 -0
  184. stochtree-0.0.1/deps/eigen/Eigen/src/Core/util/Meta.h +814 -0
  185. stochtree-0.0.1/deps/eigen/Eigen/src/Core/util/NonMPL2.h +3 -0
  186. stochtree-0.0.1/deps/eigen/Eigen/src/Core/util/ReenableStupidWarnings.h +31 -0
  187. stochtree-0.0.1/deps/eigen/Eigen/src/Core/util/ReshapedHelper.h +51 -0
  188. stochtree-0.0.1/deps/eigen/Eigen/src/Core/util/StaticAssert.h +221 -0
  189. stochtree-0.0.1/deps/eigen/Eigen/src/Core/util/SymbolicIndex.h +293 -0
  190. stochtree-0.0.1/deps/eigen/Eigen/src/Core/util/XprHelper.h +856 -0
  191. stochtree-0.0.1/deps/eigen/Eigen/src/Eigenvalues/ComplexEigenSolver.h +345 -0
  192. stochtree-0.0.1/deps/eigen/Eigen/src/Eigenvalues/ComplexSchur.h +462 -0
  193. stochtree-0.0.1/deps/eigen/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +91 -0
  194. stochtree-0.0.1/deps/eigen/Eigen/src/Eigenvalues/EigenSolver.h +622 -0
  195. stochtree-0.0.1/deps/eigen/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +417 -0
  196. stochtree-0.0.1/deps/eigen/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +226 -0
  197. stochtree-0.0.1/deps/eigen/Eigen/src/Eigenvalues/HessenbergDecomposition.h +374 -0
  198. stochtree-0.0.1/deps/eigen/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +158 -0
  199. stochtree-0.0.1/deps/eigen/Eigen/src/Eigenvalues/RealQZ.h +657 -0
  200. stochtree-0.0.1/deps/eigen/Eigen/src/Eigenvalues/RealSchur.h +557 -0
  201. stochtree-0.0.1/deps/eigen/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +77 -0
  202. stochtree-0.0.1/deps/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +904 -0
  203. stochtree-0.0.1/deps/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +87 -0
  204. stochtree-0.0.1/deps/eigen/Eigen/src/Eigenvalues/Tridiagonalization.h +560 -0
  205. stochtree-0.0.1/deps/eigen/Eigen/src/Geometry/AlignedBox.h +486 -0
  206. stochtree-0.0.1/deps/eigen/Eigen/src/Geometry/AngleAxis.h +247 -0
  207. stochtree-0.0.1/deps/eigen/Eigen/src/Geometry/EulerAngles.h +114 -0
  208. stochtree-0.0.1/deps/eigen/Eigen/src/Geometry/Homogeneous.h +501 -0
  209. stochtree-0.0.1/deps/eigen/Eigen/src/Geometry/Hyperplane.h +282 -0
  210. stochtree-0.0.1/deps/eigen/Eigen/src/Geometry/OrthoMethods.h +235 -0
  211. stochtree-0.0.1/deps/eigen/Eigen/src/Geometry/ParametrizedLine.h +232 -0
  212. stochtree-0.0.1/deps/eigen/Eigen/src/Geometry/Quaternion.h +870 -0
  213. stochtree-0.0.1/deps/eigen/Eigen/src/Geometry/Rotation2D.h +199 -0
  214. stochtree-0.0.1/deps/eigen/Eigen/src/Geometry/RotationBase.h +206 -0
  215. stochtree-0.0.1/deps/eigen/Eigen/src/Geometry/Scaling.h +188 -0
  216. stochtree-0.0.1/deps/eigen/Eigen/src/Geometry/Transform.h +1566 -0
  217. stochtree-0.0.1/deps/eigen/Eigen/src/Geometry/Translation.h +202 -0
  218. stochtree-0.0.1/deps/eigen/Eigen/src/Geometry/Umeyama.h +168 -0
  219. stochtree-0.0.1/deps/eigen/Eigen/src/Geometry/arch/Geometry_SIMD.h +168 -0
  220. stochtree-0.0.1/deps/eigen/Eigen/src/Householder/BlockHouseholder.h +110 -0
  221. stochtree-0.0.1/deps/eigen/Eigen/src/Householder/Householder.h +176 -0
  222. stochtree-0.0.1/deps/eigen/Eigen/src/Householder/HouseholderSequence.h +545 -0
  223. stochtree-0.0.1/deps/eigen/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +226 -0
  224. stochtree-0.0.1/deps/eigen/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +212 -0
  225. stochtree-0.0.1/deps/eigen/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +227 -0
  226. stochtree-0.0.1/deps/eigen/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +394 -0
  227. stochtree-0.0.1/deps/eigen/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +453 -0
  228. stochtree-0.0.1/deps/eigen/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +444 -0
  229. stochtree-0.0.1/deps/eigen/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +198 -0
  230. stochtree-0.0.1/deps/eigen/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +117 -0
  231. stochtree-0.0.1/deps/eigen/Eigen/src/Jacobi/Jacobi.h +483 -0
  232. stochtree-0.0.1/deps/eigen/Eigen/src/LU/Determinant.h +117 -0
  233. stochtree-0.0.1/deps/eigen/Eigen/src/LU/FullPivLU.h +877 -0
  234. stochtree-0.0.1/deps/eigen/Eigen/src/LU/InverseImpl.h +432 -0
  235. stochtree-0.0.1/deps/eigen/Eigen/src/LU/PartialPivLU.h +624 -0
  236. stochtree-0.0.1/deps/eigen/Eigen/src/LU/PartialPivLU_LAPACKE.h +83 -0
  237. stochtree-0.0.1/deps/eigen/Eigen/src/LU/arch/InverseSize4.h +363 -0
  238. stochtree-0.0.1/deps/eigen/Eigen/src/OrderingMethods/Amd.h +435 -0
  239. stochtree-0.0.1/deps/eigen/Eigen/src/OrderingMethods/Eigen_Colamd.h +1863 -0
  240. stochtree-0.0.1/deps/eigen/Eigen/src/OrderingMethods/Ordering.h +153 -0
  241. stochtree-0.0.1/deps/eigen/Eigen/src/QR/ColPivHouseholderQR.h +674 -0
  242. stochtree-0.0.1/deps/eigen/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +97 -0
  243. stochtree-0.0.1/deps/eigen/Eigen/src/QR/CompleteOrthogonalDecomposition.h +635 -0
  244. stochtree-0.0.1/deps/eigen/Eigen/src/QR/FullPivHouseholderQR.h +713 -0
  245. stochtree-0.0.1/deps/eigen/Eigen/src/QR/HouseholderQR.h +434 -0
  246. stochtree-0.0.1/deps/eigen/Eigen/src/QR/HouseholderQR_LAPACKE.h +68 -0
  247. stochtree-0.0.1/deps/eigen/Eigen/src/SVD/BDCSVD.h +1377 -0
  248. stochtree-0.0.1/deps/eigen/Eigen/src/SVD/JacobiSVD.h +813 -0
  249. stochtree-0.0.1/deps/eigen/Eigen/src/SVD/JacobiSVD_LAPACKE.h +91 -0
  250. stochtree-0.0.1/deps/eigen/Eigen/src/SVD/SVDBase.h +376 -0
  251. stochtree-0.0.1/deps/eigen/Eigen/src/SVD/UpperBidiagonalization.h +415 -0
  252. stochtree-0.0.1/deps/eigen/Eigen/src/SparseCholesky/SimplicialCholesky.h +697 -0
  253. stochtree-0.0.1/deps/eigen/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +174 -0
  254. stochtree-0.0.1/deps/eigen/Eigen/src/SparseCore/AmbiVector.h +378 -0
  255. stochtree-0.0.1/deps/eigen/Eigen/src/SparseCore/CompressedStorage.h +274 -0
  256. stochtree-0.0.1/deps/eigen/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +352 -0
  257. stochtree-0.0.1/deps/eigen/Eigen/src/SparseCore/MappedSparseMatrix.h +67 -0
  258. stochtree-0.0.1/deps/eigen/Eigen/src/SparseCore/SparseAssign.h +270 -0
  259. stochtree-0.0.1/deps/eigen/Eigen/src/SparseCore/SparseBlock.h +566 -0
  260. stochtree-0.0.1/deps/eigen/Eigen/src/SparseCore/SparseColEtree.h +206 -0
  261. stochtree-0.0.1/deps/eigen/Eigen/src/SparseCore/SparseCompressedBase.h +370 -0
  262. stochtree-0.0.1/deps/eigen/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +722 -0
  263. stochtree-0.0.1/deps/eigen/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +150 -0
  264. stochtree-0.0.1/deps/eigen/Eigen/src/SparseCore/SparseDenseProduct.h +342 -0
  265. stochtree-0.0.1/deps/eigen/Eigen/src/SparseCore/SparseDiagonalProduct.h +138 -0
  266. stochtree-0.0.1/deps/eigen/Eigen/src/SparseCore/SparseDot.h +98 -0
  267. stochtree-0.0.1/deps/eigen/Eigen/src/SparseCore/SparseFuzzy.h +29 -0
  268. stochtree-0.0.1/deps/eigen/Eigen/src/SparseCore/SparseMap.h +306 -0
  269. stochtree-0.0.1/deps/eigen/Eigen/src/SparseCore/SparseMatrix.h +1520 -0
  270. stochtree-0.0.1/deps/eigen/Eigen/src/SparseCore/SparseMatrixBase.h +399 -0
  271. stochtree-0.0.1/deps/eigen/Eigen/src/SparseCore/SparsePermutation.h +178 -0
  272. stochtree-0.0.1/deps/eigen/Eigen/src/SparseCore/SparseProduct.h +181 -0
  273. stochtree-0.0.1/deps/eigen/Eigen/src/SparseCore/SparseRedux.h +49 -0
  274. stochtree-0.0.1/deps/eigen/Eigen/src/SparseCore/SparseRef.h +397 -0
  275. stochtree-0.0.1/deps/eigen/Eigen/src/SparseCore/SparseSelfAdjointView.h +659 -0
  276. stochtree-0.0.1/deps/eigen/Eigen/src/SparseCore/SparseSolverBase.h +124 -0
  277. stochtree-0.0.1/deps/eigen/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +198 -0
  278. stochtree-0.0.1/deps/eigen/Eigen/src/SparseCore/SparseTranspose.h +92 -0
  279. stochtree-0.0.1/deps/eigen/Eigen/src/SparseCore/SparseTriangularView.h +189 -0
  280. stochtree-0.0.1/deps/eigen/Eigen/src/SparseCore/SparseUtil.h +186 -0
  281. stochtree-0.0.1/deps/eigen/Eigen/src/SparseCore/SparseVector.h +480 -0
  282. stochtree-0.0.1/deps/eigen/Eigen/src/SparseCore/SparseView.h +254 -0
  283. stochtree-0.0.1/deps/eigen/Eigen/src/SparseCore/TriangularSolver.h +315 -0
  284. stochtree-0.0.1/deps/eigen/Eigen/src/SparseQR/SparseQR.h +758 -0
  285. stochtree-0.0.1/deps/eigen/Eigen/src/misc/Image.h +82 -0
  286. stochtree-0.0.1/deps/eigen/Eigen/src/misc/Kernel.h +79 -0
  287. stochtree-0.0.1/deps/eigen/Eigen/src/misc/RealSvd2x2.h +55 -0
  288. stochtree-0.0.1/deps/eigen/Eigen/src/misc/blas.h +440 -0
  289. stochtree-0.0.1/deps/eigen/Eigen/src/misc/lapack.h +152 -0
  290. stochtree-0.0.1/deps/eigen/Eigen/src/misc/lapacke.h +16292 -0
  291. stochtree-0.0.1/deps/eigen/Eigen/src/misc/lapacke_mangling.h +17 -0
  292. stochtree-0.0.1/deps/eigen/Eigen/src/plugins/ArrayCwiseBinaryOps.h +434 -0
  293. stochtree-0.0.1/deps/eigen/Eigen/src/plugins/ArrayCwiseUnaryOps.h +696 -0
  294. stochtree-0.0.1/deps/eigen/Eigen/src/plugins/BlockMethods.h +1442 -0
  295. stochtree-0.0.1/deps/eigen/Eigen/src/plugins/CommonCwiseBinaryOps.h +115 -0
  296. stochtree-0.0.1/deps/eigen/Eigen/src/plugins/CommonCwiseUnaryOps.h +177 -0
  297. stochtree-0.0.1/deps/eigen/Eigen/src/plugins/IndexedViewMethods.h +262 -0
  298. stochtree-0.0.1/deps/eigen/Eigen/src/plugins/MatrixCwiseBinaryOps.h +184 -0
  299. stochtree-0.0.1/deps/eigen/Eigen/src/plugins/MatrixCwiseUnaryOps.h +95 -0
  300. stochtree-0.0.1/deps/eigen/Eigen/src/plugins/ReshapedMethods.h +149 -0
  301. stochtree-0.0.1/deps/fast_double_parser/include/fast_double_parser.h +1270 -0
  302. stochtree-0.0.1/deps/fmt/include/fmt/args.h +228 -0
  303. stochtree-0.0.1/deps/fmt/include/fmt/base.h +3050 -0
  304. stochtree-0.0.1/deps/fmt/include/fmt/chrono.h +2432 -0
  305. stochtree-0.0.1/deps/fmt/include/fmt/color.h +612 -0
  306. stochtree-0.0.1/deps/fmt/include/fmt/compile.h +529 -0
  307. stochtree-0.0.1/deps/fmt/include/fmt/core.h +5 -0
  308. stochtree-0.0.1/deps/fmt/include/fmt/format-inl.h +1897 -0
  309. stochtree-0.0.1/deps/fmt/include/fmt/format.h +4413 -0
  310. stochtree-0.0.1/deps/fmt/include/fmt/os.h +439 -0
  311. stochtree-0.0.1/deps/fmt/include/fmt/ostream.h +211 -0
  312. stochtree-0.0.1/deps/fmt/include/fmt/printf.h +656 -0
  313. stochtree-0.0.1/deps/fmt/include/fmt/ranges.h +879 -0
  314. stochtree-0.0.1/deps/fmt/include/fmt/std.h +647 -0
  315. stochtree-0.0.1/deps/fmt/include/fmt/xchar.h +322 -0
  316. stochtree-0.0.1/deps/pybind11/CMakeLists.txt +373 -0
  317. stochtree-0.0.1/deps/pybind11/include/pybind11/attr.h +690 -0
  318. stochtree-0.0.1/deps/pybind11/include/pybind11/buffer_info.h +208 -0
  319. stochtree-0.0.1/deps/pybind11/include/pybind11/cast.h +1837 -0
  320. stochtree-0.0.1/deps/pybind11/include/pybind11/chrono.h +225 -0
  321. stochtree-0.0.1/deps/pybind11/include/pybind11/common.h +2 -0
  322. stochtree-0.0.1/deps/pybind11/include/pybind11/complex.h +74 -0
  323. stochtree-0.0.1/deps/pybind11/include/pybind11/detail/class.h +748 -0
  324. stochtree-0.0.1/deps/pybind11/include/pybind11/detail/common.h +1267 -0
  325. stochtree-0.0.1/deps/pybind11/include/pybind11/detail/descr.h +171 -0
  326. stochtree-0.0.1/deps/pybind11/include/pybind11/detail/init.h +434 -0
  327. stochtree-0.0.1/deps/pybind11/include/pybind11/detail/internals.h +667 -0
  328. stochtree-0.0.1/deps/pybind11/include/pybind11/detail/type_caster_base.h +1218 -0
  329. stochtree-0.0.1/deps/pybind11/include/pybind11/detail/typeid.h +65 -0
  330. stochtree-0.0.1/deps/pybind11/include/pybind11/eigen/common.h +9 -0
  331. stochtree-0.0.1/deps/pybind11/include/pybind11/eigen/matrix.h +714 -0
  332. stochtree-0.0.1/deps/pybind11/include/pybind11/eigen/tensor.h +517 -0
  333. stochtree-0.0.1/deps/pybind11/include/pybind11/eigen.h +12 -0
  334. stochtree-0.0.1/deps/pybind11/include/pybind11/embed.h +316 -0
  335. stochtree-0.0.1/deps/pybind11/include/pybind11/eval.h +156 -0
  336. stochtree-0.0.1/deps/pybind11/include/pybind11/functional.h +138 -0
  337. stochtree-0.0.1/deps/pybind11/include/pybind11/gil.h +247 -0
  338. stochtree-0.0.1/deps/pybind11/include/pybind11/gil_safe_call_once.h +91 -0
  339. stochtree-0.0.1/deps/pybind11/include/pybind11/iostream.h +265 -0
  340. stochtree-0.0.1/deps/pybind11/include/pybind11/numpy.h +2133 -0
  341. stochtree-0.0.1/deps/pybind11/include/pybind11/operators.h +202 -0
  342. stochtree-0.0.1/deps/pybind11/include/pybind11/options.h +92 -0
  343. stochtree-0.0.1/deps/pybind11/include/pybind11/pybind11.h +2963 -0
  344. stochtree-0.0.1/deps/pybind11/include/pybind11/pytypes.h +2574 -0
  345. stochtree-0.0.1/deps/pybind11/include/pybind11/stl/filesystem.h +116 -0
  346. stochtree-0.0.1/deps/pybind11/include/pybind11/stl.h +448 -0
  347. stochtree-0.0.1/deps/pybind11/include/pybind11/stl_bind.h +823 -0
  348. stochtree-0.0.1/deps/pybind11/include/pybind11/type_caster_pyobject_ptr.h +61 -0
  349. stochtree-0.0.1/deps/pybind11/include/pybind11/typing.h +125 -0
  350. stochtree-0.0.1/deps/pybind11/pyproject.toml +95 -0
  351. stochtree-0.0.1/deps/pybind11/setup.cfg +43 -0
  352. stochtree-0.0.1/deps/pybind11/setup.py +150 -0
  353. stochtree-0.0.1/deps/pybind11/tools/FindCatch.cmake +76 -0
  354. stochtree-0.0.1/deps/pybind11/tools/FindEigen3.cmake +86 -0
  355. stochtree-0.0.1/deps/pybind11/tools/FindPythonLibsNew.cmake +310 -0
  356. stochtree-0.0.1/deps/pybind11/tools/JoinPaths.cmake +23 -0
  357. stochtree-0.0.1/deps/pybind11/tools/check-style.sh +44 -0
  358. stochtree-0.0.1/deps/pybind11/tools/cmake_uninstall.cmake.in +23 -0
  359. stochtree-0.0.1/deps/pybind11/tools/codespell_ignore_lines_from_errors.py +39 -0
  360. stochtree-0.0.1/deps/pybind11/tools/libsize.py +36 -0
  361. stochtree-0.0.1/deps/pybind11/tools/make_changelog.py +90 -0
  362. stochtree-0.0.1/deps/pybind11/tools/pybind11.pc.in +7 -0
  363. stochtree-0.0.1/deps/pybind11/tools/pybind11Common.cmake +419 -0
  364. stochtree-0.0.1/deps/pybind11/tools/pybind11Config.cmake.in +233 -0
  365. stochtree-0.0.1/deps/pybind11/tools/pybind11NewTools.cmake +311 -0
  366. stochtree-0.0.1/deps/pybind11/tools/pybind11Tools.cmake +239 -0
  367. stochtree-0.0.1/deps/pybind11/tools/pyproject.toml +3 -0
  368. stochtree-0.0.1/deps/pybind11/tools/setup_global.py.in +63 -0
  369. stochtree-0.0.1/deps/pybind11/tools/setup_main.py.in +44 -0
  370. stochtree-0.0.1/include/nlohmann/json.hpp +24766 -0
  371. stochtree-0.0.1/include/stochtree/category_tracker.h +181 -0
  372. stochtree-0.0.1/include/stochtree/common.h +1189 -0
  373. stochtree-0.0.1/include/stochtree/container.h +88 -0
  374. stochtree-0.0.1/include/stochtree/cutpoint_candidates.h +211 -0
  375. stochtree-0.0.1/include/stochtree/data.h +142 -0
  376. stochtree-0.0.1/include/stochtree/ensemble.h +356 -0
  377. stochtree-0.0.1/include/stochtree/export.h +31 -0
  378. stochtree-0.0.1/include/stochtree/ig_sampler.h +30 -0
  379. stochtree-0.0.1/include/stochtree/io.h +750 -0
  380. stochtree-0.0.1/include/stochtree/kernel.h +255 -0
  381. stochtree-0.0.1/include/stochtree/leaf_model.h +225 -0
  382. stochtree-0.0.1/include/stochtree/log.h +184 -0
  383. stochtree-0.0.1/include/stochtree/meta.h +151 -0
  384. stochtree-0.0.1/include/stochtree/normal_sampler.h +80 -0
  385. stochtree-0.0.1/include/stochtree/partition_tracker.h +649 -0
  386. stochtree-0.0.1/include/stochtree/prior.h +81 -0
  387. stochtree-0.0.1/include/stochtree/random.h +117 -0
  388. stochtree-0.0.1/include/stochtree/random_effects.h +297 -0
  389. stochtree-0.0.1/include/stochtree/tree.h +854 -0
  390. stochtree-0.0.1/include/stochtree/tree_sampler.h +693 -0
  391. stochtree-0.0.1/include/stochtree/variance_model.h +74 -0
  392. stochtree-0.0.1/pyproject.toml +12 -0
  393. stochtree-0.0.1/setup.cfg +4 -0
  394. stochtree-0.0.1/setup.py +189 -0
  395. stochtree-0.0.1/src/container.cpp +139 -0
  396. stochtree-0.0.1/src/cpp11.cpp +888 -0
  397. stochtree-0.0.1/src/cutpoint_candidates.cpp +323 -0
  398. stochtree-0.0.1/src/data.cpp +76 -0
  399. stochtree-0.0.1/src/forest.cpp +162 -0
  400. stochtree-0.0.1/src/io.cpp +315 -0
  401. stochtree-0.0.1/src/kernel.cpp +153 -0
  402. stochtree-0.0.1/src/leaf_model.cpp +710 -0
  403. stochtree-0.0.1/src/partition_tracker.cpp +387 -0
  404. stochtree-0.0.1/src/py_stochtree.cpp +762 -0
  405. stochtree-0.0.1/src/random_effects.cpp +297 -0
  406. stochtree-0.0.1/src/sampler.cpp +197 -0
  407. stochtree-0.0.1/src/serialization.cpp +319 -0
  408. stochtree-0.0.1/src/stochtree_types.h +14 -0
  409. stochtree-0.0.1/src/tree.cpp +657 -0
  410. stochtree-0.0.1/stochtree/__init__.py +12 -0
  411. stochtree-0.0.1/stochtree/bart.py +353 -0
  412. stochtree-0.0.1/stochtree/bcf.py +960 -0
  413. stochtree-0.0.1/stochtree/data.py +50 -0
  414. stochtree-0.0.1/stochtree/forest.py +44 -0
  415. stochtree-0.0.1/stochtree/preprocessing.py +275 -0
  416. stochtree-0.0.1/stochtree/sampler.py +55 -0
  417. stochtree-0.0.1/stochtree/serialization.py +183 -0
  418. stochtree-0.0.1/stochtree/utils.py +9 -0
@@ -0,0 +1,165 @@
1
+ # Build options
2
+ option(USE_DEBUG "Set to ON for Debug mode" OFF)
3
+ option(USE_SANITIZER "Use santizer flags" ON)
4
+ option(BUILD_TEST "Build C++ tests with Google Test" ON)
5
+ option(BUILD_DEBUG_TARGETS "Build Standalone C++ Programs for Debugging" ON)
6
+ option(BUILD_PYTHON "Build Shared Library for Python Package" OFF)
7
+
8
+ # Require at least C++17
9
+ set(CMAKE_CXX_STANDARD 17)
10
+ set(CMAKE_CXX_STANDARD_REQUIRED ON)
11
+
12
+ # Default to CMake 3.16
13
+ cmake_minimum_required(VERSION 3.16)
14
+
15
+ # Define the project
16
+ project(stochtree LANGUAGES C CXX)
17
+
18
+ # Sanitizer support
19
+ set(
20
+ ENABLED_SANITIZERS
21
+ "address" "undefined"
22
+ CACHE
23
+ STRING
24
+ "Semicolon separated list of sanitizer names, e.g., 'address;leak'. \
25
+ Supported sanitizers are address, leak, undefined and thread."
26
+ )
27
+ if(USE_SANITIZER)
28
+ include(cmake/Sanitizer.cmake)
29
+ enable_sanitizers("${ENABLED_SANITIZERS}")
30
+ endif()
31
+
32
+ # Debug flags
33
+ if(USE_DEBUG)
34
+ add_definitions(-DDEBUG)
35
+ endif()
36
+
37
+ if(UNIX OR MINGW OR CYGWIN)
38
+ set(
39
+ CMAKE_CXX_FLAGS
40
+ "${CMAKE_CXX_FLAGS} -pthread -w"
41
+ )
42
+ if(USE_DEBUG)
43
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0")
44
+ else()
45
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3")
46
+ endif()
47
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unknown-pragmas -Wno-unused-private-field")
48
+ endif()
49
+
50
+ if(MSVC)
51
+ set(
52
+ variables
53
+ CMAKE_C_FLAGS_DEBUG
54
+ CMAKE_C_FLAGS_MINSIZEREL
55
+ CMAKE_C_FLAGS_RELEASE
56
+ CMAKE_C_FLAGS_RELWITHDEBINFO
57
+ CMAKE_CXX_FLAGS_DEBUG
58
+ CMAKE_CXX_FLAGS_MINSIZEREL
59
+ CMAKE_CXX_FLAGS_RELEASE
60
+ CMAKE_CXX_FLAGS_RELWITHDEBINFO
61
+ )
62
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4 /MP /utf-8")
63
+ if(USE_DEBUG)
64
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Od")
65
+ else()
66
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /O2 /Ob2 /Oi /Ot /Oy")
67
+ endif()
68
+ else()
69
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
70
+ if(NOT USE_DEBUG)
71
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -funroll-loops")
72
+ endif()
73
+ endif()
74
+
75
+ # Header file directory
76
+ set(StochTree_HEADER_DIR ${PROJECT_SOURCE_DIR}/include)
77
+
78
+ # boost.math header file directory
79
+ set(BOOSTMATH_HEADER_DIR ${PROJECT_SOURCE_DIR}/deps/boost_math/include)
80
+
81
+ # Eigen header file directory
82
+ set(EIGEN_HEADER_DIR ${PROJECT_SOURCE_DIR}/deps/eigen)
83
+
84
+ # fast_double_parser header file directory
85
+ set(FAST_DOUBLE_PARSER_HEADER_DIR ${PROJECT_SOURCE_DIR}/deps/fast_double_parser/include)
86
+
87
+ # fmt header file directory
88
+ set(FMT_HEADER_DIR ${PROJECT_SOURCE_DIR}/deps/fmt/include)
89
+
90
+ # Library directory
91
+ set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/build)
92
+
93
+ # Aggregate the source files underpinning the implementation in the C++ library
94
+ file(
95
+ GLOB
96
+ SOURCES
97
+ src/container.cpp
98
+ src/cutpoint_candidates.cpp
99
+ src/data.cpp
100
+ src/io.cpp
101
+ src/json11.cpp
102
+ src/leaf_model.cpp
103
+ src/partition_tracker.cpp
104
+ src/random_effects.cpp
105
+ src/tree.cpp
106
+ )
107
+
108
+ # Define the C++ source code as a target
109
+ add_library(stochtree_objs OBJECT ${SOURCES})
110
+
111
+ # Include the headers in the source library
112
+ target_include_directories(stochtree_objs PRIVATE ${StochTree_HEADER_DIR} ${BOOSTMATH_HEADER_DIR} ${EIGEN_HEADER_DIR} ${FAST_DOUBLE_PARSER_HEADER_DIR} ${FMT_HEADER_DIR})
113
+
114
+ if(APPLE)
115
+ set(CMAKE_SHARED_LIBRARY_SUFFIX ".so")
116
+ endif()
117
+
118
+ # Python shared library
119
+ if (BUILD_PYTHON)
120
+ # Add pybind11 module
121
+ add_subdirectory(deps/pybind11)
122
+ pybind11_add_module(stochtree_cpp src/py_stochtree.cpp)
123
+
124
+ # Link to C++ source and headers
125
+ target_include_directories(stochtree_cpp PRIVATE ${StochTree_HEADER_DIR} ${BOOSTMATH_HEADER_DIR} ${EIGEN_HEADER_DIR} ${FAST_DOUBLE_PARSER_HEADER_DIR} ${FMT_HEADER_DIR})
126
+ target_link_libraries(stochtree_cpp PRIVATE stochtree_objs)
127
+
128
+ # EXAMPLE_VERSION_INFO is defined by setup.py and passed into the C++ code as a
129
+ # define (VERSION_INFO) here.
130
+ target_compile_definitions(stochtree_cpp PRIVATE VERSION_INFO=${EXAMPLE_VERSION_INFO})
131
+ endif()
132
+
133
+ # Build C++ test program
134
+ if(BUILD_TEST)
135
+ # Download the GoogleTest dependency if necessary
136
+ include(FetchContent)
137
+ FetchContent_Declare(
138
+ googletest
139
+ GIT_REPOSITORY https://github.com/google/googletest.git
140
+ GIT_TAG e2239ee6043f73722e7aa812a459f54a28552929 # release-1.14.0
141
+ )
142
+ # For Windows: Prevent overriding the parent project's compiler/linker settings
143
+ set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
144
+ FetchContent_MakeAvailable(googletest)
145
+
146
+ # Build test suite
147
+ enable_testing()
148
+ include(GoogleTest)
149
+ file(GLOB CPP_TEST_SOURCES test/cpp/*.cpp)
150
+ add_executable(teststochtree ${CPP_TEST_SOURCES})
151
+ set(STOCHTREE_TEST_HEADER_DIR ${PROJECT_SOURCE_DIR}/test/cpp)
152
+ target_include_directories(teststochtree PRIVATE ${StochTree_HEADER_DIR} ${BOOSTMATH_HEADER_DIR} ${EIGEN_HEADER_DIR} ${STOCHTREE_TEST_HEADER_DIR} ${FAST_DOUBLE_PARSER_HEADER_DIR} ${FMT_HEADER_DIR})
153
+ target_link_libraries(teststochtree PRIVATE stochtree_objs GTest::gtest_main)
154
+ gtest_discover_tests(teststochtree)
155
+ endif()
156
+
157
+ # Standalone C++ Program for Debugging
158
+ if(BUILD_DEBUG_TARGETS)
159
+ # Build test suite
160
+ add_executable(debugstochtree debug/api_debug.cpp)
161
+ set(StochTree_DEBUG_HEADER_DIR ${PROJECT_SOURCE_DIR}/debug)
162
+ target_include_directories(debugstochtree PRIVATE ${StochTree_HEADER_DIR} ${BOOSTMATH_HEADER_DIR} ${EIGEN_HEADER_DIR} ${StochTree_DEBUG_HEADER_DIR} ${FAST_DOUBLE_PARSER_HEADER_DIR} ${FMT_HEADER_DIR})
163
+ target_link_libraries(debugstochtree PRIVATE stochtree_objs)
164
+ endif()
165
+
@@ -0,0 +1,2 @@
1
+ YEAR: 2024
2
+ COPYRIGHT HOLDER: stochtree authors
@@ -0,0 +1,21 @@
1
+ # MIT License
2
+
3
+ Copyright (c) 2024 stochtree authors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,69 @@
1
+ # Include cmake build instructions
2
+ include CMakeLists.txt
3
+
4
+ # Vendor package header files
5
+ recursive-include include *.h
6
+ recursive-include include *.hpp
7
+
8
+ # Vendor package source files (excluding R-specific)
9
+ recursive-include src *.cpp
10
+ recursive-include src *.h
11
+ exclude src/R_data.cpp src/R_random_effects.cpp
12
+
13
+ # Remove the CRAN extensionless LICENSE file
14
+ exclude LICENSE
15
+
16
+ # Remove egg info
17
+ prune stochtree.egg-info
18
+
19
+ # Vendor pybind11 dependencies in PyPI source distribution
20
+ recursive-include deps/pybind11/include/pybind11 *.h
21
+ recursive-include deps/pybind11/tools *
22
+ include deps/pybind11/CMakeLists.txt
23
+ include deps/pybind11/pyproject.toml
24
+ include deps/pybind11/setup.cfg
25
+ include deps/pybind11/setup.py
26
+
27
+ # Vendor fmt header files in PyPI source distribution
28
+ recursive-include deps/fmt/include/fmt *.h
29
+
30
+ # Vendor fast_double_parser header file in PyPI source distribution
31
+ include deps/fast_double_parser/include/fast_double_parser.h
32
+
33
+ # Vendor Eigen header files in PyPI source distribution
34
+ include deps/eigen/Eigen/Cholesky
35
+ include deps/eigen/Eigen/Core
36
+ include deps/eigen/Eigen/Dense
37
+ include deps/eigen/Eigen/Eigenvalues
38
+ include deps/eigen/Eigen/Geometry
39
+ include deps/eigen/Eigen/Householder
40
+ include deps/eigen/Eigen/IterativeLinearSolvers
41
+ include deps/eigen/Eigen/Jacobi
42
+ include deps/eigen/Eigen/LU
43
+ include deps/eigen/Eigen/OrderingMethods
44
+ include deps/eigen/Eigen/QR
45
+ include deps/eigen/Eigen/SVD
46
+ include deps/eigen/Eigen/Sparse
47
+ include deps/eigen/Eigen/SparseCholesky
48
+ include deps/eigen/Eigen/SparseCore
49
+ include deps/eigen/Eigen/SparseQR
50
+ include deps/eigen/Eigen/misc
51
+ include deps/eigen/Eigen/plugins
52
+ recursive-include deps/eigen/Eigen/src/Cholesky *.h
53
+ recursive-include deps/eigen/Eigen/src/Core *.h
54
+ recursive-include deps/eigen/Eigen/src/Dense *.h
55
+ recursive-include deps/eigen/Eigen/src/Eigenvalues *.h
56
+ recursive-include deps/eigen/Eigen/src/Geometry *.h
57
+ recursive-include deps/eigen/Eigen/src/Householder *.h
58
+ recursive-include deps/eigen/Eigen/src/IterativeLinearSolvers *.h
59
+ recursive-include deps/eigen/Eigen/src/Jacobi *.h
60
+ recursive-include deps/eigen/Eigen/src/LU *.h
61
+ recursive-include deps/eigen/Eigen/src/OrderingMethods *.h
62
+ recursive-include deps/eigen/Eigen/src/QR *.h
63
+ recursive-include deps/eigen/Eigen/src/SVD *.h
64
+ recursive-include deps/eigen/Eigen/src/Sparse *.h
65
+ recursive-include deps/eigen/Eigen/src/SparseCholesky *.h
66
+ recursive-include deps/eigen/Eigen/src/SparseCore *.h
67
+ recursive-include deps/eigen/Eigen/src/SparseQR *.h
68
+ recursive-include deps/eigen/Eigen/src/misc *.h
69
+ recursive-include deps/eigen/Eigen/src/plugins *.h
@@ -0,0 +1,27 @@
1
+ Metadata-Version: 2.1
2
+ Name: stochtree
3
+ Version: 0.0.1
4
+ Summary: Stochastic Tree Ensembles for Machine Learning and Causal Inference
5
+ Home-page: https://github.com/StochasticTree/stochtree
6
+ Author: Drew Herren
7
+ Author-email: drewherrenopensource@gmail.com
8
+ License: MIT
9
+ Classifier: Development Status :: 2 - Pre-Alpha
10
+ Classifier: Intended Audience :: Science/Research
11
+ Classifier: License :: OSI Approved :: MIT License
12
+ Classifier: Operating System :: MacOS
13
+ Classifier: Operating System :: Microsoft :: Windows
14
+ Classifier: Operating System :: POSIX :: Linux
15
+ Classifier: Programming Language :: Python :: 3.8
16
+ Classifier: Programming Language :: Python :: 3.9
17
+ Classifier: Programming Language :: Python :: 3.10
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
21
+ Requires-Python: >=3.8
22
+ License-File: LICENSE
23
+ License-File: LICENSE.md
24
+ Provides-Extra: test
25
+ Requires-Dist: pytest>=6.0; extra == "test"
26
+
27
+ Stochastic Tree Ensembles for Machine Learning and Causal Inference
@@ -0,0 +1,175 @@
1
+ # StochasticTree
2
+
3
+ [![C++ Tests](https://github.com/StochasticTree/stochtree/actions/workflows/cpp-test.yml/badge.svg)](https://github.com/StochasticTree/stochtree/actions/workflows/cpp-test.yml)
4
+ [![Python Tests](https://github.com/StochasticTree/stochtree/actions/workflows/python-test.yml/badge.svg)](https://github.com/StochasticTree/stochtree/actions/workflows/python-test.yml)
5
+ [![R Tests](https://github.com/StochasticTree/stochtree/actions/workflows/r-test.yml/badge.svg)](https://github.com/StochasticTree/stochtree/actions/workflows/r-test.yml)
6
+
7
+ Software for building stochastic tree ensembles (i.e. BART, XBART) for supervised learning and causal inference.
8
+
9
+ # Getting Started
10
+
11
+ `StochasticTree` is composed of a C++ "core" and R / Python interfaces to that core.
12
+ Details on installation and use are available below:
13
+
14
+ * [Python](#python-package)
15
+ * [R](#r-package)
16
+ * [C++ core](#c-core)
17
+
18
+ # Python Package
19
+
20
+ The python package is not yet on PyPI but can be installed from source using pip's [git interface](https://pip.pypa.io/en/stable/topics/vcs-support/).
21
+ To proceed, you will need a working version of [git](https://git-scm.com) and python 3.8 or greater (available from several sources, one of the most
22
+ straightforward being the [anaconda](https://docs.conda.io/projects/conda/en/stable/user-guide/install/index.html) suite).
23
+
24
+ ## Quick start
25
+
26
+ Without worrying about virtual environments (detailed further below), `stochtree` can be installed from the command line
27
+
28
+ ```
29
+ pip install numpy scipy pytest pandas scikit-learn pybind11
30
+ pip install git+https://github.com/StochasticTree/stochtree.git
31
+ ```
32
+
33
+ ## Virtual environment installation
34
+
35
+ Often, users prefer to manage different projects (with different package / python version requirements) in virtual environments.
36
+
37
+ ### Conda
38
+
39
+ Conda provides a straightforward experience in managing python dependencies, avoiding version conflicts / ABI issues / etc.
40
+
41
+ To build stochtree using a `conda` based workflow, first create and activate a conda environment with the requisite dependencies
42
+
43
+ ```{bash}
44
+ conda create -n stochtree-dev -c conda-forge python=3.10 numpy scipy pytest pandas pybind11 scikit-learn matplotlib seaborn
45
+ conda activate stochtree-dev
46
+ ```
47
+
48
+ Then install the package from github via pip
49
+
50
+ ```{bash}
51
+ pip install git+https://github.com/StochasticTree/stochtree.git
52
+ ```
53
+
54
+ (*Note*: if you'd also like to run `stochtree`'s notebook examples, you will also need jupyterlab, seaborn, and matplotlib)
55
+
56
+ ```{bash}
57
+ conda install matplotlib seaborn
58
+ pip install jupyterlab
59
+ ```
60
+
61
+ With these dependencies installed, you can [clone the repo](###cloning-the-repository) and run the `demo/` examples.
62
+
63
+ ### Venv
64
+
65
+ You could also use venv for environment management. First, navigate to the folder in which you usually store virtual environments
66
+ (i.e. `cd /path/to/envs`) and create and activate a virtual environment:
67
+
68
+ ```{bash}
69
+ python -m venv venv
70
+ source venv/bin/activate
71
+ ```
72
+
73
+ Install all of the package (and demo notebook) dependencies
74
+
75
+ ```{bash}
76
+ pip install numpy scipy pytest pandas scikit-learn pybind11
77
+ ```
78
+
79
+ Then install stochtree via
80
+
81
+ ```{bash}
82
+ pip install git+https://github.com/StochasticTree/stochtree.git
83
+ ```
84
+
85
+ As above, if you'd like to run the notebook examples in the `demo/` subfolder, you will also need jupyterlab, seaborn, and matplotlib and you will have to [clone the repo](###cloning-the-repository)
86
+
87
+ ```{bash}
88
+ pip install matplotlib seaborn jupyterlab
89
+ ```
90
+
91
+ # R Package
92
+
93
+ The package can be installed in R via
94
+
95
+ ```
96
+ remotes::install_github("StochasticTree/stochtree", ref="r-dev")
97
+ ```
98
+
99
+ # C++ Core
100
+
101
+ While the C++ core links to both R and Python for a performant, high-level interface,
102
+ the C++ code can be compiled and unit-tested and compiled into a standalone
103
+ [debug program](https://github.com/StochasticTree/stochtree/tree/main/debug).
104
+
105
+ ## Compilation
106
+
107
+ ### Cloning the Repository
108
+
109
+ To clone the repository, you must have git installed, which you can do following [these instructions](https://learn.microsoft.com/en-us/devops/develop/git/install-and-set-up-git).
110
+
111
+ Once git is available at the command line, navigate to the folder that will store this project (in bash / zsh, this is done by running `cd` followed by the path to the directory).
112
+ Then, clone the `stochtree` repo as a subfolder by running
113
+ ```{bash}
114
+ git clone --recursive https://github.com/StochasticTree/stochtree.git
115
+ ```
116
+
117
+ *NOTE*: this project incorporates several dependencies as [git submodules](https://git-scm.com/book/en/v2/Git-Tools-Submodules),
118
+ which is why the `--recursive` flag is necessary (some systems may perform a recursive clone without this flag, but
119
+ `--recursive` ensures this behavior on all platforms). If you have already cloned the repo without the `--recursive` flag,
120
+ you can retrieve the submodules recursively by running `git submodule update --init --recursive` in the main repo directory.
121
+
122
+
123
+ ### CMake Build
124
+
125
+ The C++ project can be built independently from the R / Python packages using `cmake`.
126
+ See [here](https://cmake.org/install/) for details on installing cmake (alternatively,
127
+ on MacOS, `cmake` can be installed using [homebrew](https://formulae.brew.sh/formula/cmake)).
128
+ Once `cmake` is installed, you can build the CLI by navigating to the main
129
+ project directory at your command line (i.e. `cd /path/to/stochtree`) and
130
+ running the following code
131
+
132
+ ```{bash}
133
+ rm -rf build
134
+ mkdir build
135
+ cmake -S . -B build
136
+ cmake --build build
137
+ ```
138
+
139
+ The CMake build has two primary targets, which are detailed below
140
+
141
+ #### Debug Program
142
+
143
+ `debug/api_debug.cpp` defines a standalone target that can be straightforwardly run with a debugger (i.e. `lldb`, `gdb`)
144
+ while making non-trivial changes to the C++ code.
145
+ This debugging program is compiled as part of the CMake build if the `BUILD_DEBUG_TARGETS` option in `CMakeLists.txt` is set to `ON`.
146
+
147
+ Once the program has been built, it can be run from the command line via `./build/debugstochtree` or attached to a debugger
148
+ via `lldb ./build/debugstochtree` (clang) or `gdb ./build/debugstochtree` (gcc).
149
+
150
+ #### Unit Tests
151
+
152
+ We test `stochtree` using the [GoogleTest](https://google.github.io/googletest/) framework.
153
+ Unit tests are compiled into a single target as part of the CMake build if the `BUILD_TEST` option is set to `ON`
154
+ and the test suite can be run after compilation via `./build/teststochtree`
155
+
156
+ ## Xcode
157
+
158
+ While using `gdb` or `lldb` on `debugstochtree` at the command line is very helpful, users may prefer debugging in a full-fledged IDE like xcode. This project's C++ core can be converted to an xcode project from `CMakeLists.txt`, but first you must turn off sanitizers (xcode seems to have its own way of setting this at build time for different configurations, and having injected
159
+ `-fsanitize=address` statically into compiler arguments will cause xcode errors). To do this, modify the `USE_SANITIZER` line in `CMakeLists.txt`:
160
+
161
+ ```
162
+ option(USE_SANITIZER "Use santizer flags" OFF)
163
+ ```
164
+
165
+ To generate an XCode project based on the build targets and specifications defined in a `CMakeLists.txt`, navigate to the main project folder (i.e. `cd /path/to/project`) and run the following commands:
166
+
167
+ ```{bash}
168
+ rm -rf xcode/
169
+ mkdir xcode
170
+ cd xcode
171
+ cmake -G Xcode .. -DCMAKE_C_COMPILER=cc -DCMAKE_CXX_COMPILER=c++
172
+ cd ..
173
+ ```
174
+
175
+ Now, if you navigate to the xcode subfolder (in Finder), you should be able to click on a `.xcodeproj` file and the project will open in XCode.
@@ -0,0 +1,45 @@
1
+ // This file is part of Eigen, a lightweight C++ template library
2
+ // for linear algebra.
3
+ //
4
+ // This Source Code Form is subject to the terms of the Mozilla
5
+ // Public License v. 2.0. If a copy of the MPL was not distributed
6
+ // with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
7
+
8
+ #ifndef EIGEN_CHOLESKY_MODULE_H
9
+ #define EIGEN_CHOLESKY_MODULE_H
10
+
11
+ #include "Core"
12
+ #include "Jacobi"
13
+
14
+ #include "src/Core/util/DisableStupidWarnings.h"
15
+
16
+ /** \defgroup Cholesky_Module Cholesky module
17
+ *
18
+ *
19
+ *
20
+ * This module provides two variants of the Cholesky decomposition for selfadjoint (hermitian) matrices.
21
+ * Those decompositions are also accessible via the following methods:
22
+ * - MatrixBase::llt()
23
+ * - MatrixBase::ldlt()
24
+ * - SelfAdjointView::llt()
25
+ * - SelfAdjointView::ldlt()
26
+ *
27
+ * \code
28
+ * #include <Eigen/Cholesky>
29
+ * \endcode
30
+ */
31
+
32
+ #include "src/Cholesky/LLT.h"
33
+ #include "src/Cholesky/LDLT.h"
34
+ #ifdef EIGEN_USE_LAPACKE
35
+ #ifdef EIGEN_USE_MKL
36
+ #include "mkl_lapacke.h"
37
+ #else
38
+ #include "src/misc/lapacke.h"
39
+ #endif
40
+ #include "src/Cholesky/LLT_LAPACKE.h"
41
+ #endif
42
+
43
+ #include "src/Core/util/ReenableStupidWarnings.h"
44
+
45
+ #endif // EIGEN_CHOLESKY_MODULE_H