diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..7c7bb690 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +# Vim swap files +*.swp +*.swo + +# Python byte code +*.pyc diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..1b330efc --- /dev/null +++ b/.travis.yml @@ -0,0 +1,39 @@ +language: python +python: + # We don't actually use the Travis Python since we are using Conda, but this + # keeps it organized. + - "2.7" + - "3.5" + - "3.6" +install: + - sudo apt-get update + # We do this conditionally because it saves us some downloading if the + # version is the same. + - if [[ "$TRAVIS_PYTHON_VERSION" == "2.7" ]]; then + wget https://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh -O miniconda.sh; + else + wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh; + fi + - bash miniconda.sh -b -p $HOME/miniconda + - export PATH="$HOME/miniconda/bin:$PATH" + - hash -r + - conda config --set always_yes yes --set changeps1 no + - conda update -q conda + # Useful for debugging any issues with conda + - conda info -a + + # Create and activate the environmenbt + - conda create -q -n test-environment python=$TRAVIS_PYTHON_VERSION + - source activate test-environment + # Ensure we will install all pip packages within conda + - conda install pip + # Install numpy first to avoid headaches + - pip install numpy + # Install the r_packages + - conda install rpy2 + - ./install_r_packages.sh + # Install the packages needed for testing + - pip install .['test'] +script: + # Run the tests + - pytest -v diff --git a/README.md b/README.md index 8bb6b001..137539d1 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # TIGRAMITE – Causal discovery for time series datasets -Version 3.0 described in http://arxiv.org/abs/1702.07007 +Version 4.0 described in http://arxiv.org/abs/1702.07007v2 (Python Package) @@ -10,7 +10,14 @@ Version 3.0 described in http://arxiv.org/abs/1702.07007 ## General Notes -Tigramite is a causal time series analysis python package. It allows to efficiently reconstruct causal graphs from high-dimensional time series datasets and model the obtained causal dependencies for causal mediation and prediction analyses. Causal discovery is based on linear as well as non-parametric conditional independence tests applicable to discrete or continuously-valued time series. Also includes functions for high-quality plots of the results. Please cite the following papers depending on which method you use: +Tigramite is a causal time series analysis python package. It allows to efficiently reconstruct causal graphs from high-dimensional time series datasets and model the obtained causal dependencies for causal mediation and prediction analyses. Causal discovery is based on linear as well as non-parametric conditional independence tests applicable to discrete or continuously-valued time series. Currently, tigramite cannot identify causal directionality for contemporaneous links which are left undirected. Also includes functions for high-quality plots of the results. Please cite the following papers depending on which method you use: + +- PCMCI: J. Runge et al. (2018): Detecting Causal Associations in Large Nonlinear Time Series Datasets. https://arxiv.org/abs/1702.07007v2 +- Generally: J. Runge (2018): Causal Network Reconstruction from Time Series: From Theoretical Assumptions to Practical Estimation. Chaos: An Interdisciplinary Journal of Nonlinear Science 28 (7): 075310. https://aip.scitation.org/doi/10.1063/1.5025050 +- Mediation class: J. Runge et al. (2015): Identifying causal gateways and mediators in complex spatio-temporal systems. Nature Communications, 6, 8502. http://doi.org/10.1038/ncomms9502 +- Mediation class: J. Runge (2015): Quantifying information transfer and mediation along causal pathways in complex systems. Phys. Rev. E, 92(6), 62829. http://doi.org/10.1103/PhysRevE.92.062829 +- CMIknn: J. Runge (2018): Conditional Independence Testing Based on a Nearest-Neighbor Estimator of Conditional Mutual Information. In Proceedings of the 21st International Conference on Artificial Intelligence and Statistics. http://proceedings.mlr.press/v84/runge18a.html + ## Features @@ -18,26 +25,25 @@ Tigramite is a causal time series analysis python package. It allows to efficien - flexible conditional independence test statistics adapted to continuously-valued or discrete data, and different assumptions about linear or nonlinear dependencies -- automatic hyperparameter optimization +- automatic hyperparameter optimization for most tests - parallel computing script based on mpi4py - handling of missing values and masks - p-value correction and confidence interval estimation - causal mediation class to analyze causal pathways - prediction class based on sklearn models including causal feature selection +- currently, tigramite cannot identify causal directionality for contemporaneous links which are left undirected ## Required python packages -- numpy, tested with Version 1.10 -- scipy, tested with Version 0.17 -- sklearn, tested with Version 0.18 (optional, necessary for GPDC and GPACE tests) -- ace python package (https://pypi.python.org/pypi/ace/0.3) OR rpy2 and R-package 'acepack' (optional, necessary for GPACE test) -- matplotlib, tested with Version 1.5 -- networkx, tested with Version 1.10 -- basemap (only if plotting on a map is needed) -- mpi4py (optional, necessary for using the parallelized implementation) -- cython (optional, necessary for CMIknn and GPDC tests) -- statsmodels, tested with Version 0.6 (optional, necessary for p-value corrections) +- numpy>=1.10.0 +- scipy>=0.17.0 +- scikit-learn>=0.18.1 (optional, necessary for GPDC test) +- matplotlib>=1.5.1 (optional, only for plotting) +- networkx=1.10.0 (optional, only for plotting and mediation) +- cython>=0.26 (optional, necessary for CMIknn and GPDC tests) +- mpi4py>=2.0.0 (optional, necessary for using the parallelized implementation) +- rpy2>=2.8 (optional, necessary for RCOT test) ## Installation @@ -46,31 +52,25 @@ python setup.py install This will install tigramite in your path. -To use just the ParCorr and CMIsymb independence tests, only numpy and scipy are required. For CMIknn, cython can optionally be used for compilation, otherwise the provided *.c file is used. GPDC also is based on cython, and additionally, sklearn is required for Gaussian Process regression. +To use just the ParCorr and CMIsymb independence tests, only numpy and scipy are required. For other independence tests more packages are required: -GPACE requires more work: Firstly, sklearn is required for Gaussian Process regression. Secondly, either the python package 'ace' or the R-package 'acepack' are required for the ACE estimator. The R-package version is much faster. 'ace' can be installed via pip install ace. 'acepack' has to be installed in R first, and can then be accessed by tigramite using the rpy2-interface. +- CMIknn: cython can optionally be used for compilation, otherwise the provided ``*.c'' file is used -For GPDC and GPACE we recommend to pre-compute and store the null-distribution for a wide range of expected sample sizes with the function ``generate_and_save_nulldists``. The file containing the null distributions can then be supplied to the class with the keyword null_dist_filename. +- GPDC: also based on cython, and additionally, scikit-learn is required for Gaussian Process regression +- RCOT requires more work: Firstly, rpy2 is required to access R-packages. The required R-packages can be installed with the script ``install_r_packages.sh'' -## User Agreement - -By downloading TIGRAMITE you agree with the following points: The toolbox is provided without any warranty or conditions of any kind. We assume no responsibility for errors or omissions in the results and interpretations following from application the toolbox. -You commit to cite TIGRAMITE in your reports or publications if used: - -1. J. Runge, S. Flaxman, and D. Sejdinovic (2017): Detecting causal associations in large nonlinear time series datasets. https://arxiv.org/abs/1702.07007 - -2. J. Runge et al. (2015): Identifying causal gateways and mediators in complex spatio-temporal systems. Nature Communications, 6, 8502. http://doi.org/10.1038/ncomms9502 +## User Agreement -3. J. Runge (2015): Quantifying information transfer and mediation along causal pathways in complex systems. Phys. Rev. E, 92(6), 62829. http://doi.org/10.1103/PhysRevE.92.062829 +By downloading TIGRAMITE you agree with the following points: TIGRAMITE is provided without any warranty or conditions of any kind. We assume no responsibility for errors or omissions in the results and interpretations following from application of TIGRAMITE. -4. J. Runge, J. Heitzig, V. Petoukhov, and J. Kurths (2012): Escaping the Curse of Dimensionality in Estimating Multivariate Transfer Entropy. Physical Review Letters, 108(25), 258701. http://doi.org/10.1103/PhysRevLett.108.258701 +You commit to cite above papers in your reports or publications. ## License -Copyright (C) Jakob Runge +Copyright (C) 2014-2019 Jakob Runge See license.txt for full text. diff --git a/build_tools/conda/build.sh b/build_tools/conda/build.sh new file mode 100644 index 00000000..22b95cb9 --- /dev/null +++ b/build_tools/conda/build.sh @@ -0,0 +1,14 @@ +# NOTE: when installing, conda will include all things under $PREFIX as a part +# of your distributed package. As such, the R libraries are installed to +# the correct library location under $PREFIX. This may not be the most robust +# solution, but it works for now. + +R_LIBS_BUILD=$PREFIX/lib/R/library +# Install r-MASS package, which is a dependency of RCIT/RCOT +R -e "install.packages('MASS', '$R_LIBS_BUILD', repos='https://cloud.r-project.org/')" +# Install momentchi2, whichs is a dependency of RCIT/RCOT +R -e "install.packages('momentchi2', '$R_LIBS_BUILD', repos = 'https://cloud.r-project.org/')" +# Install the RCIT package +R -e "install.packages('external_packages/RCIT', '$R_LIBS_BUILD', repos=NULL, type='source')" +# Install tigramite +$PYTHON setup.py install --single-version-externally-managed --record=record.txt diff --git a/build_tools/conda/meta.yaml b/build_tools/conda/meta.yaml new file mode 100644 index 00000000..8255c2c5 --- /dev/null +++ b/build_tools/conda/meta.yaml @@ -0,0 +1,46 @@ +package: + name: tigramite + version: 4.0.0 + +source: + path: ../.. + +requirements: + build: + - cython + - numpy + - rpy2 + - setuptools + - python + host: + - cython + - numpy + - rpy2 + - setuptools + - python + run: + - python + - numpy + - scipy + - six + - scikit-learn>=0.18 + - matplotlib>=1.5 + - networkx>=1.10 + - statsmodels + - rpy2 + +test: + source_files: + - tests/*py + requires: + - nose + - pytest + - rpy2 + commands: + - pytest . + +about: + home: https://github.com/jakobrunge/tigramite + license: GPL-3 + license_file: license.txt + summary: Tigramite is a time series analysis aimed at causal discovery diff --git a/docs/_images/math/0062c26909b3e07ee8f5a6285b2563d69bc979ff.png b/docs/_images/math/0062c26909b3e07ee8f5a6285b2563d69bc979ff.png index 25812ff2..5972dea3 100644 Binary files a/docs/_images/math/0062c26909b3e07ee8f5a6285b2563d69bc979ff.png and b/docs/_images/math/0062c26909b3e07ee8f5a6285b2563d69bc979ff.png differ diff --git a/docs/_images/math/0b7c1e16a3a8a849bb8ffdcdbf86f65fd1f30438.png b/docs/_images/math/0b7c1e16a3a8a849bb8ffdcdbf86f65fd1f30438.png index f411cdfc..a18e0a63 100644 Binary files a/docs/_images/math/0b7c1e16a3a8a849bb8ffdcdbf86f65fd1f30438.png and b/docs/_images/math/0b7c1e16a3a8a849bb8ffdcdbf86f65fd1f30438.png differ diff --git a/docs/_images/math/12535500db0213985b2cce27db85468b60985da0.png b/docs/_images/math/12535500db0213985b2cce27db85468b60985da0.png index f89635e2..3f14f83e 100644 Binary files a/docs/_images/math/12535500db0213985b2cce27db85468b60985da0.png and b/docs/_images/math/12535500db0213985b2cce27db85468b60985da0.png differ diff --git a/docs/_images/math/14f247b2a9ccd480e67621eb0d8a2d7a68a285bd.png b/docs/_images/math/14f247b2a9ccd480e67621eb0d8a2d7a68a285bd.png index 7863a16c..57cc10da 100644 Binary files a/docs/_images/math/14f247b2a9ccd480e67621eb0d8a2d7a68a285bd.png and b/docs/_images/math/14f247b2a9ccd480e67621eb0d8a2d7a68a285bd.png differ diff --git a/docs/_images/math/21fc11b715eef698662fe1cc017d7ae2d53320d8.png b/docs/_images/math/21fc11b715eef698662fe1cc017d7ae2d53320d8.png index e9bb18f2..e93d6cd8 100644 Binary files a/docs/_images/math/21fc11b715eef698662fe1cc017d7ae2d53320d8.png and b/docs/_images/math/21fc11b715eef698662fe1cc017d7ae2d53320d8.png differ diff --git a/docs/_images/math/276f7e256cbddeb81eee42e1efc348f3cb4ab5f8.png b/docs/_images/math/276f7e256cbddeb81eee42e1efc348f3cb4ab5f8.png index 28dd7ded..17d4718d 100644 Binary files a/docs/_images/math/276f7e256cbddeb81eee42e1efc348f3cb4ab5f8.png and b/docs/_images/math/276f7e256cbddeb81eee42e1efc348f3cb4ab5f8.png differ diff --git a/docs/_images/math/2fc62c02be8e341b7c32727e07b633086e70ba8a.png b/docs/_images/math/2fc62c02be8e341b7c32727e07b633086e70ba8a.png index 8672a892..c8c9a4c1 100644 Binary files a/docs/_images/math/2fc62c02be8e341b7c32727e07b633086e70ba8a.png and b/docs/_images/math/2fc62c02be8e341b7c32727e07b633086e70ba8a.png differ diff --git a/docs/_images/math/334b0728f25dd84a28e483181038a307ea6e483e.png b/docs/_images/math/334b0728f25dd84a28e483181038a307ea6e483e.png index 6a3f14f8..3c953660 100644 Binary files a/docs/_images/math/334b0728f25dd84a28e483181038a307ea6e483e.png and b/docs/_images/math/334b0728f25dd84a28e483181038a307ea6e483e.png differ diff --git a/docs/_images/math/3d927294dd9fee97ab16ad5032baf0c08cdda4c2.png b/docs/_images/math/3d927294dd9fee97ab16ad5032baf0c08cdda4c2.png index aa2c7200..fb274eb9 100644 Binary files a/docs/_images/math/3d927294dd9fee97ab16ad5032baf0c08cdda4c2.png and b/docs/_images/math/3d927294dd9fee97ab16ad5032baf0c08cdda4c2.png differ diff --git a/docs/_images/math/44ad79f4db8277d12b1a6f5def2d30122c89b9b0.png b/docs/_images/math/44ad79f4db8277d12b1a6f5def2d30122c89b9b0.png index b692a315..fc518bb0 100644 Binary files a/docs/_images/math/44ad79f4db8277d12b1a6f5def2d30122c89b9b0.png and b/docs/_images/math/44ad79f4db8277d12b1a6f5def2d30122c89b9b0.png differ diff --git a/docs/_images/math/499a2ee48b33448e80b97af9df9550828bdbfb59.png b/docs/_images/math/499a2ee48b33448e80b97af9df9550828bdbfb59.png index 85bfb59b..024cb035 100644 Binary files a/docs/_images/math/499a2ee48b33448e80b97af9df9550828bdbfb59.png and b/docs/_images/math/499a2ee48b33448e80b97af9df9550828bdbfb59.png differ diff --git a/docs/_images/math/503d970dfd19d2f6bfd5f3d3876a74d8816cbf70.png b/docs/_images/math/503d970dfd19d2f6bfd5f3d3876a74d8816cbf70.png index b63451af..20ed40ec 100644 Binary files a/docs/_images/math/503d970dfd19d2f6bfd5f3d3876a74d8816cbf70.png and b/docs/_images/math/503d970dfd19d2f6bfd5f3d3876a74d8816cbf70.png differ diff --git a/docs/_images/math/557d5fad862c9046d26e1a930f45a550c146d592.png b/docs/_images/math/557d5fad862c9046d26e1a930f45a550c146d592.png index d3727833..f2860cbc 100644 Binary files a/docs/_images/math/557d5fad862c9046d26e1a930f45a550c146d592.png and b/docs/_images/math/557d5fad862c9046d26e1a930f45a550c146d592.png differ diff --git a/docs/_images/math/5c8ff70420eb65f959d5e2a9b244fc565d9ecbd6.png b/docs/_images/math/5c8ff70420eb65f959d5e2a9b244fc565d9ecbd6.png index 4e1bc173..394e410c 100644 Binary files a/docs/_images/math/5c8ff70420eb65f959d5e2a9b244fc565d9ecbd6.png and b/docs/_images/math/5c8ff70420eb65f959d5e2a9b244fc565d9ecbd6.png differ diff --git a/docs/_images/math/6b21e0b0899a0d2879d3b8019087fa630bab4ea2.png b/docs/_images/math/6b21e0b0899a0d2879d3b8019087fa630bab4ea2.png index 1326331e..04a54342 100644 Binary files a/docs/_images/math/6b21e0b0899a0d2879d3b8019087fa630bab4ea2.png and b/docs/_images/math/6b21e0b0899a0d2879d3b8019087fa630bab4ea2.png differ diff --git a/docs/_images/math/6de62736d8aa90101801d7a1416e97e921d1620f.png b/docs/_images/math/6de62736d8aa90101801d7a1416e97e921d1620f.png index 7b72ea06..0c909ba2 100644 Binary files a/docs/_images/math/6de62736d8aa90101801d7a1416e97e921d1620f.png and b/docs/_images/math/6de62736d8aa90101801d7a1416e97e921d1620f.png differ diff --git a/docs/_images/math/70852cea72eb5c4d0a45c0db08b49476f4404426.png b/docs/_images/math/70852cea72eb5c4d0a45c0db08b49476f4404426.png index 7ac117fe..efb8757f 100644 Binary files a/docs/_images/math/70852cea72eb5c4d0a45c0db08b49476f4404426.png and b/docs/_images/math/70852cea72eb5c4d0a45c0db08b49476f4404426.png differ diff --git a/docs/_images/math/7720e563212e11bf72de255ab82c2a3b97c1a7f5.png b/docs/_images/math/7720e563212e11bf72de255ab82c2a3b97c1a7f5.png index ea5ec276..0281a4b3 100644 Binary files a/docs/_images/math/7720e563212e11bf72de255ab82c2a3b97c1a7f5.png and b/docs/_images/math/7720e563212e11bf72de255ab82c2a3b97c1a7f5.png differ diff --git a/docs/_images/math/7a3d0c9264473a58cc3a769f99a662631131377c.png b/docs/_images/math/7a3d0c9264473a58cc3a769f99a662631131377c.png index 62b9de24..0501afa5 100644 Binary files a/docs/_images/math/7a3d0c9264473a58cc3a769f99a662631131377c.png and b/docs/_images/math/7a3d0c9264473a58cc3a769f99a662631131377c.png differ diff --git a/docs/_images/math/7a7bb470119808e2db2879fc2b2526f467b7a40b.png b/docs/_images/math/7a7bb470119808e2db2879fc2b2526f467b7a40b.png index 100389ee..03832e37 100644 Binary files a/docs/_images/math/7a7bb470119808e2db2879fc2b2526f467b7a40b.png and b/docs/_images/math/7a7bb470119808e2db2879fc2b2526f467b7a40b.png differ diff --git a/docs/_images/math/7bce831f5eba0d0e0fcb0cced170b2926804500a.png b/docs/_images/math/7bce831f5eba0d0e0fcb0cced170b2926804500a.png index 7e3dd6cd..d4114f38 100644 Binary files a/docs/_images/math/7bce831f5eba0d0e0fcb0cced170b2926804500a.png and b/docs/_images/math/7bce831f5eba0d0e0fcb0cced170b2926804500a.png differ diff --git a/docs/_images/math/877d234f4cec6974ce218fc2e975a486a7972dfd.png b/docs/_images/math/877d234f4cec6974ce218fc2e975a486a7972dfd.png index ff0a49a2..6e6726a6 100644 Binary files a/docs/_images/math/877d234f4cec6974ce218fc2e975a486a7972dfd.png and b/docs/_images/math/877d234f4cec6974ce218fc2e975a486a7972dfd.png differ diff --git a/docs/_images/math/90efcfdee16eaaec575238e2e6df5f731c8609bf.png b/docs/_images/math/90efcfdee16eaaec575238e2e6df5f731c8609bf.png index d188de07..626242f1 100644 Binary files a/docs/_images/math/90efcfdee16eaaec575238e2e6df5f731c8609bf.png and b/docs/_images/math/90efcfdee16eaaec575238e2e6df5f731c8609bf.png differ diff --git a/docs/_images/math/9c7f8f771e36601a75e3520845155d09080f6281.png b/docs/_images/math/9c7f8f771e36601a75e3520845155d09080f6281.png index 63e059c1..92a24742 100644 Binary files a/docs/_images/math/9c7f8f771e36601a75e3520845155d09080f6281.png and b/docs/_images/math/9c7f8f771e36601a75e3520845155d09080f6281.png differ diff --git a/docs/_images/math/a23635874ee5c9865debbf9c8686e9367f2850e5.png b/docs/_images/math/a23635874ee5c9865debbf9c8686e9367f2850e5.png index 40b16694..30b3c443 100644 Binary files a/docs/_images/math/a23635874ee5c9865debbf9c8686e9367f2850e5.png and b/docs/_images/math/a23635874ee5c9865debbf9c8686e9367f2850e5.png differ diff --git a/docs/_images/math/ab1718d730cd7b17532f760861e9659b68a65156.png b/docs/_images/math/ab1718d730cd7b17532f760861e9659b68a65156.png index 441eaf86..a5d0f0f5 100644 Binary files a/docs/_images/math/ab1718d730cd7b17532f760861e9659b68a65156.png and b/docs/_images/math/ab1718d730cd7b17532f760861e9659b68a65156.png differ diff --git a/docs/_images/math/bcb2457ac9d8995a4f34d57cadac7ecbbe58f3bd.png b/docs/_images/math/bcb2457ac9d8995a4f34d57cadac7ecbbe58f3bd.png index d5468db6..6d61d4f8 100644 Binary files a/docs/_images/math/bcb2457ac9d8995a4f34d57cadac7ecbbe58f3bd.png and b/docs/_images/math/bcb2457ac9d8995a4f34d57cadac7ecbbe58f3bd.png differ diff --git a/docs/_images/math/bdb2d04d69b82c2288f5ef46664d548355e130af.png b/docs/_images/math/bdb2d04d69b82c2288f5ef46664d548355e130af.png index 3a8f4a47..aceb072a 100644 Binary files a/docs/_images/math/bdb2d04d69b82c2288f5ef46664d548355e130af.png and b/docs/_images/math/bdb2d04d69b82c2288f5ef46664d548355e130af.png differ diff --git a/docs/_images/math/d6d56a5dd20011b190ba97d6f36d154e11c9035c.png b/docs/_images/math/d6d56a5dd20011b190ba97d6f36d154e11c9035c.png index 9f1243b8..6041d28b 100644 Binary files a/docs/_images/math/d6d56a5dd20011b190ba97d6f36d154e11c9035c.png and b/docs/_images/math/d6d56a5dd20011b190ba97d6f36d154e11c9035c.png differ diff --git a/docs/_images/math/d843100cd0a02e1e5184694228a7ac41e19e8af2.png b/docs/_images/math/d843100cd0a02e1e5184694228a7ac41e19e8af2.png index c018c8fe..d457103b 100644 Binary files a/docs/_images/math/d843100cd0a02e1e5184694228a7ac41e19e8af2.png and b/docs/_images/math/d843100cd0a02e1e5184694228a7ac41e19e8af2.png differ diff --git a/docs/_images/math/df0deb143e5ac127f00bd248ee8001ecae572adc.png b/docs/_images/math/df0deb143e5ac127f00bd248ee8001ecae572adc.png index afc7f806..59594eb6 100644 Binary files a/docs/_images/math/df0deb143e5ac127f00bd248ee8001ecae572adc.png and b/docs/_images/math/df0deb143e5ac127f00bd248ee8001ecae572adc.png differ diff --git a/docs/_images/math/e03ea88dda29ab6daa19c839ff37b8115e0a10e1.png b/docs/_images/math/e03ea88dda29ab6daa19c839ff37b8115e0a10e1.png index 338e9e98..633ed9ac 100644 Binary files a/docs/_images/math/e03ea88dda29ab6daa19c839ff37b8115e0a10e1.png and b/docs/_images/math/e03ea88dda29ab6daa19c839ff37b8115e0a10e1.png differ diff --git a/docs/_images/math/e486de19dbb61c9a63584f6e4ddd6e92ef03d665.png b/docs/_images/math/e486de19dbb61c9a63584f6e4ddd6e92ef03d665.png index 4fa8ab83..050fa073 100644 Binary files a/docs/_images/math/e486de19dbb61c9a63584f6e4ddd6e92ef03d665.png and b/docs/_images/math/e486de19dbb61c9a63584f6e4ddd6e92ef03d665.png differ diff --git a/docs/_images/math/e655092ec45224f09927d0ed9e6fcdfbddb67754.png b/docs/_images/math/e655092ec45224f09927d0ed9e6fcdfbddb67754.png index bb0f2938..a78d831d 100644 Binary files a/docs/_images/math/e655092ec45224f09927d0ed9e6fcdfbddb67754.png and b/docs/_images/math/e655092ec45224f09927d0ed9e6fcdfbddb67754.png differ diff --git a/docs/_images/math/f75f28dbcbec776fbe031f8ac923f83f9260bd8a.png b/docs/_images/math/f75f28dbcbec776fbe031f8ac923f83f9260bd8a.png index 61eac71c..01805a45 100644 Binary files a/docs/_images/math/f75f28dbcbec776fbe031f8ac923f83f9260bd8a.png and b/docs/_images/math/f75f28dbcbec776fbe031f8ac923f83f9260bd8a.png differ diff --git a/docs/_modules/index.html b/docs/_modules/index.html index 489fb4a5..4f6dbada 100644 --- a/docs/_modules/index.html +++ b/docs/_modules/index.html @@ -1,33 +1,21 @@ + -
+ - -