Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add LogSAS binning for 3pt correlations #165

Merged
merged 49 commits into from
Jan 4, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
174306b
Revert parts of 898330e3 which broke some non-pytest test runs
rmjarvis Dec 24, 2023
1fb4e03
Remove code for reading old-style output files, which we don't suppor…
rmjarvis Sep 15, 2023
7acae34
First pass at the python-layer to add LogSAS 3pt binning
rmjarvis Sep 16, 2023
01ac578
Refactor Corr3 to put most of the binning decision into BinTypeHelper…
rmjarvis Sep 16, 2023
4b83e10
Implement the plumbing for LogSAS -- still just equivalent to LogRUV …
rmjarvis Sep 17, 2023
f1b78e3
test_logsas_binning
rmjarvis Oct 17, 2023
b0665ba
test_direct_count_auto_logsas
rmjarvis Oct 18, 2023
b5bf528
Update ci versions
rmjarvis Nov 27, 2023
d5f504a
Fix error in nnn Arc test
rmjarvis Nov 30, 2023
454502d
Clean up some debugging lines
rmjarvis Dec 1, 2023
871e6c3
test_direct_count_cross_logsas
rmjarvis Dec 1, 2023
ed0a1ef
test_direct_count_cross12_logsas
rmjarvis Dec 5, 2023
712d4e2
test_nnn_logsas
rmjarvis Dec 6, 2023
efde511
Start removing some of the trig calls for phi checks
rmjarvis Dec 7, 2023
5d53ec8
More optimization of stop111
rmjarvis Dec 7, 2023
a2dff05
Remove trig from noAllowedAngles
rmjarvis Dec 7, 2023
ac1c4f6
Remove trig from singleBin
rmjarvis Dec 7, 2023
b2103b9
Don't need d1 in stop111
rmjarvis Dec 8, 2023
2ee4f5c
Fix error in meanphi computation
rmjarvis Dec 12, 2023
9eb70c1
Restrict SAS phi to [0,pi]
rmjarvis Dec 13, 2023
d86b531
Let SAS logic swap 2 and 3 to make 0<=phi<=pi
rmjarvis Dec 17, 2023
1bf1caa
Keep track of whether the order matters in C++ layer
rmjarvis Dec 21, 2023
91e41f5
Fix the min/max sep stopping criterion
rmjarvis Dec 21, 2023
4aa4019
Increase the phi range in test_nnn_logsas
rmjarvis Dec 21, 2023
85d924c
Remove default parameters from some private functions, and fix some h…
rmjarvis Dec 22, 2023
647f9ca
Use ordered=True rather than NNNCrossCorrelation for LogSAS cross cor…
rmjarvis Dec 23, 2023
ef53f3c
Minor optimizations in cross12
rmjarvis Dec 24, 2023
1c80131
Implement ordered for LogRUV binning
rmjarvis Dec 24, 2023
8865f35
Remove 3pt CrossCorrelation classes
rmjarvis Dec 25, 2023
e02529c
Mention ordered and LogSAS in CHANGELOG
rmjarvis Dec 25, 2023
21fd4ee
Rename tests in 3pt test files to explicitly name logruv bintype
rmjarvis Dec 25, 2023
ce7712f
Compute meand1, meanlogd1 for LogSAS; also use d2,d3 not r2,r3 for na…
rmjarvis Dec 27, 2023
4779816
Add tests of LogSAS binning for KKK
rmjarvis Dec 27, 2023
9b69503
ignore devel/data directory
rmjarvis Dec 27, 2023
266c15b
Add tests of LogSAS binning for GGG
rmjarvis Dec 28, 2023
435a777
test_map3_logsas
rmjarvis Jan 2, 2024
c2c3dfa
Fix errors on windows
rmjarvis Jan 2, 2024
b586bdc
no cover unreachable code
rmjarvis Jan 2, 2024
d90c006
coverage
rmjarvis Jan 3, 2024
863ba95
Update CHANGELOG
rmjarvis Jan 3, 2024
11dffaf
Remove useless inheritance
rmjarvis Jan 3, 2024
7fde0fd
Remove extra corr arguments to ProcessCross functions in C++ that are…
rmjarvis Jan 3, 2024
b1ff421
Use template O for ordered; makes 3pt 10% faster with not too much co…
rmjarvis Jan 3, 2024
da459b6
Remove extraneous stopping test
rmjarvis Jan 3, 2024
3333962
Fix errors in comments
rmjarvis Jan 3, 2024
af7e819
Check for invalid u,v,phi paramters with the wrong bin_type
rmjarvis Jan 3, 2024
cf15c9f
Have Arc metric compute real spherical triangle angle
rmjarvis Jan 4, 2024
a3b6b7c
Add phi_units option
rmjarvis Jan 4, 2024
bcdfb42
doc edits
rmjarvis Jan 4, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,18 +55,18 @@ jobs:
CXX: g++

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
# Helpful for a reliable codecov upload.
fetch-depth: 0

- name: Set up Python ${{ matrix.py }}
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.py }}

- name: Cache pip
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-${{ matrix.py }}-pip-${{ hashFiles('requirements.txt') }}
Expand Down
7 changes: 7 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@ API Changes
- Renamed the base classes BinnedCorr2 -> `Corr2` and BinnedCorr3 -> `Corr3`. These are not
normally used directly by users, so it shouldn't be noticeable in user code. (#155)
- Removed all deprecations from the 4.x series. (#156)
- Removed support for reading back in output files from the 3.x series. (#165)
- Removed the 3pt CrossCorrelation classes. See the new ``ordered=True`` option to the 3pt
``process`` method instead to get correlations where the order of the three catalogs is fixed.
This is simpler and more intuitive, and for many use cases it is more efficient. (#165)


Performance improvements
Expand All @@ -46,6 +50,9 @@ New features
- Added spin-3 and spin-4 correlations using the letters T (for Trefoil) and Q (for Quatrefoil)
respectively, including `NTCorrelation`, `KTCorrelation`, `TTCorrelation`, `NQCorrelation`,
`KQCorrelation` and `QQCorrelation`. (#160)
- Added ``ordered=True`` option to the 3pt ``process`` methods for keeping the order of the
catalogs fixed in the triangle orientation. (#165)
- Added ``bin_type='LogSAS'`` for 3pt correlations. (#165)


Bug fixes
Expand Down
1 change: 1 addition & 0 deletions devel/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@
junk*
sva1_gold*.fits
des_sv.fits
data
8 changes: 8 additions & 0 deletions docs/metric.rst
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,12 @@ will be in terms of great circle distances. However, they will not necessarily
precisely uniformly in log(r), since the original bin spacing will have been set up in terms
of the chord distances.

Similarly, for three-point correlation functions with ``bin_type="LogSAS"``, the phi values
will have been accumulated according to the regular Euclidean triangles made from the three
chord distances. The correction to true spherical-geometric angles between the great circles
happens at the end, so the ``meanphi`` values are approximately correct, but the binning
will have been done using the angles between the chords.

"Arc"
-----

Expand All @@ -62,6 +68,8 @@ chord calculations are in any way problematic for your particular use case.

Also, unlike the "Euclidean" version, the bin spacing will be uniform in log(r) using the
actual great circle distances, rather than being based on the chord distances.
And for three-point correlation functions with ``bin_type="LogSAS"``, the phi values
will be the true spherical-geometric angles between the great circles.


.. _Rperp:
Expand Down
Loading