-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Adding all README.md files into PDF documentation by converting them …
…to .rst rather than .html
- Loading branch information
Showing
22 changed files
with
2,444 additions
and
1,047 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,23 +1,13 @@ | ||
About Our QMC Software Community | ||
================================ | ||
================================= | ||
|
||
.. raw:: html | ||
:file: html_from_readme/QMCSoftware.html | ||
.. toctree:: | ||
:maxdepth: 1 | ||
|
||
About Our Python QMC Software | ||
------------------------------ | ||
rts_from_readme/QMCSoftware.rst | ||
|
||
.. raw:: html | ||
:file: html_from_readme/python_prototype.html | ||
rts_from_readme/python_prototype.rst | ||
|
||
About QMCPy | ||
............ | ||
rts_from_readme/qmcpy.rst | ||
|
||
.. raw:: html | ||
:file: html_from_readme/qmcpy.html | ||
|
||
About QMCPy Tests | ||
.................. | ||
|
||
.. raw:: html | ||
:file: html_from_readme/test.html | ||
rts_from_readme/test.rst |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,144 @@ | ||
.. contents:: | ||
:depth: 1 | ||
.. | ||
|Build Status| | ||
|
||
Quasi-Monte Carlo Community Software | ||
==================================== | ||
|
||
.. raw:: html | ||
|
||
<hr> | ||
|
||
Quasi-Monte Carlo (QMC) methods are used to approximate multivariate | ||
integrals. They have four main components: an integrand, a discrete | ||
distribution, summary output data, and stopping criterion. Information | ||
about the integrand is obtained as a sequence of values of the function | ||
sampled at the data-sites of the discrete distribution. The stopping | ||
criterion tells the algorithm when the user-specified error tolerance | ||
has been satisfied. We are developing a framework that allows | ||
collaborators in the QMC community to develop plug-and-play modules in | ||
an effort to produce more efficient and portable QMC software. Each of | ||
the above four components is an abstract class. Abstract classes specify | ||
the common properties and methods of all subclasses. The ways in which | ||
the four kinds of classes interact with each other are also specified. | ||
Subclasses then flesh out different integrands, sampling schemes, and | ||
stopping criteria. Besides providing developers a way to link their new | ||
ideas with those implemented by the rest of the QMC community, we also | ||
aim to provide practitioners with state-of-the-art QMC software for | ||
their applications. | ||
|
||
.. raw:: html | ||
|
||
<hr> | ||
|
||
Citation | ||
-------- | ||
|
||
If you find QMCPy helpful in your work, please support us by citing the | ||
following work: | ||
|
||
Fred J. Hickernell, Sou-Cheng T. Choi, and Aleksei Sorokin, “QMC | ||
Community Software.” Python software, 2019. Work in progress. Available | ||
from https://github.com/QMCSoftware/QMCSoftware | ||
|
||
.. raw:: html | ||
|
||
<hr> | ||
|
||
Developers | ||
---------- | ||
|
||
- Sou-Cheng T. Choi | ||
- Fred J. Hickernell | ||
- Aleksei Sorokin | ||
|
||
.. raw:: html | ||
|
||
<hr> | ||
|
||
Contributors | ||
------------ | ||
|
||
- Michael McCourt | ||
|
||
.. raw:: html | ||
|
||
<hr> | ||
|
||
Acknowledgment | ||
-------------- | ||
|
||
We thank Dirk Nuyens for fruitful discussions related to Magic Point | ||
Shop. | ||
|
||
.. raw:: html | ||
|
||
<hr> | ||
|
||
References | ||
---------- | ||
|
||
[1] F.Y. Kuo & D. Nuyens. “Application of quasi-Monte Carlo methods to | ||
elliptic PDEs with random diffusion coefficients - a survey of analysis | ||
and implementation”,Foundations of Computational Mathematics, | ||
16(6):1631-1696, 2016. (`springer | ||
link <https://link.springer.com/article/10.1007/s10208-016-9329-5>`__, | ||
`arxiv link <https://arxiv.org/abs/1606.06613>`__) | ||
|
||
[2] Fred J. Hickernell, Lan Jiang, Yuewei Liu, and Art B. Owen, | ||
“Guaranteed conservative fixed width confidence intervals via Monte | ||
Carlo sampling,” Monte Carlo and Quasi-Monte Carlo Methods 2012 (J. | ||
Dick, F.Y. Kuo, G. W. Peters, and I. H. Sloan, eds.), pp. 105-128, | ||
Springer-Verlag, Berlin, 2014. DOI: 10.1007/978-3-642-41095-6_5 | ||
|
||
[3] Sou-Cheng T. Choi, Yuhan Ding, Fred J. Hickernell, Lan Jiang, Lluis | ||
Antoni Jimenez Rugama, Da Li, Jagadeeswaran Rathinavel, Xin Tong, Kan | ||
Zhang, Yizhi Zhang, and Xuan Zhou, GAIL: Guaranteed Automatic | ||
Integration Library (Version 2.3) [MATLAB Software], 2019. Available | ||
from http://gailgithub.github.io/GAIL_Dev/ | ||
|
||
[4] Sou-Cheng T. Choi, “MINRES-QLP Pack and Reliable Reproducible | ||
Research via Supportable Scientific Software,” Journal of Open Research | ||
Software, Volume 2, Number 1, e22, pp. 1-7, 2014. | ||
|
||
[5] Sou-Cheng T. Choi and Fred J. Hickernell, “IIT MATH-573 Reliable | ||
Mathematical Software” [Course Slides], Illinois Institute of | ||
Technology, Chicago, IL, 2013. Available from | ||
http://gailgithub.github.io/GAIL_Dev/ | ||
|
||
[6] Daniel S. Katz, Sou-Cheng T. Choi, Hilmar Lapp, Ketan Maheshwari, | ||
Frank Loffler, Matthew Turk, Marcus D. Hanwell, Nancy Wilkins-Diehr, | ||
James Hetherington, James Howison, Shel Swenson, Gabrielle D. Allen, | ||
Anne C. Elster, Bruce Berriman, Colin Venters, “Summary of the First | ||
Workshop On Sustainable Software for Science: Practice and Experiences | ||
(WSSSPE1),” Journal of Open Research Software, Volume 2, Number 1, e6, | ||
pp. 1-21, 2014. | ||
|
||
[7] Fang, K.-T., & Wang, Y. (1994). Number-theoretic Methods in | ||
Statistics. London, UK: CHAPMAN & HALL | ||
|
||
[8] Lan Jiang, Guaranteed Adaptive Monte Carlo Methods for Estimating | ||
Means of Random Variables, PhD Thesis, Illinois Institute of Technology, | ||
2016. | ||
|
||
[9] Lluis Antoni Jimenez Rugama and Fred J. Hickernell, “Adaptive | ||
multidimensional integration based on rank-1 lattices,” Monte Carlo and | ||
Quasi-Monte Carlo Methods: MCQMC, Leuven, Belgium, April 2014 (R. Cools | ||
and D. Nuyens, eds.), Springer Proceedings in Mathematics and | ||
Statistics, vol. 163, Springer-Verlag, Berlin, 2016, arXiv:1411.1966, | ||
pp. 407-422. | ||
|
||
[10] Kai-Tai Fang and Yuan Wang, Number-theoretic Methods in Statistics, | ||
Chapman & Hall, London, 1994. | ||
|
||
[11] Fred J. Hickernell and Lluis Antoni Jimenez Rugama, “Reliable | ||
adaptive cubature using digital sequences”, Monte Carlo and Quasi-Monte | ||
Carlo Methods: MCQMC, Leuven, Belgium, April 2014 (R. Cools and D. | ||
Nuyens, eds.), Springer Proceedings in Mathematics and Statistics, | ||
vol. 163, Springer-Verlag, Berlin, 2016, arXiv:1410.8615 [math.NA], | ||
pp. 367-383. | ||
|
||
.. |Build Status| image:: https://travis-ci.com/QMCSoftware/QMCSoftware.png?branch=master | ||
:target: https://travis-ci.com/QMCSoftware/QMCSoftware |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
.. contents:: | ||
:depth: 1 | ||
.. | ||
Python 3 Library of QMC Software | ||
================================ | ||
|
||
.. raw:: html | ||
|
||
<hr> | ||
|
||
QMCPy | ||
----- | ||
|
||
Package of main components | ||
|
||
- Integrand classes | ||
- True Measure classes | ||
- Discrete Distribution classes | ||
- Stopping Criterion classes | ||
- Accumulate Data classes | ||
- Third Party contributed classes | ||
- integrate function | ||
|
||
.. raw:: html | ||
|
||
<hr> | ||
|
||
workouts | ||
-------- | ||
|
||
Example uses of QMCPy package | ||
|
||
.. raw:: html | ||
|
||
<hr> | ||
|
||
test | ||
---- | ||
|
||
Sets of long and short unittests | ||
|
||
.. raw:: html | ||
|
||
<hr> | ||
|
||
outputs | ||
------- | ||
|
||
Logs and figures generated by workouts | ||
|
||
.. raw:: html | ||
|
||
<hr> | ||
|
||
demos | ||
----- | ||
|
||
Example use of QMCPy as an independent package | ||
|
||
.. raw:: html | ||
|
||
<hr> | ||
|
||
sphinx | ||
------ | ||
|
||
Automated project documentation | ||
|
||
.. raw:: html | ||
|
||
<hr> | ||
|
||
Installation | ||
------------ | ||
|
||
:: | ||
|
||
pip install qmcpy | ||
|
||
A virtual environment is recommended for developers/contributors Ensure | ||
*…/python_prototypes/* is in your path Install dependencies with | ||
|
||
:: | ||
|
||
pip install requirements.txt |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,103 @@ | ||
.. contents:: | ||
:depth: 1 | ||
.. | ||
QMCPy | ||
===== | ||
|
||
.. raw:: html | ||
|
||
<hr> | ||
|
||
Integrand | ||
--------- | ||
|
||
The function to integrate *Abstract class with concrete implementations* | ||
|
||
- Linear: :math:`\:\: y_i = \sum_{j=0}^{d-1}(x_{ij})` | ||
- Keister: :math:`\:\: y_i = \pi^{d/2} * \cos(||x_i||_2)` | ||
- Asian Call | ||
|
||
- :math:`S_i(t_j)=S(0)e^{(r-\frac{\sigma^2}{2})t_j+\sigma\mathcal{B}(t_j)}` | ||
- discounted call payoff | ||
:math:`= max(\frac{1}{d}\sum_{j=0}^{d-1} S(jT/d)-K)\;,\: 0)` | ||
- discounted put payoff | ||
:math:`= max(K-\frac{1}{d}\sum_{j=0}^{d-1} S(jT/d))\;,\: 0)` | ||
|
||
.. raw:: html | ||
|
||
<hr> | ||
|
||
True Measure | ||
------------ | ||
|
||
General measure used to define the integrand *Abstract class with | ||
concrete implementations* | ||
|
||
- Uniform: :math:`\:\: \mathcal{U}(a,b)` | ||
- Gaussian: :math:`\:\: \mathcal{N}(\mu,\sigma^2)` | ||
- Brownian Motion: | ||
:math:`\:\: \mathcal{B}(t_j)=B(t_{j-1})+Z_j\sqrt{t_j-t_{j-1}} \;` for | ||
:math:`\;Z_j \sim \mathcal{N}(0,1)` | ||
|
||
.. raw:: html | ||
|
||
<hr> | ||
|
||
Discrete Distribution | ||
--------------------- | ||
|
||
Sampling nodes iid or lds (low-discrepancy sequence) *Abstract class | ||
with concrete implementations* | ||
|
||
- IID Standard Uniform: | ||
:math:`\:\: x_j \overset{iid}{\sim} \mathcal{U}(0,1)` | ||
- IID Standard Gaussian: | ||
:math:`\:\: x_j \overset{iid}{\sim} \mathcal{N}(0,1)` | ||
- Lattice (base 2): | ||
:math:`\:\: x_j \overset{lds}{\sim} \mathcal{U}(0,1)` | ||
- Sobol (base 2): :math:`\:\: x_j \overset{lds}{\sim} \mathcal{U}(0,1)` | ||
|
||
.. raw:: html | ||
|
||
<hr> | ||
|
||
Stopping Criterion | ||
------------------ | ||
|
||
The stopping criterion to determine sufficient approximation *Abstract | ||
class with concrete implementations* Central Limit Theorem (CLT) | ||
:math:`\; \hat{\mu}_n = \overline{Y}_n \approx\mathcal{N}(\mu,\frac{\sigma^2}{n})`\ | ||
:math:`\; \mathbb{P}[\hat{\mu}_n-\frac{\mathcal{Z}_{\alpha/2}\hat{\sigma}_n}{\sqrt{n}} \leq \mu \leq \hat{\mu}_n+\frac{\mathcal{Z}_{\alpha/2}\hat{\sigma}_n}{\sqrt{n}}] \approx 1-\alpha` | ||
|
||
- CLT for :math:`x_i\sim` iid | ||
- CLT Repeated for :math:`\{x_{r,i}\}_{r=1}^R \sim` lds | ||
|
||
.. raw:: html | ||
|
||
<hr> | ||
|
||
Accumulate Data Class | ||
--------------------- | ||
|
||
Stores data values of corresponding stopping criterion procedure | ||
*Abstract class with concrete implementations* | ||
|
||
- Mean Variance Data (Controlled by CLT) | ||
- Mean Variance Repeated Data (Controlled by CLT Repeated) | ||
|
||
.. raw:: html | ||
|
||
<hr> | ||
|
||
Integrate Method | ||
---------------- | ||
|
||
Repeatedly samples the integrand at nodes generated by the discrete | ||
distribution and transformed to mimic the integrand’s true measure until | ||
the Stopping Criterion is met *Function with arguments:* | ||
|
||
- Integrand object | ||
- True Measure object | ||
- Discrete Distribution object | ||
- Stopping Criterion object |
Oops, something went wrong.