Age | Commit message (Expand) | Author |
2021-06-30 | Implement window stopping criterion for integrals.•••* src/extent-sampling.sc (integral): Implement window stopping
criterion.
| Arun Isaac |
2021-06-30 | Support sampling in sphere.•••* src/nd-random.sc (random-vector-in-sphere): New function.
* include/nd-random.h (random_vector_in_sphere): Declare it.
| Arun Isaac |
2021-05-07 | Implement spheroid importance sampling experiments.•••* src/spheroid.sc: New file.
* CMakeLists.txt: Add spheroid executable.
| Arun Isaac |
2021-05-07 | Implement volume of bodies experiments.•••* src/volume-bodies.sc: New file.
* CMakeLists.txt: Add volume-bodies executable.
| Arun Isaac |
2021-05-07 | Implement integral experiments.•••* src/integral.sc: New file.
* CMakeLists.txt: Explicitly specify sources for nsmc library. Add
integral executable.
| Arun Isaac |
2021-05-07 | Use window stopping criterion for volume.•••* src/extent-sampling.sc (volume): Use window stopping criterion.
| Arun Isaac |
2021-05-07 | Treat extent oracles and integrands as const arguments.•••* include/extent-sampling.h (volume, volume_cone, volume_importance,
integral): Pass extent oracle and integrand as const arguments.
* src/extent-sampling.sc (volume, volume_cone, volume_importance,
integral, integral-per-direction): Likewise.
| Arun Isaac |
2021-05-07 | Do not pass rng to integral-per-direction.•••integral-per-direction should be purely deterministic.
* src/extent-sampling.sc (integral-per-direction): Do not accept rng
as argument.
(integral): Do not pass rng to integral-per-direction.
| Arun Isaac |
2021-05-07 | Define with-file and with-data-file sc macros.•••* src/macros/macros.sc (with-file, with-data-file): New macros.
| Arun Isaac |
2021-05-07 | Move with-rstats and define with-rstats* sc macros.•••* src/extent-sampling.sc (with-rstats): Move to ...
* src/macros/macros.sc (with-rstats): ... to here.
(with-rstats*): New macro.
| Arun Isaac |
2021-05-07 | Define with-rng sc macro.•••* src/macros/macros.sc (with-rng): New macro.
| Arun Isaac |
2021-05-07 | Move with-vector to macros.sc.•••* src/extent-sampling.sc (with-vector): Move to ...
* src/macros/macros.sc (with-vector): ... here.
| Arun Isaac |
2021-05-07 | Define for-i-step sc macro.•••* src/macros/macros.sc (for-i-step): New macro.
| Arun Isaac |
2021-05-07 | Define when and unless sc macros.•••* src/macros/macros.sc (when, unless): New macros.
| Arun Isaac |
2021-05-07 | Add rtol? predicate.•••* src/utils.sc (rtol?): New function.
* include/utils.h (rtol_p): Declare it.
| Arun Isaac |
2021-05-07 | Declare polynomial_integrand_params member as const.•••* include/integrands.h (polynomial_integrand_params): Declare
coefficients member as const.
| Arun Isaac |
2021-04-20 | Wrap ellipsoid functions.•••* scm/nsmc/wrap.scm (make-ellipsoid-params, make-ellipsoid-oracle,
ellipsoid-true-volume): New functions.
| Arun Isaac |
2021-04-20 | Return rstat object from volume and integral wrappers.•••We return the rstat object so it can be passed on into another
invocation to continue the estimation and refine the estimate to a
closer tolerance.
* scm/nsmc/wrap.scm (volume, integral): Return rsat object.
| Arun Isaac |
2021-04-20 | Do not return volume or integral estimate.•••We are already passing in the true volume or integral, and checking
that the estimate is within the required tolerance. What is the point
in returning the estimate to the caller.
* include/extent-sampling.h (volume, integral): Return nothing.
* src/extent-sampling.sc (volume, integral): Return nothing.
* scm/nsmc/wrap.scm (volume, integral): Accept no return value from C
function.
| Arun Isaac |
2021-04-20 | Return the first accurate estimate.•••* include/extent-sampling.h (volume_window): Delete function.
* src/extent-sampling.sc (integral, volume): Return the first accurate
estimate.
(volume-window): Delete function.
* scm/nsmc/wrap.scm (volume-window): Delete function.
| Arun Isaac |
2021-04-08 | Wrap volume-importance.•••* scm/nsmc/wrap.scm (volume-importance): New function.
| Arun Isaac |
2021-04-08 | Rename volume-experiment to volume-importance.•••* src/extent-sampling.sc,
include/extent-sampling.h (volume-experiment): Rename to
volume-importance.
| Arun Isaac |
2021-04-08 | Wrap gsl_sf_lngamma.•••* scm/nsmc/wrap.scm (log-gamma): New function.
| Arun Isaac |
2021-03-19 | Demonstrate cone sampling with rejection sampling too.•••* contrib/cone-vector.py (sample_code): Demonstrate cone sampling with
rejection sampling too.
| Arun Isaac |
2021-03-19 | Implement rejection sampling based cone sampling.•••* contrib/cone-vector.py: Import log.
(random_planar_angle_pdf, random_vector_on_spherical_cap_pdf): New
functions.
| Arun Isaac |
2021-03-19 | Factor out random planar angle generation.•••* contrib/cone-vector.py (random_planar_angle_cdf,
random_vector_on_disk): New functions.
(random_vector_on_spherical_cap): Rename to
random_vector_on_spherical_cap_cdf. Call random_planar_angle_cdf and
random_vector_on_disk.
(sample_code): Call random_vector_on_spherical_cap_cdf instead of
random_vector_on_spherical_cap.
| Arun Isaac |
2021-03-16 | Deal in solid angle fractions, not absolute solid angles.•••* src/extent-sampling.sc (volume-cone): Use
solid-angle-fraction->planar-angle instead of
solid-angle->planar-angle.
* src/nd-random.sc (planar-angle->solid-angle): Rename to
planar-angle->solid-angle-fraction and return a solid angle fraction.
(solid-angle->planar-angle): Rename to
solid-angle-fraction->planar-angle and accept a solid angle fraction.
(hollow-cone-random-vector): Use planar-angle->solid-angle-fraction
instead of planar-angle->solid-angle.
(beta-inc-unnormalized, incomplete-wallis-integral): Delete functions.
* include/nd-random.h (planar_angle_to_solid_angle): Rename to
planar_angle_to_solid_angle_fraction.
(solid_angle_to_planar_angle): Rename to
solid_angle_fraction_to_planar_angle.
* scm/nsmc/wrap.scm (planar-angle->solid-angle): Rename to
planar-angle->solid-angle-fraction.
| Arun Isaac |
2021-03-16 | Fix edge case when vectors around the nth canonical axis are required.•••* src/nd-random.sc (rotate-from-nth-canonical): Do nothing when
vectors around the nth canonical axis are required.
| Arun Isaac |
2021-03-16 | Implement simplified cone sampling algorithm.•••* src/nd-random.sc (hollow-cone-random-vector): Implement simplified
algorithm that directly samples the surface of the sphere instead of
sampling a disk and projecting it onto the surface.
| Arun Isaac |
2021-03-15 | Put sample code in separate function.•••* contrib/cone-vector.py: Call sample_code when run as a script.
(sample_code): New function.
| Arun Isaac |
2021-03-15 | Remove unused imports.•••* contrib/cone-vector.py: Don't import zeros from numpy and gamma from
scipy.special.
| Arun Isaac |
2021-03-15 | Add function docstrings.•••* contrib/cone-vector.py (random_vector_on_sphere,
planar_angle2solid_angle_fraction, solid_angle_fraction2planar_angle,
rotate_from_nth_canonical, random_vector_on_spherical_cap): Add
docstrings.
| Arun Isaac |
2021-03-15 | Remove space between function name and bracket.•••* contrib/cone-vector.py (random_vector_on_sphere,
planar_angle2solid_angle_fraction, solid_angle_fraction2planar_angle,
rotate_from_nth_canonical, random_vector_on_spherical_cap): Remove
space between function name and bracket.
| Arun Isaac |
2021-03-15 | Implement simplified cone sampling algorithm.•••* contrib/cone-vector.py: Don't import tan.
(random_vector_on_spherical_cap): Implement simplified algorithm that
directly samples the surface of the sphere instead of sampling a disk
and projecting it onto the surface.
| Arun Isaac |
2021-03-15 | Vectorize functions.•••* contrib/cone-vector.py: Import where.
(planar_angle2solid_angle_fraction,
solid_angle_fraction2planar_angle): Vectorize functions.
| Arun Isaac |
2021-03-15 | Fix solid_angle_fraction2planar_angle for solid_angle_fraction > 1/2.•••* contrib/cone-vector.py (solid_angle_fraction2planar_angle): Fix for
solid_angle_fraction > 1/2.
| Arun Isaac |
2021-03-10 | Do not concatenate numpy arrays.•••* contrib/cone-vector.py: Import empty. Don't import concatenate.
(random_vector_on_spherical_cap): Build random vector without
concatenation.
| Arun Isaac |
2021-03-10 | Remove surface area computation.•••Now that we are computing solid angle fractions, there is no need to
compute the total surface area of the sphere.
* contrib/cone-vector.py (surface_area_of_ball): Delete function.
(solid_angle_fraction2planar_angle): Remove surface area computation.
| Arun Isaac |
2021-03-10 | Add Python implementation of cone sampling.•••* contrib/cone-vector.py: New file.
| Arun Isaac |
2021-02-26 | Add copyright and license headers.•••* scm/nsmc/load-libs.scm.in, scm/nsmc/wrap.scm: Add copyright and
license headers.
| Arun Isaac |
2021-02-26 | List papers as a bulleted list.•••* README.org: List papers as a bulleted list.
| Arun Isaac |
2021-02-26 | Add guix environment instructions to guix.scm.•••* guix.scm: Add guix environment instructions.
| Arun Isaac |
2021-02-26 | Add copyright and license headers for all files.•••* include/extent-sampling.h, include/gaussian-nd-random.h,
include/integrands.h, include/nd-random.h, include/oracles.h,
include/utils.h, src/extent-sampling.sc, src/gaussian-nd-random.sc,
src/integrands.sc, src/macros/macros.sc, src/nd-random.sc,
src/oracles.sc, src/utils.sc, CMakeLists.txt, pre-inst-env.in: Add
copyright and license headers.
| Arun Isaac |
2021-02-26 | Add a copy of the GPLv3.•••* COPYING: New file.
| Arun Isaac |
2021-02-26 | Add explicit citation information in README.•••* README.org (Citing): New section.
| Arun Isaac |
2021-02-26 | Refer to papers in the opening of the README.•••* README.org: Refer to papers at the opening.
| Arun Isaac |
2021-02-26 | Change title of README.•••* README.org (TITLE): Set to "n-sphere Monte Carlo Method".
| Arun Isaac |
2021-02-26 | Document running of examples in README.•••* README.org (Usage): New section.
| Arun Isaac |
2021-02-26 | Add hollow cone vector generation example.•••* examples/generate-hollow-cone-vector.c: New file.
| Arun Isaac |
2021-02-26 | Add cone vector generation example.•••* examples/generate-cone-vector.c: New file.
| Arun Isaac |