aboutsummaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
2021-04-20Do 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-20Return 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-08Wrap volume-importance.•••* scm/nsmc/wrap.scm (volume-importance): New function. Arun Isaac
2021-04-08Rename volume-experiment to volume-importance.•••* src/extent-sampling.sc, include/extent-sampling.h (volume-experiment): Rename to volume-importance. Arun Isaac
2021-04-08Wrap gsl_sf_lngamma.•••* scm/nsmc/wrap.scm (log-gamma): New function. Arun Isaac
2021-03-19Demonstrate cone sampling with rejection sampling too.•••* contrib/cone-vector.py (sample_code): Demonstrate cone sampling with rejection sampling too. Arun Isaac
2021-03-19Implement 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-19Factor 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-16Deal 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-16Fix 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-16Implement 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-15Put 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-15Remove unused imports.•••* contrib/cone-vector.py: Don't import zeros from numpy and gamma from scipy.special. Arun Isaac
2021-03-15Add 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-15Remove 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-15Implement 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-15Vectorize functions.•••* contrib/cone-vector.py: Import where. (planar_angle2solid_angle_fraction, solid_angle_fraction2planar_angle): Vectorize functions. Arun Isaac
2021-03-15Fix 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-10Do 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-10Remove 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-10Add Python implementation of cone sampling.•••* contrib/cone-vector.py: New file. Arun Isaac
2021-02-26Add copyright and license headers.•••* scm/nsmc/load-libs.scm.in, scm/nsmc/wrap.scm: Add copyright and license headers. Arun Isaac
2021-02-26List papers as a bulleted list.•••* README.org: List papers as a bulleted list. Arun Isaac
2021-02-26Add guix environment instructions to guix.scm.•••* guix.scm: Add guix environment instructions. Arun Isaac
2021-02-26Add 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-26Add a copy of the GPLv3.•••* COPYING: New file. Arun Isaac
2021-02-26Add explicit citation information in README.•••* README.org (Citing): New section. Arun Isaac
2021-02-26Refer to papers in the opening of the README.•••* README.org: Refer to papers at the opening. Arun Isaac
2021-02-26Change title of README.•••* README.org (TITLE): Set to "n-sphere Monte Carlo Method". Arun Isaac
2021-02-26Document running of examples in README.•••* README.org (Usage): New section. Arun Isaac
2021-02-26Add hollow cone vector generation example.•••* examples/generate-hollow-cone-vector.c: New file. Arun Isaac
2021-02-26Add cone vector generation example.•••* examples/generate-cone-vector.c: New file. Arun Isaac
2021-02-26Set CPATH and LIBRARY_PATH in pre-inst-env wrapper.•••This is so that someone compiling and running C programs against libnsmc can do so easily. * pre-inst-env.in: Set CPATH and LIBRARY_PATH. Arun Isaac
2021-02-26Rename subsampling-random-vector to cone-random-vector.•••* scm/nsmc/wrap.scm: (subsampling-random-vector): Rename to cone-random-vector. * src/nd-random.sc (subsampling-random-vector): Rename to cone-random-vector. * include/nd-random.h (subsampling_random_vector): Rename to cone_random_vector. Arun Isaac
2021-02-26Rename project to nsmc.Arun Isaac
2021-02-26Advertise guix environment in README.•••* README.org (Build): Advertise guix environment. Arun Isaac
2021-02-26Link to dependencies in README.•••* README.org (Build): Link to dependencies. Arun Isaac
2021-02-26Specify GSL as a dependency in README.•••* README.org (Build): Specify GSL as a dependency. Arun Isaac
2021-02-26Add indent to build dependencies.•••* guix.scm (extent-sampling): Add indent to native-inputs. Arun Isaac
2021-02-26Fix home-page in guix.scm.•••* guix.scm (extent-sampling): Fix home-page. Arun Isaac
2021-02-26Add README.•••* README.org: New file. Arun Isaac
2021-02-26Comment about building and installing shared library.•••* CMakeLists.txt: Comment about building and installing shared library. Arun Isaac
2021-02-26Include GNUInstallDirs earlier in CMakeLists.•••* CMakeLists.txt: Include GNUInstallDirs earlier. Arun Isaac
2021-02-26Wrap volume-window function.•••* scm/extent-sampling/wrap.scm (volume-window): New function. Arun Isaac
2021-02-26Remove unused neval variable.•••* src/extent-sampling.sc (integral-per-direction): Remove neval from function arguments. (integral): Adjust integral-per-direction function call. Arun Isaac
2021-02-24Remove workaround for sph-sc negation bug.•••The bug has been fixed upstream. * src/integrands.sc (gaussian-integrand): Remove workaround for sph-sc negation bug. Arun Isaac
2021-02-23Wrap integral function.•••* scm/extent-sampling/wrap.scm (maybe-procedure->integrand, integral): New functions. Arun Isaac
2021-02-23Wrap volume function.•••* scm/extent-sampling/wrap.scm (maybe-procedure->extent-oracle, maybe-procedure->integrand): New functions. Arun Isaac
2021-02-23Wrap integrands.•••* scm/extent-sampling/wrap.scm (make-integrand, make-polynomial-integrand, gaussian-integrand, x-coordinate-integrand): New functions. Arun Isaac
2021-02-23Wrap extent oracles.•••* scm/extent-sampling/wrap.scm (make-extent-oracle, make-bernoulli-params, make-bernoulli-oracle, true-volume-procedure, bernoulli-true-volume, make-uniform-params, make-uniform-oracle, uniform-true-volume, make-beta-params, make-beta-oracle, beta-true-volume, make-cube-params, make-cube-oracle, cube-true-volume, make-spheroid-params, make-spheroid-oracle, spheroid-true-volume): New functions. Arun Isaac