diff --git a/README.md b/README.md index 0d2bb30..4063fef 100644 --- a/README.md +++ b/README.md @@ -137,7 +137,7 @@ Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduc We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/mikekatz04/BBHx/tags). -Current Version: 1.0.7 +Current Version: 1.0.8 ## Authors diff --git a/bbhx/likelihood.py b/bbhx/likelihood.py index 607630f..548dffa 100644 --- a/bbhx/likelihood.py +++ b/bbhx/likelihood.py @@ -253,7 +253,9 @@ class HeterodynedLikelihood: `arXiv:2109.02728 `_. We implement the method as described in `arXiv:1806.08792 `_. - This class also works with higher order harmonic modes. TODO: fill in. + This class also works with higher order harmonic modes, but it has not been tested extensivally. + It only does a direct summation over the modes rather than heterodyning per mode. So, it is less reliable, + but in practice it produces a solid posterior distribution. This class has GPU capabilities. diff --git a/docs/doctrees/README.doctree b/docs/doctrees/README.doctree index 16e6e97..187ba22 100644 Binary files a/docs/doctrees/README.doctree and b/docs/doctrees/README.doctree differ diff --git a/docs/doctrees/environment.pickle b/docs/doctrees/environment.pickle index 32145b0..1278d74 100644 Binary files a/docs/doctrees/environment.pickle and b/docs/doctrees/environment.pickle differ diff --git a/docs/doctrees/index.doctree b/docs/doctrees/index.doctree index 292da11..e53c435 100644 Binary files a/docs/doctrees/index.doctree and b/docs/doctrees/index.doctree differ diff --git a/docs/doctrees/user/like.doctree b/docs/doctrees/user/like.doctree index cd3af31..492e6db 100644 Binary files a/docs/doctrees/user/like.doctree and b/docs/doctrees/user/like.doctree differ diff --git a/docs/html/README.html b/docs/html/README.html index 2e098fd..91a4bf6 100644 --- a/docs/html/README.html +++ b/docs/html/README.html @@ -259,7 +259,7 @@

VersioningSemVer for versioning. For the versions available, see the tags on this repository.

-

Current Version: 1.0.7

+

Current Version: 1.0.8

Authors

diff --git a/docs/html/_sources/README.rst.txt b/docs/html/_sources/README.rst.txt index b5b5042..e1b43f7 100644 --- a/docs/html/_sources/README.rst.txt +++ b/docs/html/_sources/README.rst.txt @@ -191,7 +191,7 @@ We use `SemVer `__ for versioning. For the versions available, see the `tags on this repository `__. -Current Version: 1.0.7 +Current Version: 1.0.8 Authors ------- diff --git a/docs/html/_sources/user/like.rst.txt b/docs/html/_sources/user/like.rst.txt index 4e1aacb..162719f 100644 --- a/docs/html/_sources/user/like.rst.txt +++ b/docs/html/_sources/user/like.rst.txt @@ -8,3 +8,11 @@ Direct Likelihood Computation :members: :show-inheritance: :inherited-members: + +Heterodyned Likelihood Computation +************************************* + +.. autoclass:: bbhx.likelihood.HeterodynedLikelihood + :members: + :show-inheritance: + :inherited-members: diff --git a/docs/html/genindex.html b/docs/html/genindex.html index a3d2e7d..583dac7 100644 --- a/docs/html/genindex.html +++ b/docs/html/genindex.html @@ -96,6 +96,7 @@

Index

| E | F | G + | H | I | L | M @@ -193,15 +194,17 @@

C

  • c3_dm (bbhx.waveforms.phenomhm.PhenomHMAmpPhase attribute)
  • - - + -
  • like_gen (bbhx.likelihood.Likelihood attribute) +
  • length_f_het (bbhx.likelihood.HeterodynedLikelihood attribute) +
  • +
  • like_gen (bbhx.likelihood.HeterodynedLikelihood attribute)
  • @@ -392,8 +441,12 @@

    P

  • (bbhx.waveforms.phenomhm.PhenomHMAmpPhase property)
  • -
  • phase_marginalize (bbhx.likelihood.Likelihood attribute) +
  • phase_marginalize (bbhx.likelihood.HeterodynedLikelihood attribute) + +
  • phenomd_ringdown_freqs (bbhx.waveforms.phenomhm.PhenomHMAmpPhase attribute)
  • @@ -404,13 +457,27 @@

    P

  • pointer_adjust() (in module bbhx.utils.utility)
  • -
  • psd (bbhx.likelihood.Likelihood attribute) +
  • psd (bbhx.likelihood.HeterodynedLikelihood attribute) + +
  • R

    + - @@ -429,6 +498,10 @@

    R

    S

    -
    +
    • SSB_to_LISA() (in module bbhx.utils.transform)
    • @@ -444,9 +517,11 @@

      T

    • template_channels (bbhx.waveformbuild.TemplateInterpFD property)
    • -
    • template_gen (bbhx.likelihood.Likelihood attribute) +
    • template_gen (bbhx.likelihood.HeterodynedLikelihood attribute)
    • @@ -476,9 +551,11 @@

      T

      U

      • x_shaped (bbhx.utils.interpolate.CubicSplineInterpolant property)
      • -
      • xp (bbhx.likelihood.Likelihood attribute) +
      • xp (bbhx.likelihood.HeterodynedLikelihood attribute)
      • Utility Functions
          diff --git a/docs/html/objects.inv b/docs/html/objects.inv index 14b27d2..b63a757 100644 Binary files a/docs/html/objects.inv and b/docs/html/objects.inv differ diff --git a/docs/html/searchindex.js b/docs/html/searchindex.js index fafaccc..7327862 100644 --- a/docs/html/searchindex.js +++ b/docs/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["README", "bbhx_tutorial", "index", "user/constants", "user/like", "user/main", "user/response", "user/utils", "user/waveforms"], "filenames": ["README.rst", "bbhx_tutorial.ipynb", "index.rst", "user/constants.rst", "user/like.rst", "user/main.rst", "user/response.rst", "user/utils.rst", "user/waveforms.rst"], "titles": ["GPU-Accelerated Black Hole Binary Waveforms (bbhx)", "bbhx Tutorial", "GPU-Accelerated Black Hole Binary Waveforms (bbhx)", "Constants", "Likelihood Methods", "Full TDI Waveforms", "LISA Response Models", "Utility Functions", "Available Waveform Models"], "terms": {"thi": [0, 1, 2, 4, 5, 6, 7, 8], "packag": [0, 1, 2, 3, 7], "implement": [0, 1, 2, 4, 5, 6, 8], "cpu": [0, 2, 4, 6], "agnost": [0, 2, 6], "likelihood": [0, 2, 5], "comput": [0, 2, 5, 6, 7], "from": [0, 2, 5, 6, 7, 8], "arxiv": [0, 1, 2, 5, 6, 7, 8], "2005": [0, 1, 2, 5, 8], "01827": [0, 1, 2, 5, 8], "2111": [0, 1, 2, 5, 8], "01064": [0, 1, 2, 5, 8], "The": [0, 2, 3, 5, 6, 7], "variou": [0, 2], "part": [0, 1, 2, 5], "ar": [0, 1, 2, 4, 5, 6, 7, 8], "arrang": [0, 2], "modular": [0, 2], "respons": [0, 2, 5, 7, 8], "chang": [0, 1, 2], "improv": [0, 2], "made": [0, 2], "gener": [0, 2, 4, 5, 6, 7, 8], "modul": [0, 1, 2, 3], "fall": [0, 2], "four": [0, 2], "categori": [0, 2], "build": [0, 1, 2], "util": [0, 2, 3], "pleas": [0, 1, 2, 5, 6, 8], "see": [0, 1, 2, 4, 5, 7], "document": 0, "further": [0, 1, 2], "inform": [0, 1, 2, 4, 5, 7, 8], "code": [0, 1, 2, 5, 6, 7, 8], "can": [0, 2, 5, 6, 7, 8], "found": [0, 1, 2], "github": [0, 2], "here": [0, 2, 5, 6, 7], "i": [0, 2, 4, 5, 6, 7, 8], "tool": [0, 2], "environ": [0, 2], "If": [0, 1, 2, 4, 5, 6, 7, 8], "you": [0, 1, 2, 5, 7, 8], "us": [0, 1, 2, 3, 4, 5, 6, 8], "softwar": [0, 1, 2], "cite": [0, 1, 2, 5, 6, 8], "associ": [0, 1, 2, 7], "zenodo": [0, 1, 2], "page": [0, 1, 2], "also": [0, 1, 2, 5, 7], "ani": [0, 1, 2, 5], "consitu": [0, 1, 2], "like": [0, 1, 2], "function": [0, 2, 5, 6], "citat": [0, 2, 5, 6, 8], "attribut": [0, 1, 2, 5, 7], "each": [0, 1, 2, 5, 6, 7], "class": [0, 1, 2, 4, 5, 6, 7, 8], "docstr": [0, 1, 2], "more": [0, 1, 2, 4, 6, 7], "below": [0, 1, 2, 5], "quick": [0, 2], "set": [0, 1, 2, 5, 7, 8], "instruct": [0, 2], "anaconda": [0, 2], "do": [0, 1, 2], "have": [0, 1, 2, 7, 8], "creat": [0, 1, 2, 8], "virtual": [0, 2], "note": [0, 2, 4, 6, 7], "There": [0, 1, 2], "avail": [0, 1, 2, 5, 6], "conda": [0, 2], "compil": [0, 2], "window": [0, 2, 8], "want": [0, 1, 2], "probabl": [0, 2, 7], "need": [0, 1, 2, 6, 7], "add": [0, 1, 2, 7], "librari": [0, 2], "includ": [0, 1, 2, 5, 6, 7], "path": [0, 2], "setup": [0, 2], "py": [0, 2], "file": [0, 2], "n": [0, 1, 2], "bbhx_env": [0, 2], "c": [0, 1, 2, 4, 6, 7], "forg": [0, 2], "gcc_linux": [0, 2], "64": [0, 2], "gxx_linux": [0, 2], "gsl": [0, 2], "lapack": [0, 2], "3": [0, 1, 2, 3, 4, 5, 6, 7, 8], "6": [0, 1, 2, 3, 7, 8], "1": [0, 1, 2, 3, 4, 5, 6, 7, 8], "numpi": [0, 1, 2, 4, 5, 6, 7, 8], "scipi": [0, 2], "cython": [0, 2], "jupyt": [0, 2], "ipython": [0, 2], "matplotlib": [0, 1, 2], "python": [0, 2, 7], "9": [0, 1, 2, 5, 6, 7, 8], "activ": [0, 2], "macosx": [0, 2], "substitut": [0, 2], "gxx_linu": [0, 2], "clang_osx": [0, 2], "clangxx_osx": [0, 2], "clone": [0, 2], "repositori": [0, 2], "git": [0, 2], "http": [0, 2, 8], "com": [0, 1, 2], "mikekatz04": [0, 1, 2], "cd": [0, 2], "To": [0, 1, 2, 6], "import": [0, 1, 2, 7], "bbhwaveformfd": [0, 1, 2, 4, 5, 6], "exampl": [0, 1, 2, 7], "notebook": [0, 2], "usag": [0, 2], "2": [0, 1, 2, 3, 4, 5, 6, 7, 8], "0": [0, 1, 2, 3, 5, 6, 7, 8], "4": [0, 1, 2, 3, 5, 6, 7, 8], "new": [0, 1, 2], "seem": [0, 2], "correct": [0, 2, 7], "header": [0, 2], "therefor": [0, 1, 2, 4, 5], "must": [0, 2, 5, 7, 8], "we": [0, 1, 2], "recommend": [0, 2], "everyth": [0, 2, 5], "gcc": [0, 2], "g": [0, 1, 2, 6], "shown": [0, 2], "help": [0, 2], "avoid": [0, 2], "link": [0, 2], "issu": [0, 2], "your": [0, 1, 2], "own": [0, 1, 2], "chosen": [0, 1, 2, 6, 8], "make": [0, 1, 2, 6], "sure": [0, 2], "all": [0, 2, 5, 6, 7, 8], "necessari": [0, 2], "pass": [0, 2, 7], "command": [0, 2], "mai": [0, 2, 5], "nvidia": [0, 2], "capabl": [0, 2, 4, 6, 7], "cuda": [0, 2, 4, 7], "toolkit": [0, 2], "cupi": [0, 1, 2, 4, 5, 6, 7, 8], "8": [0, 1, 2, 6, 7], "Be": [0, 2], "properli": [0, 2, 7], "within": [0, 2], "nvcc": [0, 2], "cudahom": [0, 2], "variabl": [0, 2, 5], "faster": [0, 2, 4], "pip": [0, 2], "io": [0, 2], "cuda92": [0, 2], "other": [0, 1, 2, 7], "when": [0, 1, 2, 6, 7, 8], "default": [0, 1, 2, 5, 6, 7, 8], "assum": [0, 1, 2, 4, 6], "lib": [0, 2], "both": [0, 1, 2, 7], "provid": [0, 1, 2, 5, 6, 7, 8], "directori": [0, 2], "line": [0, 2], "option": [0, 1, 2, 4, 5, 6, 7, 8], "remov": [0, 1, 2, 5], "openmp": [0, 2], "h": [0, 1, 2, 4, 5], "no_omp": [0, 2], "lapack_lib": [0, 2], "lapack_includ": [0, 2], "gsl_lib": [0, 2], "gsl_includ": [0, 2], "ccbin": [0, 2], "argument": [0, 2, 4, 5, 7], "show": [0, 2], "messag": [0, 2], "exit": [0, 2], "without": [0, 2, 5], "ad": [0, 2, 5], "end": [0, 1, 2, 5, 7], "string": [0, 2, 7], "In": [0, 1, 2, 5, 7], "main": [0, 2, 5, 6], "termin": [0, 2], "m": [0, 1, 2, 5, 6, 8], "unittest": [0, 2], "discov": [0, 2], "read": [0, 2], "md": [0, 2], "detail": [0, 1, 2], "our": [0, 2], "conduct": [0, 2], "process": [0, 2], "submit": [0, 2], "pull": [0, 2], "request": [0, 1, 2], "u": [0, 1, 2], "semver": [0, 2], "For": [0, 2, 5, 6, 7, 8], "tag": [0, 2], "current": [0, 2, 5, 6], "5": 1, "michael": [0, 1, 2], "katz": [0, 1, 2], "sylvain": [0, 1, 2, 7], "marsat": [0, 1, 2, 7], "john": [0, 1, 2], "baker": [0, 1, 2], "project": [0, 2], "under": [0, 2], "gnu": [0, 2], "research": [0, 2], "wa": [0, 2], "support": [0, 2], "through": [0, 1, 2, 5, 7], "resourc": [0, 2], "staff": [0, 2], "quest": [0, 2], "grail": [0, 2], "high": [0, 1, 2], "perform": [0, 1, 2, 8], "facil": [0, 2], "northwestern": [0, 2], "univers": [0, 2], "produc": [1, 4, 5, 7, 8], "black": [1, 5], "hole": [1, 5], "binari": [1, 4, 5, 7, 8], "It": [1, 4, 5, 7, 8], "focus": 1, "proper": [1, 7], "1806": [1, 5, 6], "10734": [1, 5, 6], "2003": [1, 5, 6, 7], "00357": [1, 5, 6, 7], "analysi": [1, 5], "np": [1, 4, 5, 6, 7, 8], "pyplot": 1, "plt": 1, "inlin": 1, "waveformbuild": [1, 5, 7], "phenomhmampphas": [1, 2, 5, 6, 8], "fastfdrespons": [1, 5, 6], "lisatdirespons": [1, 2, 5, 6], "heterodynedlikelihood": 1, "constant": [1, 2], "lisatool": 1, "sensit": 1, "get_sensit": 1, "random": 1, "seed": 1, "111222": 1, "No": 1, "first": [1, 5, 6, 7], "how": [1, 5], "full": [1, 2], "detect": 1, "look": 1, "1708": [1, 5, 8], "00404": [1, 5, 8], "1508": [1, 5, 8], "07253": [1, 5, 8], "07250": [1, 5, 8], "put": [1, 5, 6], "separ": 1, "wave_gen": 1, "amp_phase_kwarg": [1, 5], "dict": [1, 4, 5, 7], "run_phenomd": [1, 2, 8], "f_ref": [1, 5, 8], "let": 1, "phenom": 1, "fmax": 1, "max": [1, 5, 8], "f": [1, 4, 5, 7, 8], "2a": 1, "phi_ref": [1, 5, 6, 8], "phase": [1, 2, 4, 5, 6, 7, 8], "m1": [1, 5, 7, 8], "1e6": 1, "m2": [1, 5, 7, 8], "5e5": 1, "a1": 1, "a2": 1, "dist": 1, "18e3": 1, "pc_si": [1, 3, 7], "3e3": 1, "mpc": 1, "inc": [1, 5, 6, 7], "pi": [1, 3, 5, 7], "beta": [1, 5, 6, 7], "eclipt": [1, 5, 6, 7], "latitud": [1, 5, 6, 7], "lam": [1, 5, 6, 7], "longitud": [1, 5, 6, 7], "psi": [1, 5, 6, 7], "polar": [1, 5, 6, 7], "angl": [1, 5, 6, 7], "t_ref": [1, 5, 8], "yrsid_si": [1, 3, 7], "frequenc": [1, 2, 4, 5, 7, 8], "freq_new": 1, "logspac": 1, "10000": 1, "wave": [1, 4], "freq": [1, 2, 5, 6, 8], "direct": [1, 2, 5], "squeez": [1, 5], "length": [1, 2, 4, 5, 6, 7, 8], "1024": 1, "enumer": 1, "A": [1, 5, 6], "e": [1, 5, 6], "t": [1, 4, 5, 7], "loglog": 1, "ab": [1, 8], "label": 1, "legend": 1, "xlabel": 1, "hz": 1, "ylabel": 1, "r": 1, "tild": [1, 5], "text": [1, 5, 8], "39": 1, "move": 1, "signal": [1, 4], "back": [1, 5], "merger": [1, 5], "t_obs_end": [1, 5], "far": 1, "start": [1, 4, 5, 7, 8], "t_obs_start": [1, 5], "With": 1, "valu": [1, 4, 5, 6, 7, 8], "rel": [1, 5], "so": [1, 5, 7, 8], "mean": 1, "year": [1, 5, 7], "befor": [1, 4], "coalesc": 1, "chop": 1, "abrubtli": 1, "lose": 1, "power": [1, 4], "case": [1, 5, 7], "becaus": [1, 4, 6, 7], "differ": 1, "harmon": [1, 5, 6, 7, 8], "turn": 1, "off": 1, "abruptli": 1, "one": [1, 4], "month": 1, "12": 1, "hour": 1, "3600": 1, "base": [1, 4, 5, 6, 7, 8], "system": [1, 5, 6, 7], "examin": 1, "75": 1, "onli": [1, 4, 6, 7], "an": [1, 7], "earli": 1, "low": 1, "portion": 1, "observ": [1, 5], "begin": 1, "after": [1, 5], "user": [1, 7, 8], "ha": [1, 4, 6, 7], "over": [1, 4, 8], "7": [0, 1, 2, 3, 7], "too": 1, "small": 1, "128": 1, "wave1": 1, "16384": 1, "wave2": 1, "fig": 1, "ax": [1, 5], "subplot": 1, "subplots_adjust": 1, "wspace": 1, "set_ylabel": 1, "set_xlabel": 1, "most": 1, "reason": [1, 6], "fine": 1, "usual": 1, "conserv": 1, "slightli": 1, "affect": 1, "compress": [1, 5], "lengths_in": 1, "arang": 1, "15": 1, "mismatch": 1, "zeros_lik": 1, "dtype": 1, "float": 1, "j": 1, "wave_temp": 1, "num": 1, "sum": [1, 4], "dot": 1, "conj": 1, "rang": 1, "den1": 1, "den2": 1, "overlap": 1, "sqrt": [1, 4], "real": 1, "initi": [1, 5, 6, 7], "between": 1, "10": [1, 7], "evalu": [1, 4, 5, 6, 8], "stretch": 1, "outsid": 1, "limit": 1, "those": [1, 5, 6, 8], "given": [1, 5, 6, 7, 8], "combin": [1, 5], "keep": 1, "amp_phase_gen": [1, 2, 5], "xlim": 1, "1e": [1, 8], "ylim": 1, "27": 1, "14": 1, "receiv": 1, "error": 1, "indic": [1, 4, 7], "l": [1, 4, 6, 8], "model": [1, 2, 5], "11": [1, 3, 7], "fref": 1, "4e5": 1, "1e5": 1, "1e3": 1, "solid": 1, "dash": 1, "bin": [1, 4], "allow": [1, 6, 8], "stream": [1, 4, 5], "abov": [1, 6], "howev": 1, "give": [1, 5], "two": 1, "return": [1, 4, 5, 6, 7, 8], "special": 1, "templat": [1, 4, 7], "shorten": 1, "where": [1, 4, 5, 6, 7], "non": [1, 6], "zero": [1, 5, 7], "which": [1, 5, 6, 7, 8], "its": [1, 6, 7], "13": 1, "start_ind": [1, 5], "print": 1, "plot": 1, "38058890e": 1, "18": 1, "09436679e": 1, "18j": 1, "36063812e": 1, "36650411e": 1, "27697582e": 1, "60878942e": 1, "43530029e": 1, "29": 1, "80550806e": 1, "29j": 1, "19848650e": 1, "57844517e": 1, "23006336e": 1, "91388205e": 1, "88092867e": 1, "19": 1, "88388847e": 1, "74455381e": 1, "31741168e": 1, "62653861e": 1, "84693895e": 1, "97400736e": 1, "94799296e": 1, "10976688e": 1, "28637749e": 1, "38496614e": 1, "48787469e": 1, "29887936e": 1, "09803303e": 1, "26j": 1, "09724706e": 1, "26": 1, "64830081e": 1, "27j": 1, "11202150e": 1, "12523708e": 1, "65111210e": 1, "34877145e": 1, "46173012e": 1, "06059222e": 1, "84210804e": 1, "06049260e": 1, "25216176e": 1, "20": [1, 3, 7], "46214907e": 1, "21j": 1, "87945399e": 1, "21": 1, "24349867e": 1, "61003809e": 1, "27731637e": 1, "20j": 1, "53152025e": 1, "33": 1, "07884312e": 1, "33j": 1, "35663897e": 1, "34": 1, "15888477e": 1, "14789793e": 1, "24923057e": 1, "28976840e": 1, "51398904e": 1, "69419538e": 1, "11732916e": 1, "42705238e": 1, "22": [1, 5, 8], "89856348e": 1, "08257724e": 1, "32": 1, "33800772e": 1, "12306482e": 1, "12769150e": 1, "78874051e": 1, "29367715e": 1, "32j": 1, "54876322e": 1, "30": [1, 3, 7], "23532594e": 1, "94039261e": 1, "16966838e": 1, "30806134e": 1, "70211333e": 1, "30j": 1, "93268338e": 1, "35": 1, "52898780e": 1, "34j": 1, "78240084e": 1, "34865974e": 1, "63485085e": 1, "26293837e": 1, "7274": 1, "8466": 1, "now": [1, 5], "sourc": [1, 6, 7], "scale": [1, 6], "distanc": [1, 5, 8], "use_gpu": [1, 2, 4, 5, 6, 7, 8], "16": [1, 3, 7], "get": [1, 6, 7, 8], "quantiti": [1, 5, 6], "freqs_shap": [1, 2, 8], "shape": [1, 4, 5, 6, 7, 8], "num_bin_al": [1, 2, 4, 5, 6, 7, 8], "amp": [1, 2, 8], "num_mod": [1, 2, 5, 6, 7, 8], "tf": [1, 2, 6, 8], "amplitud": [1, 5, 6, 8], "17": 1, "characterist": 1, "strain": 1, "lt": 1, "0x7ffe90dcbc90": [], "gt": 1, "larg": 1, "amount": 1, "were": 1, "thank": 1, "him": 1, "work": [1, 5, 7], "appli": [1, 6, 7], "effect": 1, "transfer": [1, 5], "mathcal": [1, 4, 5], "tdi": [1, 2, 6], "channel": [1, 4, 5, 6, 7], "aet": [1, 5, 6], "correspond": [1, 5, 6, 8], "determin": [1, 7, 8], "constel": [1, 5, 6, 7], "orbit": 1, "arm": 1, "oper": 1, "come": 1, "run": [1, 4, 7, 8], "vector": 1, "insid": [1, 6], "happen": [1, 6], "adjust_phas": [1, 6], "just": [1, 4, 5, 8], "itself": 1, "1d": [1, 4, 6, 7, 8], "well": [1, 5], "total": [1, 5, 6, 7], "per": 1, "last": 1, "copi": [1, 8], "index": [1, 6, 7, 8], "transferl1": [1, 2, 6], "getattr": 1, "transferl": 1, "semilogx": 1, "color": 1, "imag": 1, "tile": 1, "none": [1, 5, 6, 7, 8], "input": [1, 4, 6, 7], "same": [1, 5, 8], "phase_diff": 1, "larger": [1, 4], "buffer": [1, 5, 6, 8], "object": [1, 4, 5, 6, 7, 8], "would": 1, "carri": 1, "flatten": [1, 4, 7, 8], "len": [1, 4], "buffer_shap": 1, "out_buff": [1, 6, 8], "reshap": 1, "transferl1r": [1, 5], "transferl1im": [1, 5], "transferl2r": [1, 5], "transferl2im": [1, 5], "transferl3r": [1, 5], "transferl3im": [1, 5], "59987559e": 1, "38281574e": 1, "04": 1, "44109019e": 1, "09": 1, "00000000e": 1, "00": 1, "38281579e": 1, "19852960e": 1, "07": [1, 3, 7], "27213427e": 1, "47978234e": 1, "83021491e": 1, "08": [1, 3, 7], "66473821e": 1, "80562821e": 1, "gravit": 1, "propto": [1, 4], "frac": [1, 4], "langl": [1, 4], "d": [1, 4, 8], "rangl": [1, 4], "left": [1, 4, 6], "right": [1, 4, 5], "b": 1, "nois": [1, 4], "weight": 1, "inner": [1, 4], "product": [1, 4, 7], "domain": [1, 2, 5, 7], "re": 1, "int_0": 1, "infti": 1, "s_n": [1, 4], "df": 1, "side": 1, "spectral": [1, 4], "densiti": [1, 4], "One": 1, "likeihood": 1, "curv": 1, "otherwis": 1, "ones": 1, "t_ob": 1, "dt": 1, "int": [1, 4, 5, 6, 7, 8], "data_freq": [1, 2, 4, 7], "fft": 1, "rfftfreq": 1, "dc": 1, "waveform_kwarg": [1, 4], "data_channel": [1, 2, 4], "psd_a": 1, "sens_fn": 1, "noisepsd_a": [], "psd_e": 1, "psd_t": 1, "noisepsd_t": [], "psd": [1, 2, 4], "param": [1, 4], "num_bin": 1, "params_in": 1, "mass": [1, 4, 5, 7, 8], "test": 1, "randn": 1, "get_ll": [1, 2, 4], "__call__": [1, 2, 5, 6, 7, 8], "ll": 1, "d_h": 1, "08564575": 1, "78986947": 1, "83013822": 1, "42756082": 1, "39568583": 1, "18793697": 1, "36347664": 1, "63434773": 1, "16255004": 1, "76160463": 1, "905148": 1, "57604934": 1, "692": 1, "56805835j": 1, "905106": 1, "21592967": 1, "2083": 1, "93242728j": 1, "905180": 1, "22834893": 1, "605": 1, "58849218j": 1, "905119": 1, "1749811": 1, "1687": 1, "25495497j": 1, "905104": 1, "06618791": 1, "2147": 1, "74363854j": 1, "905159": 1, "25598343": 1, "288": 1, "09476858j": 1, "905175": 1, "73869922": 1, "400": 1, "67391197j": 1, "905137": 1, "67572526": 1, "1079": 1, "22170972j": 1, "905182": 1, "58375341": 1, "716": 1, "70964209j": 1, "905122": 1, "0191435": 1, "1597": 1, "2112494j": 1, "margin": [1, 4], "occur": 1, "term": [1, 6], "ll_marg": 1, "phase_margin": [1, 2, 4], "820689": 1, "39083137": 1, "62756123": 1, "85493541": 1, "84747264": 1, "14208946": 1, "27479797": 1, "9909544": 1, "87881025": 1, "35235718": 1, "ratio": [1, 7], "23": 1, "out": 1, "return_extracted_snr": [1, 2, 4], "column": 1, "second": [1, 4, 5, 7, 8], "snr": [1, 4], "08564575e": 1, "51401198e": 1, "02": 1, "78986947e": 1, "51392050e": 1, "30138221e": 1, "01": 1, "51401467e": 1, "42756082e": 1, "51395584e": 1, "03956858e": 1, "51391414e": 1, "87936968e": 1, "51402142e": 1, "63476644e": 1, "51401957e": 1, "63434773e": 1, "51399571e": 1, "16255004e": 1, "51401118e": 1, "76160463e": 1, "51396284e": 1, "2109": 1, "02728": 1, "specif": [1, 7], "method": [1, 2, 7], "08792": 1, "practic": 1, "along": 1, "spars": [1, 5, 7], "rather": [1, 7, 8], "than": [1, 4, 6, 7, 8], "dens": 1, "accur": [1, 8], "higher": [1, 7], "prior": 1, "residu": 1, "24": [], "reference_index": 1, "argmax": 1, "reference_param": 1, "mani": 1, "length_f_het": 1, "like_het": 1, "ll_het": 1, "02679107": 1, "10891033": 1, "76848715": 1, "98933239": 1, "67090151": 1, "18846779": 1, "33934525": 1, "46732275": 1, "07485673": 1, "37128679": 1, "some": [1, 7], "veri": 1, "sampl": [1, 7], "predict": 1, "structur": 1, "referen": [1, 7], "local": [1, 7], "longitudin": [1, 7], "latitudin": [1, 7], "involv": [1, 7], "lambda": [1, 5, 7], "pm": [1, 7], "co": [1, 7], "iota": [1, 5, 7], "inclin": [1, 5, 6, 7], "respect": [1, 7], "coordin": 1, "25": [], "tl": [1, 7], "lambdal": [1, 7], "betal": [1, 7], "psil": [1, 7], "tssb": [1, 7], "lambdassb": [1, 7], "betassb": [1, 7], "psissb": [1, 7], "lisa_to_ssb": [1, 2, 7], "31557992": 1, "305078838": 1, "327701567520846": [], "0933520437673627": [], "3134690745168953": 1, "ssb_to_lisa": [1, 2, 7], "31558149": [1, 3, 7], "7635457": 1, "49999999999998856": [], "8000000000000037": [], "2999999999999905": [], "inplac": [1, 7], "dimens": [1, 5, 6, 7], "long": [1, 7], "42": 1, "coord": [1, 7], "had": 1, "whole": 1, "mbh": [1, 7], "ind_map": [1, 7], "out_coord": 1, "mbh_sky_mode_transform": [1, 2, 7], "kind": [1, 7], "cos_i": [1, 7], "99079633": 1, "57079633": 1, "27840735": 1, "84920367": 1, "Or": 1, "28": 1, "lat": [1, 7], "74159265": 1, "14159265": 1, "place": [1, 6, 7], "assign": 1, "everi": 1, "in_coord": 1, "access": [1, 7], "properti": [1, 4, 5, 6, 7, 8], "31": 1, "articl": 1, "2020hku": 1, "author": 1, "chua": 1, "alvin": 1, "k": 1, "babak": 1, "stanislav": 1, "larson": 1, "shane": 1, "titl": 1, "massiv": 1, "estim": 1, "eprint": 1, "archiveprefix": 1, "primaryclass": 1, "gr": 1, "qc": 1, "doi": 1, "1103": 1, "physrevd": 1, "102": 1, "023033": 1, "journal": 1, "phy": 1, "rev": 1, "volum": 1, "2020": 1, "2021uax": 1, "fulli": 1, "autom": 1, "pipelin": 1, "extract": 1, "2021": 1, "katz_2021": 1, "offici": 1, "public": 1, "releas": 1, "5281": 1, "5730688": 1, "abstractnot": 1, "descript": 1, "publish": 1, "nov": 1, "2018oam": 1, "delai": 1, "2018": 1, "2020rtl": 1, "dal": 1, "canton": 1, "tito": 1, "explor": 1, "bayesian": 1, "103": 1, "083011": 1, "london2018": 1, "arxivid": 1, "london": 1, "lionel": 1, "khan": 1, "sebastian": 1, "fauchon": 1, "jone": 1, "edward": 1, "garc": 1, "ia": 1, "cecilio": 1, "hannam": 1, "mark": 1, "husa": 1, "sascha": 1, "jim": 1, "nez": 1, "forteza": 1, "xisco": 1, "kalaghatgi": 1, "chinmai": 1, "ohm": 1, "frank": 1, "pannaral": 1, "francesco": 1, "physrevlett": 1, "120": 1, "161102": 1, "prl": 1, "quantum": 1, "cosmologi": 1, "apr": 1, "multipol": 1, "spin": [1, 5, 8], "husa2016": 1, "": 1, "p": 1, "rrer": 1, "x": [1, 7], "sim": 1, "boh": 1, "93": 1, "044006": 1, "prd": 1, "feb": 1, "44006": 1, "nonprecess": 1, "numer": 1, "anatomi": 1, "2016": 1, "khan2016": 1, "044007": 1, "44007": 1, "ii": 1, "phenomenolog": 1, "advanc": 1, "detector": 1, "era": 1, "data_length": [2, 5, 7], "interp_respons": [2, 5], "num_interp_param": [2, 5, 7], "out_buffer_fin": [2, 5], "response_gen": [2, 5, 6], "waveform_gen": [2, 5, 8], "xp": [2, 4, 5, 6, 7, 8], "phenomhm": [2, 5, 6], "phenomd": [2, 5], "allowable_mod": [2, 6, 8], "ells_default": [2, 6, 8], "mms_default": [2, 6, 8], "mf_max": [2, 8], "mf_min": [2, 8], "phenomhm_ringdown_freq": [2, 8], "phenomd_ringdown_freq": [2, 8], "y_rd": [2, 8], "c1_rd": [2, 8], "c2_rd": [2, 8], "c3_rd": [2, 8], "y_dm": [2, 8], "c1_dm": [2, 8], "c2_dm": [2, 8], "c3_dm": [2, 8], "waveform_carri": [2, 8], "fast": [2, 4, 5], "includes_amp": [2, 6], "order_fresnel_stencil": [2, 6], "tditag": [2, 6], "transferl2": [2, 6], "transferl3": [2, 6], "d_d": [2, 4], "data_stream_length": [2, 4], "like_gen": [2, 4], "noise_factor": [2, 4], "template_gen": [2, 4, 7], "interpol": [2, 5, 8], "templateinterpfd": [2, 5, 7], "num_channel": [2, 7], "template_carri": [2, 7], "template_channel": [2, 5, 7], "cubicsplineinterpol": [2, 7], "x_shape": [2, 7], "y_shape": [2, 7], "c1_shape": [2, 7], "c2_shape": [2, 7], "c3_shape": [2, 7], "contain": [2, 6, 7], "transform": [2, 5], "mt_q": [2, 7], "modpi": [2, 7], "mod2pi": [2, 7], "tssbfromlfram": [2, 7], "tlfromssbfram": [2, 7], "wrapper": [2, 7], "pointer_adjust": [2, 7], "mbhb": [2, 4, 7], "adjust": [2, 6, 7], "inspir": 2, "time": [2, 5, 6, 7, 8], "shift_t_limit": [2, 5], "fals": [2, 4, 5, 6, 7, 8], "true": [2, 4, 5, 6, 7, 8], "control": 2, "check": [2, 7], "number": [2, 5, 7], "point": [2, 7], "good": [2, 7], "mode": [2, 5, 6, 7, 8], "content": 2, "take": [2, 5, 7], "arrai": [2, 4, 5, 6, 7, 8], "paramet": [2, 4, 5, 6, 7, 8], "fill": [2, 5, 6], "keyword": [2, 4, 5, 7], "fd": 2, "log": [2, 4], "directli": [2, 5, 6], "against": 2, "fourier": [2, 5], "heterodyn": 2, "ssb": [2, 5, 6, 7], "refer": [2, 5, 6, 7, 8], "frame": [2, 5, 6, 7], "posterior": 2, "sky": [2, 7], "bbhx": [3, 4, 5, 6, 7, 8], "hous": [3, 7], "throughout": [3, 7], "list": [3, 4, 5, 6, 7, 8], "msun_si": [3, 7], "98848e": [3, 7], "763545603": [3, 7], "au_si": [3, 7], "149597870700": [3, 7], "c_si": [3, 7], "299792458": [3, 7], "g_si": [3, 7], "674080e": [3, 7], "gmsun": [3, 7], "3271244210789466e": [3, 7], "mtsun_si": [3, 7], "925491025873693e": [3, 7], "06": [3, 7], "mrsun_si": [3, 7], "1476": [3, 7], "6250615036158": [3, 7], "0856775814913674e": [3, 7], "141592653589793238462643383279502884": [3, 7], "pi_2": [3, 7], "570796326794896619231321691639751442": [3, 7], "pi_3": [3, 7], "047197551196597746154214461093167628": [3, 7], "pi_4": [3, 7], "785398163397448309615660845819875721": [3, 7], "sqrtpi": [3, 7], "772453850905516027298167483341145183": [3, 7], "sqrttwopi": [3, 7], "506628274631000502415765284811045253": [3, 7], "invsqrtpi": [3, 7], "564189583547756286948079451560772585": [3, 7], "invsqrttwopi": [3, 7], "398942280401432677939946059934381868": [3, 7], "gamma": [3, 7], "577215664901532860606512090082402431": [3, 7], "sqrt2": [3, 7], "414213562373095048801688724209698079": [3, 7], "sqrt3": [3, 7], "732050807568877293527446341505872367": [3, 7], "sqrt6": [3, 7], "449489742783178098197284074705891392": [3, 7], "invsqrt2": [3, 7], "707106781186547524400844362104849039": [3, 7], "invsqrt3": [3, 7], "577350269189625764509148780501957455": [3, 7], "invsqrt6": [3, 7], "408248290463863016366214012450981898": [3, 7], "f0": [3, 7], "168753578687779e": [3, 7], "omega0": [3, 7], "9909865927683788e": [3, 7], "l_si": [3, 7], "5e9": [3, 7], "eorbit": [3, 7], "004824185218078991": [3, 7], "constomega": [3, 7], "99098659277e": [3, 7], "graitat": 4, "frequeci": 4, "exist": 4, "waveform": [4, 6, 7], "less": 4, "gpu": [4, 5, 6, 8], "obj": [4, 5, 6, 7, 8], "tupl": [4, 5, 6, 7, 8], "type": [4, 5, 6, 7, 8], "doubl": [4, 5, 7, 8], "ndarrai": [4, 5, 6, 7, 8], "data": [4, 5, 7], "should": [4, 6, 8], "complex128": [4, 7], "2d": [4, 5, 6, 7, 8], "math": 4, "bool": [4, 5, 6, 7, 8], "either": [4, 5, 6, 7], "multipli": [4, 7], "compuat": 4, "delta": 4, "addit": 4, "likeilihood": 4, "num_param": 4, "entri": [4, 5, 6, 7], "three": 5, "phi": 5, "represent": [5, 8], "solar": [5, 7, 8], "barycent": [5, 7], "_": [5, 8], "lm": 5, "a_": 5, "lisa": [5, 7], "t_": 5, "grid": 5, "final": 5, "step": 5, "sum_": 5, "response_kwarg": 5, "interp_kwarg": 5, "futur": [5, 6], "ground": 5, "accord": 5, "paper": [5, 6], "hard": 5, "doc": 5, "describ": 5, "acceler": [5, 7, 8], "ampltidu": 5, "output": [5, 7], "analyz": 5, "self": [5, 7], "order": [5, 6], "being": [5, 6], "summat": 5, "chi1z": [5, 8], "chi2z": [5, 8], "scalar": [5, 6, 7, 8], "dimensionless": [5, 8], "luminos": [5, 8], "intern": [5, 8], "f_": [5, 8], "2a_": [5, 8], "radian": [5, 6], "backward": 5, "much": 5, "thei": [5, 6, 8], "count": 5, "singl": 5, "todo": 5, "switch": 5, "third": 5, "rais": [5, 6, 7], "valueerror": [5, 6, 7], "fix": 6, "breath": 6, "armlength": 6, "str": [6, 7], "xyz": 6, "fresnel": 6, "stencil": 6, "anyth": 6, "compat": 6, "pair": [6, 8], "respon": 6, "updat": 6, "info": 6, "bbh": 6, "rotat": 6, "individu": 6, "requir": 6, "tell": 6, "chunk": 6, "size": 6, "phaserdelai": 6, "equival": 6, "init": 6, "easili": 6, "manner": 6, "nparam": [6, 8], "doe": [6, 7, 8], "incorrect": 6, "wrap": 7, "fit": 7, "origin": 7, "carrier": [7, 8], "interp_contain": 7, "t_start": 7, "t_end": 7, "via": 7, "act": 7, "uniqu": 7, "why": 7, "pointer": 7, "sec": 7, "y_all": 7, "multipl": 7, "cubic": [7, 8], "spline": [7, 8], "knot": 7, "boundari": 7, "condit": 7, "flattend": 7, "y": [7, 8], "4d": 7, "prepar": 7, "c1": [7, 8], "c2": [7, 8], "c3": [7, 8], "easi": 7, "transit": 7, "mainli": 7, "locat": 7, "dure": 7, "mt": 7, "q": 7, "convert": 7, "modulu": 7, "period": 7, "2pi": 7, "t0": 7, "retard": 7, "center": 7, "depend": 7, "posit": 7, "awai": 7, "orient": 7, "approxim": 7, "wise": 7, "pe": 7, "eight": 7, "hop": 7, "propos": 7, "idea": 7, "parallel": 7, "temper": 7, "reduc": 7, "ndim": 7, "matter": 7, "sin": 7, "kei": 7, "name": 7, "1st": 7, "factor": 7, "longer": 7, "ensur": 7, "integ": 7, "trasnform": 7, "mutlipl": 7, "cosin": 7, "collect": 7, "framework": 7, "arg": 7, "kwarg": 7, "ptr": 7, "call": 7, "design": 7, "size_t": 7, "cast": 7, "enter": 7, "dictionari": 7, "targ": 7, "tkwarg": 7, "target": 7, "func": 7, "decor": 7, "few": 7, "construct": 7, "0001": 8, "initial_t_v": 8, "form": 8, "org": 8, "realli": 8, "choos": 8, "minimum": 8, "maximum": 8, "6e": 8, "shift": 8, "accordingli": 8, "still": 8, "reflect": 8, "ringdown": 8, "frequnci": 8, "damp": 8, "flat": 8, "quantitit": 8, "0x14bf02cf0": 1, "a1tdisen": 1, "e1tdisen": 1, "t1tdisen": 1, "3277015675208466": 1, "0933520437673625": 1, "4999999999999887": 1, "8000000000000038": 1, "29999999999999005": 1, "36": 1}, "objects": {"bbhx.likelihood": [[4, 0, 1, "", "Likelihood"]], "bbhx.likelihood.Likelihood": [[4, 1, 1, "", "d_d"], [4, 1, 1, "", "data_channels"], [4, 1, 1, "", "data_freqs"], [4, 1, 1, "", "data_stream_length"], [4, 2, 1, "", "get_ll"], [4, 3, 1, "id0", "like_gen"], [4, 1, 1, "", "noise_factors"], [4, 1, 1, "", "phase_marginalize"], [4, 1, 1, "", "psd"], [4, 1, 1, "", "return_extracted_snr"], [4, 1, 1, "", "template_gen"], [4, 1, 1, "", "use_gpu"], [4, 3, 1, "id1", "xp"]], "bbhx.response.fastfdresponse": [[6, 0, 1, "", "LISATDIResponse"]], "bbhx.response.fastfdresponse.LISATDIResponse": [[6, 1, 1, "", "TDItag"], [6, 2, 1, "", "__call__"], [6, 1, 1, "", "allowable_modes"], [6, 3, 1, "", "citation"], [6, 1, 1, "", "ells_default"], [6, 1, 1, "", "includes_amps"], [6, 1, 1, "", "mms_default"], [6, 1, 1, "", "order_fresnel_stencil"], [6, 3, 1, "", "phase"], [6, 1, 1, "", "response_gen"], [6, 3, 1, "", "tf"], [6, 3, 1, "", "transferL1"], [6, 3, 1, "", "transferL2"], [6, 3, 1, "", "transferL3"], [6, 1, 1, "", "use_gpu"], [6, 1, 1, "", "xp"]], "bbhx.utils": [[7, 4, 0, "-", "citations"], [7, 4, 0, "-", "transform"], [7, 4, 0, "-", "utility"]], "bbhx.utils.interpolate": [[7, 0, 1, "", "CubicSplineInterpolant"]], "bbhx.utils.interpolate.CubicSplineInterpolant": [[7, 3, 1, "", "c1_shaped"], [7, 3, 1, "", "c2_shaped"], [7, 3, 1, "", "c3_shaped"], [7, 3, 1, "", "container"], [7, 3, 1, "", "x_shaped"], [7, 3, 1, "", "y_shaped"]], "bbhx.utils.transform": [[7, 5, 1, "", "LISA_to_SSB"], [7, 5, 1, "", "SSB_to_LISA"], [7, 5, 1, "", "mT_q"], [7, 5, 1, "", "mbh_sky_mode_transform"], [7, 5, 1, "", "mod2pi"], [7, 5, 1, "", "modpi"], [7, 5, 1, "", "tLfromSSBframe"], [7, 5, 1, "", "tSSBfromLframe"]], "bbhx.utils.utility": [[7, 5, 1, "", "pointer_adjust"], [7, 5, 1, "", "wrapper"]], "bbhx.waveformbuild": [[5, 0, 1, "", "BBHWaveformFD"], [7, 0, 1, "", "TemplateInterpFD"]], "bbhx.waveformbuild.BBHWaveformFD": [[5, 2, 1, "", "__call__"], [5, 1, 1, "", "amp_phase_gen"], [5, 3, 1, "", "citation"], [5, 1, 1, "", "data_length"], [5, 1, 1, "", "interp_response"], [5, 1, 1, "", "length"], [5, 1, 1, "", "num_bin_all"], [5, 1, 1, "", "num_interp_params"], [5, 1, 1, "", "num_modes"], [5, 1, 1, "", "out_buffer_final"], [5, 1, 1, "", "response_gen"], [5, 1, 1, "", "use_gpu"], [5, 1, 1, "", "waveform_gen"], [5, 1, 1, "", "xp"]], "bbhx.waveformbuild.TemplateInterpFD": [[7, 2, 1, "", "__call__"], [7, 3, 1, "", "citation"], [7, 1, 1, "", "data_length"], [7, 1, 1, "", "length"], [7, 1, 1, "", "num_bin_all"], [7, 1, 1, "", "num_channels"], [7, 1, 1, "", "num_modes"], [7, 1, 1, "", "template_carrier"], [7, 3, 1, "", "template_channels"], [7, 1, 1, "", "template_gen"], [7, 1, 1, "", "use_gpu"], [7, 1, 1, "", "xp"]], "bbhx.waveforms.phenomhm": [[8, 0, 1, "", "PhenomHMAmpPhase"]], "bbhx.waveforms.phenomhm.PhenomHMAmpPhase": [[8, 2, 1, "", "__call__"], [8, 1, 1, "", "allowable_modes"], [8, 3, 1, "", "amp"], [8, 1, 1, "", "c1_dm"], [8, 1, 1, "", "c1_rd"], [8, 1, 1, "", "c2_dm"], [8, 1, 1, "", "c2_rd"], [8, 1, 1, "", "c3_dm"], [8, 1, 1, "", "c3_rd"], [8, 3, 1, "", "citation"], [8, 1, 1, "", "ells_default"], [8, 3, 1, "", "freqs"], [8, 3, 1, "", "freqs_shaped"], [8, 1, 1, "", "mf_max"], [8, 1, 1, "", "mf_min"], [8, 1, 1, "", "mms_default"], [8, 3, 1, "", "phase"], [8, 1, 1, "", "phenomd_ringdown_freqs"], [8, 1, 1, "", "phenomhm_ringdown_freqs"], [8, 1, 1, "", "run_phenomd"], [8, 3, 1, "", "tf"], [8, 1, 1, "", "use_gpu"], [8, 1, 1, "", "waveform_carrier"], [8, 1, 1, "", "waveform_gen"], [8, 1, 1, "", "xp"], [8, 1, 1, "", "y_dm"], [8, 1, 1, "", "y_rd"]]}, "objtypes": {"0": "py:class", "1": "py:attribute", "2": "py:method", "3": "py:property", "4": "py:module", "5": "py:function"}, "objnames": {"0": ["py", "class", "Python class"], "1": ["py", "attribute", "Python attribute"], "2": ["py", "method", "Python method"], "3": ["py", "property", "Python property"], "4": ["py", "module", "Python module"], "5": ["py", "function", "Python function"]}, "titleterms": {"gpu": [0, 1, 2, 7], "acceler": [0, 1, 2], "black": [0, 2], "hole": [0, 2], "binari": [0, 2], "waveform": [0, 1, 2, 5, 8], "bbhx": [0, 1, 2], "design": [0, 2], "lisa": [0, 1, 2, 6], "data": [0, 1, 2], "analysi": [0, 2], "massiv": [0, 2], "get": [0, 2], "start": [0, 2], "prerequisit": [0, 2], "instal": [0, 2], "run": [0, 2], "test": [0, 2], "contribut": [0, 2], "version": [0, 2], "author": [0, 2], "contibutor": [0, 2], "licens": [0, 2], "acknowledg": [0, 2], "tutori": [1, 2], "mbhb": 1, "adjust": 1, "inspir": 1, "time": 1, "shift_t_limit": 1, "fals": 1, "true": 1, "control": 1, "interpol": [1, 7], "check": 1, "number": 1, "point": 1, "i": 1, "good": 1, "gener": 1, "without": 1, "mode": 1, "content": 1, "all": 1, "function": [1, 7], "can": 1, "take": 1, "arrai": 1, "paramet": 1, "The": 1, "fill": 1, "keyword": 1, "argument": 1, "phenomhm": [1, 8], "fast": [1, 6], "fd": 1, "respons": [1, 6], "comput": [1, 4], "likelihood": [1, 4], "log": 1, "directli": 1, "against": 1, "fourier": 1, "transform": [1, 7], "heterodyn": 1, "util": [1, 7], "from": 1, "ssb": 1, "refer": 1, "frame": 1, "posterior": 1, "sky": 1, "citat": [1, 7], "document": 2, "constant": [3, 7], "method": 4, "direct": 4, "full": 5, "tdi": 5, "model": [6, 8], "frequenc": 6, "domain": 6, "us": 7, "modul": 7, "cython": 7, "cpu": 7, "agnost": 7, "tool": 7, "avail": 8, "phenomd": 8}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "nbsphinx": 4, "sphinx": 60}, "alltitles": {"GPU-Accelerated Black Hole Binary Waveforms (bbhx)": [[0, "gpu-accelerated-black-hole-binary-waveforms-bbhx"], [2, "gpu-accelerated-black-hole-binary-waveforms-bbhx"]], "Designed for LISA data analysis of Massive Black Hole Binaries.": [[0, "designed-for-lisa-data-analysis-of-massive-black-hole-binaries"], [2, "designed-for-lisa-data-analysis-of-massive-black-hole-binaries"]], "Getting Started": [[0, "getting-started"], [2, "getting-started"]], "Prerequisites": [[0, "prerequisites"], [2, "prerequisites"]], "Installing": [[0, "installing"], [2, "installing"]], "Running the Tests": [[0, "running-the-tests"], [2, "running-the-tests"]], "Contributing": [[0, "contributing"], [2, "contributing"]], "Versioning": [[0, "versioning"], [2, "versioning"]], "Authors": [[0, "authors"], [2, "authors"]], "Contibutors": [[0, "contibutors"], [2, "contibutors"]], "License": [[0, "license"], [2, "license"]], "Acknowledgments": [[0, "acknowledgments"], [2, "acknowledgments"]], "bbhx Tutorial": [[1, "bbhx-Tutorial"]], "GPU accelerated MBHB waveforms for LISA": [[1, "GPU-accelerated-MBHB-waveforms-for-LISA"]], "Adjust inspiral timing with shift_t_limits=False": [[1, "Adjust-inspiral-timing-with-shift_t_limits=False"]], "Adjust inspiral timing with shift_t_limits=True": [[1, "Adjust-inspiral-timing-with-shift_t_limits=True"]], "Controlling interpolation": [[1, "Controlling-interpolation"]], "Check number of points that is good for interpolation:": [[1, "Check-number-of-points-that-is-good-for-interpolation:"]], "Generate waveforms without interpolation": [[1, "Generate-waveforms-without-interpolation"]], "Adjusting mode content": [[1, "Adjusting-mode-content"]], "All of these functions can take arrays for parameters": [[1, "All-of-these-functions-can-take-arrays-for-parameters"]], "The fill keyword argument": [[1, "The-fill-keyword-argument"]], "Generating PhenomHM waveforms": [[1, "Generating-PhenomHM-waveforms"]], "Fast FD Response": [[1, "Fast-FD-Response"]], "Computing the Likelihood": [[1, "Computing-the-Likelihood"]], "Computing the log-Likelihood for MBHBs directly against the Fourier transform of data": [[1, "Computing-the-log-Likelihood-for-MBHBs-directly-against-the-Fourier-transform-of-data"]], "Heterodyned Likelihoods": [[1, "Heterodyned-Likelihoods"]], "Utility functions": [[1, "Utility-functions"]], "Transformation functions": [[1, "Transformation-functions"]], "Transformations to and from LISA and SSB reference frames": [[1, "Transformations-to-and-from-LISA-and-SSB-reference-frames"]], "Posterior sky-mode transformation": [[1, "Posterior-sky-mode-transformation"]], "Citations": [[1, "Citations"]], "Documentation:": [[2, null]], "Tutorial:": [[2, null]], "Constants": [[3, "constants"], [7, "constants"]], "Likelihood Methods": [[4, "likelihood-methods"]], "Direct Likelihood Computation": [[4, "direct-likelihood-computation"]], "Full TDI Waveforms": [[5, "full-tdi-waveforms"]], "LISA Response Models": [[6, "lisa-response-models"]], "Fast Frequency Domain Response": [[6, "fast-frequency-domain-response"]], "Utility Functions": [[7, "utility-functions"]], "Interpolation Utilities": [[7, "interpolation-utilities"]], "Useful Transformation Functions": [[7, "useful-transformation-functions"]], "Citation Module": [[7, "module-bbhx.utils.citations"]], "Cython GPU/CPU Agnostic Tools": [[7, "module-bbhx.utils.utility"]], "Available Waveform Models": [[8, "available-waveform-models"]], "PhenomHM (PhenomD)": [[8, "phenomhm-phenomd"]]}, "indexentries": {"likelihood (class in bbhx.likelihood)": [[4, "bbhx.likelihood.Likelihood"]], "d_d (bbhx.likelihood.likelihood attribute)": [[4, "bbhx.likelihood.Likelihood.d_d"]], "data_channels (bbhx.likelihood.likelihood attribute)": [[4, "bbhx.likelihood.Likelihood.data_channels"]], "data_freqs (bbhx.likelihood.likelihood attribute)": [[4, "bbhx.likelihood.Likelihood.data_freqs"]], "data_stream_length (bbhx.likelihood.likelihood attribute)": [[4, "bbhx.likelihood.Likelihood.data_stream_length"]], "get_ll() (bbhx.likelihood.likelihood method)": [[4, "bbhx.likelihood.Likelihood.get_ll"]], "like_gen (bbhx.likelihood.likelihood attribute)": [[4, "bbhx.likelihood.Likelihood.like_gen"]], "like_gen (bbhx.likelihood.likelihood property)": [[4, "id0"]], "noise_factors (bbhx.likelihood.likelihood attribute)": [[4, "bbhx.likelihood.Likelihood.noise_factors"]], "phase_marginalize (bbhx.likelihood.likelihood attribute)": [[4, "bbhx.likelihood.Likelihood.phase_marginalize"]], "psd (bbhx.likelihood.likelihood attribute)": [[4, "bbhx.likelihood.Likelihood.psd"]], "return_extracted_snr (bbhx.likelihood.likelihood attribute)": [[4, "bbhx.likelihood.Likelihood.return_extracted_snr"]], "template_gen (bbhx.likelihood.likelihood attribute)": [[4, "bbhx.likelihood.Likelihood.template_gen"]], "use_gpu (bbhx.likelihood.likelihood attribute)": [[4, "bbhx.likelihood.Likelihood.use_gpu"]], "xp (bbhx.likelihood.likelihood attribute)": [[4, "bbhx.likelihood.Likelihood.xp"]], "xp (bbhx.likelihood.likelihood property)": [[4, "id1"]], "bbhwaveformfd (class in bbhx.waveformbuild)": [[5, "bbhx.waveformbuild.BBHWaveformFD"]], "__call__() (bbhx.waveformbuild.bbhwaveformfd method)": [[5, "bbhx.waveformbuild.BBHWaveformFD.__call__"]], "amp_phase_gen (bbhx.waveformbuild.bbhwaveformfd attribute)": [[5, "bbhx.waveformbuild.BBHWaveformFD.amp_phase_gen"]], "citation (bbhx.waveformbuild.bbhwaveformfd property)": [[5, "bbhx.waveformbuild.BBHWaveformFD.citation"]], "data_length (bbhx.waveformbuild.bbhwaveformfd attribute)": [[5, "bbhx.waveformbuild.BBHWaveformFD.data_length"]], "interp_response (bbhx.waveformbuild.bbhwaveformfd attribute)": [[5, "bbhx.waveformbuild.BBHWaveformFD.interp_response"]], "length (bbhx.waveformbuild.bbhwaveformfd attribute)": [[5, "bbhx.waveformbuild.BBHWaveformFD.length"]], "num_bin_all (bbhx.waveformbuild.bbhwaveformfd attribute)": [[5, "bbhx.waveformbuild.BBHWaveformFD.num_bin_all"]], "num_interp_params (bbhx.waveformbuild.bbhwaveformfd attribute)": [[5, "bbhx.waveformbuild.BBHWaveformFD.num_interp_params"]], "num_modes (bbhx.waveformbuild.bbhwaveformfd attribute)": [[5, "bbhx.waveformbuild.BBHWaveformFD.num_modes"]], "out_buffer_final (bbhx.waveformbuild.bbhwaveformfd attribute)": [[5, "bbhx.waveformbuild.BBHWaveformFD.out_buffer_final"]], "response_gen (bbhx.waveformbuild.bbhwaveformfd attribute)": [[5, "bbhx.waveformbuild.BBHWaveformFD.response_gen"]], "use_gpu (bbhx.waveformbuild.bbhwaveformfd attribute)": [[5, "bbhx.waveformbuild.BBHWaveformFD.use_gpu"]], "waveform_gen (bbhx.waveformbuild.bbhwaveformfd attribute)": [[5, "bbhx.waveformbuild.BBHWaveformFD.waveform_gen"]], "xp (bbhx.waveformbuild.bbhwaveformfd attribute)": [[5, "bbhx.waveformbuild.BBHWaveformFD.xp"]], "lisatdiresponse (class in bbhx.response.fastfdresponse)": [[6, "bbhx.response.fastfdresponse.LISATDIResponse"]], "tditag (bbhx.response.fastfdresponse.lisatdiresponse attribute)": [[6, "bbhx.response.fastfdresponse.LISATDIResponse.TDItag"]], "__call__() (bbhx.response.fastfdresponse.lisatdiresponse method)": [[6, "bbhx.response.fastfdresponse.LISATDIResponse.__call__"]], "allowable_modes (bbhx.response.fastfdresponse.lisatdiresponse attribute)": [[6, "bbhx.response.fastfdresponse.LISATDIResponse.allowable_modes"]], "citation (bbhx.response.fastfdresponse.lisatdiresponse property)": [[6, "bbhx.response.fastfdresponse.LISATDIResponse.citation"]], "ells_default (bbhx.response.fastfdresponse.lisatdiresponse attribute)": [[6, "bbhx.response.fastfdresponse.LISATDIResponse.ells_default"]], "includes_amps (bbhx.response.fastfdresponse.lisatdiresponse attribute)": [[6, "bbhx.response.fastfdresponse.LISATDIResponse.includes_amps"]], "mms_default (bbhx.response.fastfdresponse.lisatdiresponse attribute)": [[6, "bbhx.response.fastfdresponse.LISATDIResponse.mms_default"]], "order_fresnel_stencil (bbhx.response.fastfdresponse.lisatdiresponse attribute)": [[6, "bbhx.response.fastfdresponse.LISATDIResponse.order_fresnel_stencil"]], "phase (bbhx.response.fastfdresponse.lisatdiresponse property)": [[6, "bbhx.response.fastfdresponse.LISATDIResponse.phase"]], "response_gen (bbhx.response.fastfdresponse.lisatdiresponse attribute)": [[6, "bbhx.response.fastfdresponse.LISATDIResponse.response_gen"]], "tf (bbhx.response.fastfdresponse.lisatdiresponse property)": [[6, "bbhx.response.fastfdresponse.LISATDIResponse.tf"]], "transferl1 (bbhx.response.fastfdresponse.lisatdiresponse property)": [[6, "bbhx.response.fastfdresponse.LISATDIResponse.transferL1"]], "transferl2 (bbhx.response.fastfdresponse.lisatdiresponse property)": [[6, "bbhx.response.fastfdresponse.LISATDIResponse.transferL2"]], "transferl3 (bbhx.response.fastfdresponse.lisatdiresponse property)": [[6, "bbhx.response.fastfdresponse.LISATDIResponse.transferL3"]], "use_gpu (bbhx.response.fastfdresponse.lisatdiresponse attribute)": [[6, "bbhx.response.fastfdresponse.LISATDIResponse.use_gpu"]], "xp (bbhx.response.fastfdresponse.lisatdiresponse attribute)": [[6, "bbhx.response.fastfdresponse.LISATDIResponse.xp"]], "cubicsplineinterpolant (class in bbhx.utils.interpolate)": [[7, "bbhx.utils.interpolate.CubicSplineInterpolant"]], "lisa_to_ssb() (in module bbhx.utils.transform)": [[7, "bbhx.utils.transform.LISA_to_SSB"]], "ssb_to_lisa() (in module bbhx.utils.transform)": [[7, "bbhx.utils.transform.SSB_to_LISA"]], "templateinterpfd (class in bbhx.waveformbuild)": [[7, "bbhx.waveformbuild.TemplateInterpFD"]], "__call__() (bbhx.waveformbuild.templateinterpfd method)": [[7, "bbhx.waveformbuild.TemplateInterpFD.__call__"]], "bbhx.utils.citations": [[7, "module-bbhx.utils.citations"]], "bbhx.utils.transform": [[7, "module-bbhx.utils.transform"]], "bbhx.utils.utility": [[7, "module-bbhx.utils.utility"]], "c1_shaped (bbhx.utils.interpolate.cubicsplineinterpolant property)": [[7, "bbhx.utils.interpolate.CubicSplineInterpolant.c1_shaped"]], "c2_shaped (bbhx.utils.interpolate.cubicsplineinterpolant property)": [[7, "bbhx.utils.interpolate.CubicSplineInterpolant.c2_shaped"]], "c3_shaped (bbhx.utils.interpolate.cubicsplineinterpolant property)": [[7, "bbhx.utils.interpolate.CubicSplineInterpolant.c3_shaped"]], "citation (bbhx.waveformbuild.templateinterpfd property)": [[7, "bbhx.waveformbuild.TemplateInterpFD.citation"]], "container (bbhx.utils.interpolate.cubicsplineinterpolant property)": [[7, "bbhx.utils.interpolate.CubicSplineInterpolant.container"]], "data_length (bbhx.waveformbuild.templateinterpfd attribute)": [[7, "bbhx.waveformbuild.TemplateInterpFD.data_length"]], "length (bbhx.waveformbuild.templateinterpfd attribute)": [[7, "bbhx.waveformbuild.TemplateInterpFD.length"]], "mt_q() (in module bbhx.utils.transform)": [[7, "bbhx.utils.transform.mT_q"]], "mbh_sky_mode_transform() (in module bbhx.utils.transform)": [[7, "bbhx.utils.transform.mbh_sky_mode_transform"]], "mod2pi() (in module bbhx.utils.transform)": [[7, "bbhx.utils.transform.mod2pi"]], "modpi() (in module bbhx.utils.transform)": [[7, "bbhx.utils.transform.modpi"]], "module": [[7, "module-bbhx.utils.citations"], [7, "module-bbhx.utils.transform"], [7, "module-bbhx.utils.utility"]], "num_bin_all (bbhx.waveformbuild.templateinterpfd attribute)": [[7, "bbhx.waveformbuild.TemplateInterpFD.num_bin_all"]], "num_channels (bbhx.waveformbuild.templateinterpfd attribute)": [[7, "bbhx.waveformbuild.TemplateInterpFD.num_channels"]], "num_modes (bbhx.waveformbuild.templateinterpfd attribute)": [[7, "bbhx.waveformbuild.TemplateInterpFD.num_modes"]], "pointer_adjust() (in module bbhx.utils.utility)": [[7, "bbhx.utils.utility.pointer_adjust"]], "tlfromssbframe() (in module bbhx.utils.transform)": [[7, "bbhx.utils.transform.tLfromSSBframe"]], "tssbfromlframe() (in module bbhx.utils.transform)": [[7, "bbhx.utils.transform.tSSBfromLframe"]], "template_carrier (bbhx.waveformbuild.templateinterpfd attribute)": [[7, "bbhx.waveformbuild.TemplateInterpFD.template_carrier"]], "template_channels (bbhx.waveformbuild.templateinterpfd property)": [[7, "bbhx.waveformbuild.TemplateInterpFD.template_channels"]], "template_gen (bbhx.waveformbuild.templateinterpfd attribute)": [[7, "bbhx.waveformbuild.TemplateInterpFD.template_gen"]], "use_gpu (bbhx.waveformbuild.templateinterpfd attribute)": [[7, "bbhx.waveformbuild.TemplateInterpFD.use_gpu"]], "wrapper() (in module bbhx.utils.utility)": [[7, "bbhx.utils.utility.wrapper"]], "x_shaped (bbhx.utils.interpolate.cubicsplineinterpolant property)": [[7, "bbhx.utils.interpolate.CubicSplineInterpolant.x_shaped"]], "xp (bbhx.waveformbuild.templateinterpfd attribute)": [[7, "bbhx.waveformbuild.TemplateInterpFD.xp"]], "y_shaped (bbhx.utils.interpolate.cubicsplineinterpolant property)": [[7, "bbhx.utils.interpolate.CubicSplineInterpolant.y_shaped"]], "phenomhmampphase (class in bbhx.waveforms.phenomhm)": [[8, "bbhx.waveforms.phenomhm.PhenomHMAmpPhase"]], "__call__() (bbhx.waveforms.phenomhm.phenomhmampphase method)": [[8, "bbhx.waveforms.phenomhm.PhenomHMAmpPhase.__call__"]], "allowable_modes (bbhx.waveforms.phenomhm.phenomhmampphase attribute)": [[8, "bbhx.waveforms.phenomhm.PhenomHMAmpPhase.allowable_modes"]], "amp (bbhx.waveforms.phenomhm.phenomhmampphase property)": [[8, "bbhx.waveforms.phenomhm.PhenomHMAmpPhase.amp"]], "c1_dm (bbhx.waveforms.phenomhm.phenomhmampphase attribute)": [[8, "bbhx.waveforms.phenomhm.PhenomHMAmpPhase.c1_dm"]], "c1_rd (bbhx.waveforms.phenomhm.phenomhmampphase attribute)": [[8, "bbhx.waveforms.phenomhm.PhenomHMAmpPhase.c1_rd"]], "c2_dm (bbhx.waveforms.phenomhm.phenomhmampphase attribute)": [[8, "bbhx.waveforms.phenomhm.PhenomHMAmpPhase.c2_dm"]], "c2_rd (bbhx.waveforms.phenomhm.phenomhmampphase attribute)": [[8, "bbhx.waveforms.phenomhm.PhenomHMAmpPhase.c2_rd"]], "c3_dm (bbhx.waveforms.phenomhm.phenomhmampphase attribute)": [[8, "bbhx.waveforms.phenomhm.PhenomHMAmpPhase.c3_dm"]], "c3_rd (bbhx.waveforms.phenomhm.phenomhmampphase attribute)": [[8, "bbhx.waveforms.phenomhm.PhenomHMAmpPhase.c3_rd"]], "citation (bbhx.waveforms.phenomhm.phenomhmampphase property)": [[8, "bbhx.waveforms.phenomhm.PhenomHMAmpPhase.citation"]], "ells_default (bbhx.waveforms.phenomhm.phenomhmampphase attribute)": [[8, "bbhx.waveforms.phenomhm.PhenomHMAmpPhase.ells_default"]], "freqs (bbhx.waveforms.phenomhm.phenomhmampphase property)": [[8, "bbhx.waveforms.phenomhm.PhenomHMAmpPhase.freqs"]], "freqs_shaped (bbhx.waveforms.phenomhm.phenomhmampphase property)": [[8, "bbhx.waveforms.phenomhm.PhenomHMAmpPhase.freqs_shaped"]], "mf_max (bbhx.waveforms.phenomhm.phenomhmampphase attribute)": [[8, "bbhx.waveforms.phenomhm.PhenomHMAmpPhase.mf_max"]], "mf_min (bbhx.waveforms.phenomhm.phenomhmampphase attribute)": [[8, "bbhx.waveforms.phenomhm.PhenomHMAmpPhase.mf_min"]], "mms_default (bbhx.waveforms.phenomhm.phenomhmampphase attribute)": [[8, "bbhx.waveforms.phenomhm.PhenomHMAmpPhase.mms_default"]], "phase (bbhx.waveforms.phenomhm.phenomhmampphase property)": [[8, "bbhx.waveforms.phenomhm.PhenomHMAmpPhase.phase"]], "phenomd_ringdown_freqs (bbhx.waveforms.phenomhm.phenomhmampphase attribute)": [[8, "bbhx.waveforms.phenomhm.PhenomHMAmpPhase.phenomd_ringdown_freqs"]], "phenomhm_ringdown_freqs (bbhx.waveforms.phenomhm.phenomhmampphase attribute)": [[8, "bbhx.waveforms.phenomhm.PhenomHMAmpPhase.phenomhm_ringdown_freqs"]], "run_phenomd (bbhx.waveforms.phenomhm.phenomhmampphase attribute)": [[8, "bbhx.waveforms.phenomhm.PhenomHMAmpPhase.run_phenomd"]], "tf (bbhx.waveforms.phenomhm.phenomhmampphase property)": [[8, "bbhx.waveforms.phenomhm.PhenomHMAmpPhase.tf"]], "use_gpu (bbhx.waveforms.phenomhm.phenomhmampphase attribute)": [[8, "bbhx.waveforms.phenomhm.PhenomHMAmpPhase.use_gpu"]], "waveform_carrier (bbhx.waveforms.phenomhm.phenomhmampphase attribute)": [[8, "bbhx.waveforms.phenomhm.PhenomHMAmpPhase.waveform_carrier"]], "waveform_gen (bbhx.waveforms.phenomhm.phenomhmampphase attribute)": [[8, "bbhx.waveforms.phenomhm.PhenomHMAmpPhase.waveform_gen"]], "xp (bbhx.waveforms.phenomhm.phenomhmampphase attribute)": [[8, "bbhx.waveforms.phenomhm.PhenomHMAmpPhase.xp"]], "y_dm (bbhx.waveforms.phenomhm.phenomhmampphase attribute)": [[8, "bbhx.waveforms.phenomhm.PhenomHMAmpPhase.y_dm"]], "y_rd (bbhx.waveforms.phenomhm.phenomhmampphase attribute)": [[8, "bbhx.waveforms.phenomhm.PhenomHMAmpPhase.y_rd"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["README", "bbhx_tutorial", "index", "user/constants", "user/like", "user/main", "user/response", "user/utils", "user/waveforms"], "filenames": ["README.rst", "bbhx_tutorial.ipynb", "index.rst", "user/constants.rst", "user/like.rst", "user/main.rst", "user/response.rst", "user/utils.rst", "user/waveforms.rst"], "titles": ["GPU-Accelerated Black Hole Binary Waveforms (bbhx)", "bbhx Tutorial", "GPU-Accelerated Black Hole Binary Waveforms (bbhx)", "Constants", "Likelihood Methods", "Full TDI Waveforms", "LISA Response Models", "Utility Functions", "Available Waveform Models"], "terms": {"thi": [0, 1, 2, 4, 5, 6, 7, 8], "packag": [0, 1, 2, 3, 7], "implement": [0, 1, 2, 4, 5, 6, 8], "cpu": [0, 2, 4, 6], "agnost": [0, 2, 6], "likelihood": [0, 2, 5], "comput": [0, 2, 5, 6, 7], "from": [0, 2, 5, 6, 7, 8], "arxiv": [0, 1, 2, 4, 5, 6, 7, 8], "2005": [0, 1, 2, 5, 8], "01827": [0, 1, 2, 5, 8], "2111": [0, 1, 2, 5, 8], "01064": [0, 1, 2, 5, 8], "The": [0, 2, 3, 4, 5, 6, 7], "variou": [0, 2, 4], "part": [0, 1, 2, 5], "ar": [0, 1, 2, 4, 5, 6, 7, 8], "arrang": [0, 2], "modular": [0, 2], "respons": [0, 2, 5, 7, 8], "chang": [0, 1, 2, 4], "improv": [0, 2], "made": [0, 2], "gener": [0, 2, 4, 5, 6, 7, 8], "modul": [0, 1, 2, 3], "fall": [0, 2], "four": [0, 2], "categori": [0, 2], "build": [0, 1, 2], "util": [0, 2, 3], "pleas": [0, 1, 2, 5, 6, 8], "see": [0, 1, 2, 4, 5, 7], "document": 0, "further": [0, 1, 2], "inform": [0, 1, 2, 4, 5, 7, 8], "code": [0, 1, 2, 5, 6, 7, 8], "can": [0, 2, 4, 5, 6, 7, 8], "found": [0, 1, 2, 4], "github": [0, 2], "here": [0, 2, 5, 6, 7], "i": [0, 2, 4, 5, 6, 7, 8], "tool": [0, 2], "environ": [0, 2], "If": [0, 1, 2, 4, 5, 6, 7, 8], "you": [0, 1, 2, 4, 5, 7, 8], "us": [0, 1, 2, 3, 4, 5, 6, 8], "softwar": [0, 1, 2], "cite": [0, 1, 2, 5, 6, 8], "associ": [0, 1, 2, 7], "zenodo": [0, 1, 2], "page": [0, 1, 2], "also": [0, 1, 2, 4, 5, 7], "ani": [0, 1, 2, 5], "consitu": [0, 1, 2], "like": [0, 1, 2], "function": [0, 2, 4, 5, 6], "citat": [0, 2, 4, 5, 6, 8], "attribut": [0, 1, 2, 5, 7], "each": [0, 1, 2, 4, 5, 6, 7], "class": [0, 1, 2, 4, 5, 6, 7, 8], "docstr": [0, 1, 2, 4], "more": [0, 1, 2, 4, 6, 7], "below": [0, 1, 2, 5], "quick": [0, 2], "set": [0, 1, 2, 4, 5, 7, 8], "instruct": [0, 2], "anaconda": [0, 2], "do": [0, 1, 2], "have": [0, 1, 2, 7, 8], "creat": [0, 1, 2, 8], "virtual": [0, 2], "note": [0, 2, 4, 6, 7], "There": [0, 1, 2], "avail": [0, 1, 2, 5, 6], "conda": [0, 2], "compil": [0, 2], "window": [0, 2, 8], "want": [0, 1, 2], "probabl": [0, 2, 7], "need": [0, 1, 2, 4, 6, 7], "add": [0, 1, 2, 4, 7], "librari": [0, 2], "includ": [0, 1, 2, 4, 5, 6, 7], "path": [0, 2], "setup": [0, 2, 4], "py": [0, 2], "file": [0, 2], "n": [0, 1, 2], "bbhx_env": [0, 2], "c": [0, 1, 2, 4, 6, 7], "forg": [0, 2], "gcc_linux": [0, 2], "64": [0, 2], "gxx_linux": [0, 2], "gsl": [0, 2], "lapack": [0, 2], "3": [0, 1, 2, 3, 4, 5, 6, 7, 8], "6": [0, 1, 2, 3, 7, 8], "1": [0, 1, 2, 3, 4, 5, 6, 7, 8], "numpi": [0, 1, 2, 4, 5, 6, 7, 8], "scipi": [0, 2], "cython": [0, 2], "jupyt": [0, 2], "ipython": [0, 2], "matplotlib": [0, 1, 2], "python": [0, 2, 7], "9": [0, 1, 2, 5, 6, 7, 8], "activ": [0, 2], "macosx": [0, 2], "substitut": [0, 2], "gxx_linu": [0, 2], "clang_osx": [0, 2], "clangxx_osx": [0, 2], "clone": [0, 2], "repositori": [0, 2], "git": [0, 2], "http": [0, 2, 8], "com": [0, 1, 2], "mikekatz04": [0, 1, 2], "cd": [0, 2], "To": [0, 1, 2, 6], "import": [0, 1, 2, 7], "bbhwaveformfd": [0, 1, 2, 4, 5, 6], "exampl": [0, 1, 2, 7], "notebook": [0, 2], "usag": [0, 2], "2": [0, 1, 2, 3, 4, 5, 6, 7, 8], "0": [0, 1, 2, 3, 5, 6, 7, 8], "4": [0, 1, 2, 3, 5, 6, 7, 8], "new": [0, 1, 2, 4], "seem": [0, 2], "correct": [0, 2, 7], "header": [0, 2], "therefor": [0, 1, 2, 4, 5], "must": [0, 2, 5, 7, 8], "we": [0, 1, 2, 4], "recommend": [0, 2], "everyth": [0, 2, 5], "gcc": [0, 2], "g": [0, 1, 2, 6], "shown": [0, 2], "help": [0, 2], "avoid": [0, 2], "link": [0, 2], "issu": [0, 2], "your": [0, 1, 2], "own": [0, 1, 2], "chosen": [0, 1, 2, 6, 8], "make": [0, 1, 2, 6], "sure": [0, 2], "all": [0, 2, 4, 5, 6, 7, 8], "necessari": [0, 2], "pass": [0, 2, 7], "command": [0, 2], "mai": [0, 2, 4, 5], "nvidia": [0, 2], "capabl": [0, 2, 4, 6, 7], "cuda": [0, 2, 4, 7], "toolkit": [0, 2], "cupi": [0, 1, 2, 4, 5, 6, 7, 8], "8": [0, 1, 2, 6, 7], "Be": [0, 2], "properli": [0, 2, 7], "within": [0, 2], "nvcc": [0, 2], "cudahom": [0, 2], "variabl": [0, 2, 5], "faster": [0, 2, 4], "pip": [0, 2], "io": [0, 2], "cuda92": [0, 2], "other": [0, 1, 2, 7], "when": [0, 1, 2, 4, 6, 7, 8], "default": [0, 1, 2, 4, 5, 6, 7, 8], "assum": [0, 1, 2, 4, 6], "lib": [0, 2], "both": [0, 1, 2, 7], "provid": [0, 1, 2, 5, 6, 7, 8], "directori": [0, 2], "line": [0, 2], "option": [0, 1, 2, 4, 5, 6, 7, 8], "remov": [0, 1, 2, 5], "openmp": [0, 2], "h": [0, 1, 2, 4, 5], "no_omp": [0, 2], "lapack_lib": [0, 2], "lapack_includ": [0, 2], "gsl_lib": [0, 2], "gsl_includ": [0, 2], "ccbin": [0, 2], "argument": [0, 2, 4, 5, 7], "show": [0, 2], "messag": [0, 2], "exit": [0, 2], "without": [0, 2, 4, 5], "ad": [0, 2, 5], "end": [0, 1, 2, 5, 7], "string": [0, 2, 7], "In": [0, 1, 2, 5, 7], "main": [0, 2, 4, 5, 6], "termin": [0, 2], "m": [0, 1, 2, 5, 6, 8], "unittest": [0, 2], "discov": [0, 2], "read": [0, 2], "md": [0, 2], "detail": [0, 1, 2], "our": [0, 2], "conduct": [0, 2], "process": [0, 2], "submit": [0, 2], "pull": [0, 2], "request": [0, 1, 2], "u": [0, 1, 2], "semver": [0, 2], "For": [0, 2, 5, 6, 7, 8], "tag": [0, 2], "current": [0, 2, 5, 6], "5": 1, "michael": [0, 1, 2], "katz": [0, 1, 2], "sylvain": [0, 1, 2, 7], "marsat": [0, 1, 2, 7], "john": [0, 1, 2], "baker": [0, 1, 2], "project": [0, 2], "under": [0, 2], "gnu": [0, 2], "research": [0, 2], "wa": [0, 2], "support": [0, 2], "through": [0, 1, 2, 5, 7], "resourc": [0, 2], "staff": [0, 2], "quest": [0, 2], "grail": [0, 2], "high": [0, 1, 2], "perform": [0, 1, 2, 8], "facil": [0, 2], "northwestern": [0, 2], "univers": [0, 2], "produc": [1, 4, 5, 7, 8], "black": [1, 5], "hole": [1, 5], "binari": [1, 4, 5, 7, 8], "It": [1, 4, 5, 7, 8], "focus": 1, "proper": [1, 7], "1806": [1, 4, 5, 6], "10734": [1, 5, 6], "2003": [1, 5, 6, 7], "00357": [1, 5, 6, 7], "analysi": [1, 5], "np": [1, 4, 5, 6, 7, 8], "pyplot": 1, "plt": 1, "inlin": 1, "waveformbuild": [1, 5, 7], "phenomhmampphas": [1, 2, 5, 6, 8], "fastfdrespons": [1, 5, 6], "lisatdirespons": [1, 2, 5, 6], "heterodynedlikelihood": [1, 2, 4], "constant": [1, 2, 4], "lisatool": 1, "sensit": [1, 4], "get_sensit": 1, "random": 1, "seed": 1, "111222": 1, "No": 1, "first": [1, 5, 6, 7], "how": [1, 5], "full": [1, 2, 4], "detect": 1, "look": 1, "1708": [1, 5, 8], "00404": [1, 5, 8], "1508": [1, 5, 8], "07253": [1, 5, 8], "07250": [1, 5, 8], "put": [1, 5, 6], "separ": [1, 4], "wave_gen": 1, "amp_phase_kwarg": [1, 5], "dict": [1, 4, 5, 7], "run_phenomd": [1, 2, 8], "f_ref": [1, 5, 8], "let": 1, "phenom": 1, "fmax": 1, "max": [1, 5, 8], "f": [1, 4, 5, 7, 8], "2a": 1, "phi_ref": [1, 5, 6, 8], "phase": [1, 2, 4, 5, 6, 7, 8], "m1": [1, 5, 7, 8], "1e6": 1, "m2": [1, 5, 7, 8], "5e5": 1, "a1": [1, 4], "a2": 1, "dist": 1, "18e3": 1, "pc_si": [1, 3, 7], "3e3": 1, "mpc": 1, "inc": [1, 5, 6, 7], "pi": [1, 3, 5, 7], "beta": [1, 5, 6, 7], "eclipt": [1, 5, 6, 7], "latitud": [1, 5, 6, 7], "lam": [1, 5, 6, 7], "longitud": [1, 5, 6, 7], "psi": [1, 5, 6, 7], "polar": [1, 5, 6, 7], "angl": [1, 5, 6, 7], "t_ref": [1, 5, 8], "yrsid_si": [1, 3, 7], "frequenc": [1, 2, 4, 5, 7, 8], "freq_new": 1, "logspac": 1, "10000": 1, "wave": [1, 4], "freq": [1, 2, 4, 5, 6, 8], "direct": [1, 2, 5], "squeez": [1, 4, 5], "length": [1, 2, 4, 5, 6, 7, 8], "1024": 1, "enumer": 1, "A": [1, 5, 6], "e": [1, 5, 6], "t": [1, 4, 5, 7], "loglog": 1, "ab": [1, 8], "label": 1, "legend": 1, "xlabel": 1, "hz": 1, "ylabel": 1, "r": 1, "tild": [1, 5], "text": [1, 5, 8], "39": 1, "move": 1, "signal": [1, 4], "back": [1, 5], "merger": [1, 5], "t_obs_end": [1, 5], "far": 1, "start": [1, 4, 5, 7, 8], "t_obs_start": [1, 5], "With": 1, "valu": [1, 4, 5, 6, 7, 8], "rel": [1, 5], "so": [1, 4, 5, 7, 8], "mean": 1, "year": [1, 5, 7], "befor": [1, 4], "coalesc": 1, "chop": 1, "abrubtli": 1, "lose": 1, "power": [1, 4], "case": [1, 5, 7], "becaus": [1, 4, 6, 7], "differ": 1, "harmon": [1, 4, 5, 6, 7, 8], "turn": 1, "off": 1, "abruptli": 1, "one": [1, 4], "month": 1, "12": 1, "hour": 1, "3600": 1, "base": [1, 4, 5, 6, 7, 8], "system": [1, 5, 6, 7], "examin": 1, "75": 1, "onli": [1, 4, 6, 7], "an": [1, 7], "earli": 1, "low": 1, "portion": 1, "observ": [1, 5], "begin": 1, "after": [1, 5], "user": [1, 7, 8], "ha": [1, 4, 6, 7], "over": [1, 4, 8], "7": [1, 3, 7], "too": 1, "small": 1, "128": 1, "wave1": 1, "16384": 1, "wave2": 1, "fig": 1, "ax": [1, 5], "subplot": 1, "subplots_adjust": 1, "wspace": 1, "set_ylabel": 1, "set_xlabel": 1, "most": 1, "reason": [1, 6], "fine": 1, "usual": 1, "conserv": 1, "slightli": 1, "affect": 1, "compress": [1, 4, 5], "lengths_in": 1, "arang": 1, "15": 1, "mismatch": 1, "zeros_lik": 1, "dtype": 1, "float": 1, "j": 1, "wave_temp": 1, "num": 1, "sum": [1, 4], "dot": 1, "conj": 1, "rang": 1, "den1": 1, "den2": 1, "overlap": 1, "sqrt": [1, 4], "real": 1, "initi": [1, 4, 5, 6, 7], "between": 1, "10": [1, 7], "evalu": [1, 4, 5, 6, 8], "stretch": 1, "outsid": 1, "limit": 1, "those": [1, 5, 6, 8], "given": [1, 4, 5, 6, 7, 8], "combin": [1, 5], "keep": 1, "amp_phase_gen": [1, 2, 5], "xlim": 1, "1e": [1, 8], "ylim": 1, "27": 1, "14": 1, "receiv": 1, "error": 1, "indic": [1, 4, 7], "l": [1, 4, 6, 8], "model": [1, 2, 5], "11": [1, 3, 7], "fref": 1, "4e5": 1, "1e5": 1, "1e3": 1, "solid": [1, 4], "dash": 1, "bin": [1, 4], "allow": [1, 6, 8], "stream": [1, 4, 5], "abov": [1, 6], "howev": [1, 4], "give": [1, 5], "two": 1, "return": [1, 4, 5, 6, 7, 8], "special": 1, "templat": [1, 4, 7], "shorten": 1, "where": [1, 4, 5, 6, 7], "non": [1, 6], "zero": [1, 5, 7], "which": [1, 4, 5, 6, 7, 8], "its": [1, 6, 7], "13": 1, "start_ind": [1, 5], "print": 1, "plot": 1, "38058890e": 1, "18": 1, "09436679e": 1, "18j": 1, "36063812e": 1, "36650411e": 1, "27697582e": 1, "60878942e": 1, "43530029e": 1, "29": 1, "80550806e": 1, "29j": 1, "19848650e": 1, "57844517e": 1, "23006336e": 1, "91388205e": 1, "88092867e": 1, "19": 1, "88388847e": 1, "74455381e": 1, "31741168e": 1, "62653861e": 1, "84693895e": 1, "97400736e": 1, "94799296e": 1, "10976688e": 1, "28637749e": 1, "38496614e": 1, "48787469e": 1, "29887936e": 1, "09803303e": 1, "26j": 1, "09724706e": 1, "26": 1, "64830081e": 1, "27j": 1, "11202150e": 1, "12523708e": 1, "65111210e": 1, "34877145e": 1, "46173012e": 1, "06059222e": 1, "84210804e": 1, "06049260e": 1, "25216176e": 1, "20": [1, 3, 7], "46214907e": 1, "21j": 1, "87945399e": 1, "21": 1, "24349867e": 1, "61003809e": 1, "27731637e": 1, "20j": 1, "53152025e": 1, "33": 1, "07884312e": 1, "33j": 1, "35663897e": 1, "34": 1, "15888477e": 1, "14789793e": 1, "24923057e": 1, "28976840e": 1, "51398904e": 1, "69419538e": 1, "11732916e": 1, "42705238e": 1, "22": [1, 5, 8], "89856348e": 1, "08257724e": 1, "32": 1, "33800772e": 1, "12306482e": 1, "12769150e": 1, "78874051e": 1, "29367715e": 1, "32j": 1, "54876322e": 1, "30": [1, 3, 7], "23532594e": 1, "94039261e": 1, "16966838e": 1, "30806134e": 1, "70211333e": 1, "30j": 1, "93268338e": 1, "35": 1, "52898780e": 1, "34j": 1, "78240084e": 1, "34865974e": 1, "63485085e": 1, "26293837e": 1, "7274": 1, "8466": 1, "now": [1, 5], "sourc": [1, 6, 7], "scale": [1, 6], "distanc": [1, 5, 8], "use_gpu": [1, 2, 4, 5, 6, 7, 8], "16": [1, 3, 7], "get": [1, 6, 7, 8], "quantiti": [1, 4, 5, 6], "freqs_shap": [1, 2, 8], "shape": [1, 4, 5, 6, 7, 8], "num_bin_al": [1, 2, 4, 5, 6, 7, 8], "amp": [1, 2, 8], "num_mod": [1, 2, 5, 6, 7, 8], "tf": [1, 2, 6, 8], "amplitud": [1, 5, 6, 8], "17": 1, "characterist": 1, "strain": 1, "lt": 1, "0x7ffe90dcbc90": [], "gt": 1, "larg": 1, "amount": 1, "were": 1, "thank": 1, "him": 1, "work": [1, 4, 5, 7], "appli": [1, 6, 7], "effect": 1, "transfer": [1, 5], "mathcal": [1, 4, 5], "tdi": [1, 2, 6], "channel": [1, 4, 5, 6, 7], "aet": [1, 4, 5, 6], "correspond": [1, 5, 6, 8], "determin": [1, 4, 7, 8], "constel": [1, 5, 6, 7], "orbit": 1, "arm": 1, "oper": 1, "come": 1, "run": [1, 4, 7, 8], "vector": 1, "insid": [1, 6], "happen": [1, 6], "adjust_phas": [1, 6], "just": [1, 4, 5, 8], "itself": 1, "1d": [1, 4, 6, 7, 8], "well": [1, 5], "total": [1, 5, 6, 7], "per": [1, 4], "last": 1, "copi": [1, 8], "index": [1, 6, 7, 8], "transferl1": [1, 2, 6], "getattr": 1, "transferl": 1, "semilogx": 1, "color": 1, "imag": 1, "tile": 1, "none": [1, 4, 5, 6, 7, 8], "input": [1, 4, 6, 7], "same": [1, 4, 5, 8], "phase_diff": 1, "larger": [1, 4], "buffer": [1, 5, 6, 8], "object": [1, 4, 5, 6, 7, 8], "would": 1, "carri": 1, "flatten": [1, 4, 7, 8], "len": [1, 4], "buffer_shap": 1, "out_buff": [1, 6, 8], "reshap": 1, "transferl1r": [1, 5], "transferl1im": [1, 5], "transferl2r": [1, 5], "transferl2im": [1, 5], "transferl3r": [1, 5], "transferl3im": [1, 5], "59987559e": 1, "38281574e": 1, "04": 1, "44109019e": 1, "09": 1, "00000000e": 1, "00": 1, "38281579e": 1, "19852960e": 1, "07": [1, 3, 7], "27213427e": 1, "47978234e": 1, "83021491e": 1, "08": [1, 3, 7], "66473821e": 1, "80562821e": 1, "gravit": 1, "propto": [1, 4], "frac": [1, 4], "langl": [1, 4], "d": [1, 2, 4, 8], "rangl": [1, 4], "left": [1, 4, 6], "right": [1, 4, 5], "b": 1, "nois": [1, 4], "weight": 1, "inner": [1, 4], "product": [1, 4, 7], "domain": [1, 2, 5, 7], "re": 1, "int_0": 1, "infti": 1, "s_n": [1, 4], "df": 1, "side": 1, "spectral": [1, 4], "densiti": [1, 4], "One": 1, "likeihood": 1, "curv": 1, "otherwis": 1, "ones": 1, "t_ob": 1, "dt": 1, "int": [1, 4, 5, 6, 7, 8], "data_freq": [1, 2, 4, 7], "fft": 1, "rfftfreq": 1, "dc": 1, "waveform_kwarg": [1, 4], "data_channel": [1, 2, 4], "psd_a": 1, "sens_fn": 1, "noisepsd_a": [], "psd_e": 1, "psd_t": 1, "noisepsd_t": [], "psd": [1, 2, 4], "param": [1, 4], "num_bin": 1, "params_in": 1, "mass": [1, 4, 5, 7, 8], "test": [1, 4], "randn": 1, "get_ll": [1, 2, 4], "__call__": [1, 2, 5, 6, 7, 8], "ll": 1, "d_h": 1, "08564575": 1, "78986947": 1, "83013822": 1, "42756082": 1, "39568583": 1, "18793697": 1, "36347664": 1, "63434773": 1, "16255004": 1, "76160463": 1, "905148": 1, "57604934": 1, "692": 1, "56805835j": 1, "905106": 1, "21592967": 1, "2083": 1, "93242728j": 1, "905180": 1, "22834893": 1, "605": 1, "58849218j": 1, "905119": 1, "1749811": 1, "1687": 1, "25495497j": 1, "905104": 1, "06618791": 1, "2147": 1, "74363854j": 1, "905159": 1, "25598343": 1, "288": 1, "09476858j": 1, "905175": 1, "73869922": 1, "400": 1, "67391197j": 1, "905137": 1, "67572526": 1, "1079": 1, "22170972j": 1, "905182": 1, "58375341": 1, "716": 1, "70964209j": 1, "905122": 1, "0191435": 1, "1597": 1, "2112494j": 1, "margin": [1, 4], "occur": 1, "term": [1, 6], "ll_marg": 1, "phase_margin": [1, 2, 4], "820689": 1, "39083137": 1, "62756123": 1, "85493541": 1, "84747264": 1, "14208946": 1, "27479797": 1, "9909544": 1, "87881025": 1, "35235718": 1, "ratio": [1, 7], "23": 1, "out": 1, "return_extracted_snr": [1, 2, 4], "column": 1, "second": [1, 4, 5, 7, 8], "snr": [1, 4], "08564575e": 1, "51401198e": 1, "02": 1, "78986947e": 1, "51392050e": 1, "30138221e": 1, "01": 1, "51401467e": 1, "42756082e": 1, "51395584e": 1, "03956858e": 1, "51391414e": 1, "87936968e": 1, "51402142e": 1, "63476644e": 1, "51401957e": 1, "63434773e": 1, "51399571e": 1, "16255004e": 1, "51401118e": 1, "76160463e": 1, "51396284e": 1, "2109": [1, 4], "02728": [1, 4], "specif": [1, 7], "method": [1, 2, 7], "08792": [1, 4], "practic": [1, 4], "along": 1, "spars": [1, 4, 5, 7], "rather": [1, 4, 7, 8], "than": [1, 4, 6, 7, 8], "dens": 1, "accur": [1, 8], "higher": [1, 4, 7], "prior": 1, "residu": 1, "24": [], "reference_index": 1, "argmax": 1, "reference_param": 1, "mani": 1, "length_f_het": [1, 2, 4], "like_het": 1, "ll_het": 1, "02679107": 1, "10891033": 1, "76848715": 1, "98933239": 1, "67090151": 1, "18846779": 1, "33934525": 1, "46732275": 1, "07485673": 1, "37128679": 1, "some": [1, 4, 7], "veri": 1, "sampl": [1, 7], "predict": 1, "structur": 1, "referen": [1, 7], "local": [1, 7], "longitudin": [1, 7], "latitudin": [1, 7], "involv": [1, 4, 7], "lambda": [1, 5, 7], "pm": [1, 7], "co": [1, 7], "iota": [1, 5, 7], "inclin": [1, 5, 6, 7], "respect": [1, 7], "coordin": 1, "25": [], "tl": [1, 7], "lambdal": [1, 7], "betal": [1, 7], "psil": [1, 7], "tssb": [1, 7], "lambdassb": [1, 7], "betassb": [1, 7], "psissb": [1, 7], "lisa_to_ssb": [1, 2, 7], "31557992": 1, "305078838": 1, "327701567520846": [], "0933520437673627": [], "3134690745168953": 1, "ssb_to_lisa": [1, 2, 7], "31558149": [1, 3, 7], "7635457": 1, "49999999999998856": [], "8000000000000037": [], "2999999999999905": [], "inplac": [1, 7], "dimens": [1, 5, 6, 7], "long": [1, 7], "42": 1, "coord": [1, 7], "had": 1, "whole": 1, "mbh": [1, 7], "ind_map": [1, 7], "out_coord": 1, "mbh_sky_mode_transform": [1, 2, 7], "kind": [1, 7], "cos_i": [1, 7], "99079633": 1, "57079633": 1, "27840735": 1, "84920367": 1, "Or": 1, "28": 1, "lat": [1, 7], "74159265": 1, "14159265": 1, "place": [1, 6, 7], "assign": 1, "everi": 1, "in_coord": 1, "access": [1, 7], "properti": [1, 4, 5, 6, 7, 8], "31": 1, "articl": 1, "2020hku": 1, "author": 1, "chua": 1, "alvin": 1, "k": 1, "babak": 1, "stanislav": 1, "larson": 1, "shane": 1, "titl": 1, "massiv": 1, "estim": 1, "eprint": 1, "archiveprefix": 1, "primaryclass": 1, "gr": 1, "qc": 1, "doi": 1, "1103": 1, "physrevd": 1, "102": 1, "023033": 1, "journal": 1, "phy": 1, "rev": 1, "volum": 1, "2020": 1, "2021uax": 1, "fulli": 1, "autom": 1, "pipelin": 1, "extract": 1, "2021": 1, "katz_2021": 1, "offici": 1, "public": 1, "releas": 1, "5281": 1, "5730688": 1, "abstractnot": 1, "descript": 1, "publish": 1, "nov": 1, "2018oam": 1, "delai": 1, "2018": 1, "2020rtl": 1, "dal": 1, "canton": 1, "tito": 1, "explor": 1, "bayesian": 1, "103": 1, "083011": 1, "london2018": 1, "arxivid": 1, "london": 1, "lionel": 1, "khan": 1, "sebastian": 1, "fauchon": 1, "jone": 1, "edward": 1, "garc": 1, "ia": 1, "cecilio": 1, "hannam": 1, "mark": 1, "husa": 1, "sascha": 1, "jim": 1, "nez": 1, "forteza": 1, "xisco": 1, "kalaghatgi": 1, "chinmai": 1, "ohm": 1, "frank": 1, "pannaral": 1, "francesco": 1, "physrevlett": 1, "120": 1, "161102": 1, "prl": 1, "quantum": 1, "cosmologi": 1, "apr": 1, "multipol": 1, "spin": [1, 5, 8], "husa2016": 1, "": 1, "p": 1, "rrer": 1, "x": [1, 7], "sim": 1, "boh": 1, "93": 1, "044006": 1, "prd": 1, "feb": 1, "44006": 1, "nonprecess": 1, "numer": 1, "anatomi": 1, "2016": 1, "khan2016": 1, "044007": 1, "44007": 1, "ii": 1, "phenomenolog": 1, "advanc": 1, "detector": 1, "era": 1, "data_length": [2, 5, 7], "interp_respons": [2, 5], "num_interp_param": [2, 5, 7], "out_buffer_fin": [2, 5], "response_gen": [2, 5, 6], "waveform_gen": [2, 5, 8], "xp": [2, 4, 5, 6, 7, 8], "phenomhm": [2, 5, 6], "phenomd": [2, 5], "allowable_mod": [2, 6, 8], "ells_default": [2, 6, 8], "mms_default": [2, 6, 8], "mf_max": [2, 8], "mf_min": [2, 8], "phenomhm_ringdown_freq": [2, 8], "phenomd_ringdown_freq": [2, 8], "y_rd": [2, 8], "c1_rd": [2, 8], "c2_rd": [2, 8], "c3_rd": [2, 8], "y_dm": [2, 8], "c1_dm": [2, 8], "c2_dm": [2, 8], "c3_dm": [2, 8], "waveform_carri": [2, 8], "fast": [2, 4, 5], "includes_amp": [2, 6], "order_fresnel_stencil": [2, 6], "tditag": [2, 6], "transferl2": [2, 6], "transferl3": [2, 6], "d_d": [2, 4], "data_stream_length": [2, 4], "like_gen": [2, 4], "noise_factor": [2, 4], "template_gen": [2, 4, 7], "interpol": [2, 4, 5, 8], "templateinterpfd": [2, 5, 7], "num_channel": [2, 7], "template_carri": [2, 7], "template_channel": [2, 5, 7], "cubicsplineinterpol": [2, 7], "x_shape": [2, 7], "y_shape": [2, 7], "c1_shape": [2, 7], "c2_shape": [2, 7], "c3_shape": [2, 7], "contain": [2, 4, 6, 7], "transform": [2, 5], "mt_q": [2, 7], "modpi": [2, 7], "mod2pi": [2, 7], "tssbfromlfram": [2, 7], "tlfromssbfram": [2, 7], "wrapper": [2, 7], "pointer_adjust": [2, 7], "mbhb": [2, 4, 7], "adjust": [2, 4, 6, 7], "inspir": 2, "time": [2, 5, 6, 7, 8], "shift_t_limit": [2, 5], "fals": [2, 4, 5, 6, 7, 8], "true": [2, 4, 5, 6, 7, 8], "control": 2, "check": [2, 7], "number": [2, 4, 5, 7], "point": [2, 4, 7], "good": [2, 7], "mode": [2, 4, 5, 6, 7, 8], "content": 2, "take": [2, 5, 7], "arrai": [2, 4, 5, 6, 7, 8], "paramet": [2, 4, 5, 6, 7, 8], "fill": [2, 4, 5, 6], "keyword": [2, 4, 5, 7], "fd": 2, "log": [2, 4], "directli": [2, 5, 6], "against": 2, "fourier": [2, 5], "heterodyn": 2, "ssb": [2, 5, 6, 7], "refer": [2, 4, 5, 6, 7, 8], "frame": [2, 5, 6, 7], "posterior": [2, 4], "sky": [2, 7], "bbhx": [3, 4, 5, 6, 7, 8], "hous": [3, 7], "throughout": [3, 7], "list": [3, 4, 5, 6, 7, 8], "msun_si": [3, 7], "98848e": [3, 7], "763545603": [3, 7], "au_si": [3, 7], "149597870700": [3, 7], "c_si": [3, 7], "299792458": [3, 7], "g_si": [3, 7], "674080e": [3, 7], "gmsun": [3, 7], "3271244210789466e": [3, 7], "mtsun_si": [3, 7], "925491025873693e": [3, 7], "06": [3, 7], "mrsun_si": [3, 7], "1476": [3, 7], "6250615036158": [3, 7], "0856775814913674e": [3, 7], "141592653589793238462643383279502884": [3, 7], "pi_2": [3, 7], "570796326794896619231321691639751442": [3, 7], "pi_3": [3, 7], "047197551196597746154214461093167628": [3, 7], "pi_4": [3, 7], "785398163397448309615660845819875721": [3, 7], "sqrtpi": [3, 7], "772453850905516027298167483341145183": [3, 7], "sqrttwopi": [3, 7], "506628274631000502415765284811045253": [3, 7], "invsqrtpi": [3, 7], "564189583547756286948079451560772585": [3, 7], "invsqrttwopi": [3, 7], "398942280401432677939946059934381868": [3, 7], "gamma": [3, 7], "577215664901532860606512090082402431": [3, 7], "sqrt2": [3, 7], "414213562373095048801688724209698079": [3, 7], "sqrt3": [3, 7], "732050807568877293527446341505872367": [3, 7], "sqrt6": [3, 7], "449489742783178098197284074705891392": [3, 7], "invsqrt2": [3, 7], "707106781186547524400844362104849039": [3, 7], "invsqrt3": [3, 7], "577350269189625764509148780501957455": [3, 7], "invsqrt6": [3, 7], "408248290463863016366214012450981898": [3, 7], "f0": [3, 7], "168753578687779e": [3, 7], "omega0": [3, 7], "9909865927683788e": [3, 7], "l_si": [3, 7], "5e9": [3, 7], "eorbit": [3, 7], "004824185218078991": [3, 7], "constomega": [3, 7], "99098659277e": [3, 7], "graitat": 4, "frequeci": 4, "exist": 4, "waveform": [4, 6, 7], "less": 4, "gpu": [4, 5, 6, 8], "obj": [4, 5, 6, 7, 8], "tupl": [4, 5, 6, 7, 8], "type": [4, 5, 6, 7, 8], "doubl": [4, 5, 7, 8], "ndarrai": [4, 5, 6, 7, 8], "data": [4, 5, 7], "should": [4, 6, 8], "complex128": [4, 7], "2d": [4, 5, 6, 7, 8], "math": 4, "bool": [4, 5, 6, 7, 8], "either": [4, 5, 6, 7], "multipli": [4, 7], "compuat": 4, "delta": 4, "addit": 4, "likeilihood": 4, "num_param": 4, "entri": [4, 5, 6, 7], "three": 5, "phi": 5, "represent": [5, 8], "solar": [5, 7, 8], "barycent": [5, 7], "_": [5, 8], "lm": 5, "a_": 5, "lisa": [5, 7], "t_": 5, "grid": [4, 5], "final": 5, "step": 5, "sum_": 5, "response_kwarg": 5, "interp_kwarg": 5, "futur": [5, 6], "ground": 5, "accord": 5, "paper": [5, 6], "hard": 5, "doc": 5, "describ": [4, 5], "acceler": [5, 7, 8], "ampltidu": 5, "output": [5, 7], "analyz": 5, "self": [4, 5, 7], "order": [4, 5, 6], "being": [5, 6], "summat": [4, 5], "chi1z": [5, 8], "chi2z": [5, 8], "scalar": [5, 6, 7, 8], "dimensionless": [5, 8], "luminos": [5, 8], "intern": [5, 8], "f_": [5, 8], "2a_": [5, 8], "radian": [5, 6], "backward": 5, "much": 5, "thei": [5, 6, 8], "count": 5, "singl": 5, "todo": 5, "switch": 5, "third": 5, "rais": [5, 6, 7], "valueerror": [5, 6, 7], "fix": 6, "breath": 6, "armlength": 6, "str": [6, 7], "xyz": 6, "fresnel": 6, "stencil": 6, "anyth": 6, "compat": 6, "pair": [6, 8], "respon": 6, "updat": 6, "info": 6, "bbh": 6, "rotat": 6, "individu": 6, "requir": [4, 6], "tell": 6, "chunk": 6, "size": 6, "phaserdelai": 6, "equival": 6, "init": 6, "easili": 6, "manner": 6, "nparam": [6, 8], "doe": [4, 6, 7, 8], "incorrect": 6, "wrap": 7, "fit": 7, "origin": 7, "carrier": [7, 8], "interp_contain": 7, "t_start": 7, "t_end": 7, "via": 7, "act": 7, "uniqu": 7, "why": 7, "pointer": 7, "sec": 7, "y_all": 7, "multipl": 7, "cubic": [7, 8], "spline": [7, 8], "knot": 7, "boundari": 7, "condit": 7, "flattend": 7, "y": [7, 8], "4d": 7, "prepar": [4, 7], "c1": [7, 8], "c2": [7, 8], "c3": [7, 8], "easi": 7, "transit": 7, "mainli": 7, "locat": 7, "dure": [4, 7], "mt": 7, "q": 7, "convert": 7, "modulu": 7, "period": 7, "2pi": 7, "t0": 7, "retard": 7, "center": 7, "depend": 7, "posit": 7, "awai": 7, "orient": 7, "approxim": 7, "wise": 7, "pe": 7, "eight": 7, "hop": 7, "propos": 7, "idea": 7, "parallel": 7, "temper": 7, "reduc": 7, "ndim": 7, "matter": 7, "sin": 7, "kei": 7, "name": 7, "1st": 7, "factor": 7, "longer": 7, "ensur": 7, "integ": 7, "trasnform": 7, "mutlipl": 7, "cosin": 7, "collect": 7, "framework": 7, "arg": 7, "kwarg": [4, 7], "ptr": 7, "call": 7, "design": 7, "size_t": 7, "cast": 7, "enter": 7, "dictionari": 7, "targ": 7, "tkwarg": 7, "target": 7, "func": 7, "decor": 7, "few": 7, "construct": 7, "0001": 8, "initial_t_v": 8, "form": 8, "org": 8, "realli": 8, "choos": [4, 8], "minimum": 8, "maximum": 8, "6e": 8, "shift": 8, "accordingli": 8, "still": [4, 8], "reflect": 8, "ringdown": 8, "frequnci": 8, "damp": 8, "flat": 8, "quantitit": 8, "0x14bf02cf0": 1, "a1tdisen": 1, "e1tdisen": 1, "t1tdisen": 1, "3277015675208466": 1, "0933520437673625": 1, "4999999999999887": 1, "8000000000000038": 1, "29999999999999005": 1, "36": 1, "reference_d_d": [2, 4], "reference_h_h": [2, 4], "reference_d_h": [2, 4], "reference_l": [2, 4], "hdyn_d_h": [2, 4], "hdyn_h_h": [2, 4], "h0_spars": [2, 4], "h_spars": [2, 4], "data_const": [2, 4], "f_dens": [2, 4], "f_m": [2, 4], "sens_mat": [2, 4], "init_heterodyne_info": [2, 4], "reference_template_param": 4, "template_gen_kwarg": 4, "reference_gen_kwarg": 4, "heterdyn": 4, "slow": 4, "evolut": 4, "compar": 4, "resolut": 4, "Then": 4, "onlin": 4, "aspect": 4, "smaller": 4, "lower": 4, "memori": 4, "increas": 4, "speed": 4, "been": 4, "extensiv": 4, "reliabl": 4, "distribut": 4, "automat": 4, "recomend": 4, "overwritten": 4, "These": 4, "8096": 4, "sensitivitymatrix": 4, "repres": 4, "aet1sensitivitymatrix": 4, "hold": 4, "a0": 4, "b0": 4, "b1": 4, "mid": 4, "matrix": 4}, "objects": {"bbhx.likelihood": [[4, 0, 1, "", "HeterodynedLikelihood"], [4, 0, 1, "", "Likelihood"]], "bbhx.likelihood.HeterodynedLikelihood": [[4, 1, 1, "", "citation"], [4, 2, 1, "", "d"], [4, 2, 1, "", "data_constants"], [4, 2, 1, "", "data_stream_length"], [4, 2, 1, "", "f_dense"], [4, 2, 1, "", "f_m"], [4, 2, 1, "", "freqs"], [4, 3, 1, "", "get_ll"], [4, 2, 1, "", "h0_sparse"], [4, 2, 1, "", "h_sparse"], [4, 2, 1, "", "hdyn_d_h"], [4, 2, 1, "", "hdyn_h_h"], [4, 3, 1, "", "init_heterodyne_info"], [4, 2, 1, "", "length_f_het"], [4, 1, 1, "id4", "like_gen"], [4, 2, 1, "", "phase_marginalize"], [4, 2, 1, "", "psd"], [4, 2, 1, "", "reference_d_d"], [4, 2, 1, "", "reference_d_h"], [4, 2, 1, "", "reference_h_h"], [4, 2, 1, "", "reference_ll"], [4, 2, 1, "", "return_extracted_snr"], [4, 1, 1, "", "sens_mat"], [4, 2, 1, "", "template_gen"], [4, 2, 1, "", "use_gpu"], [4, 1, 1, "id5", "xp"]], "bbhx.likelihood.Likelihood": [[4, 2, 1, "", "d_d"], [4, 2, 1, "", "data_channels"], [4, 2, 1, "", "data_freqs"], [4, 2, 1, "", "data_stream_length"], [4, 3, 1, "", "get_ll"], [4, 1, 1, "id0", "like_gen"], [4, 2, 1, "", "noise_factors"], [4, 2, 1, "", "phase_marginalize"], [4, 2, 1, "", "psd"], [4, 2, 1, "", "return_extracted_snr"], [4, 2, 1, "", "template_gen"], [4, 2, 1, "", "use_gpu"], [4, 1, 1, "id1", "xp"]], "bbhx.response.fastfdresponse": [[6, 0, 1, "", "LISATDIResponse"]], "bbhx.response.fastfdresponse.LISATDIResponse": [[6, 2, 1, "", "TDItag"], [6, 3, 1, "", "__call__"], [6, 2, 1, "", "allowable_modes"], [6, 1, 1, "", "citation"], [6, 2, 1, "", "ells_default"], [6, 2, 1, "", "includes_amps"], [6, 2, 1, "", "mms_default"], [6, 2, 1, "", "order_fresnel_stencil"], [6, 1, 1, "", "phase"], [6, 2, 1, "", "response_gen"], [6, 1, 1, "", "tf"], [6, 1, 1, "", "transferL1"], [6, 1, 1, "", "transferL2"], [6, 1, 1, "", "transferL3"], [6, 2, 1, "", "use_gpu"], [6, 2, 1, "", "xp"]], "bbhx.utils": [[7, 4, 0, "-", "citations"], [7, 4, 0, "-", "transform"], [7, 4, 0, "-", "utility"]], "bbhx.utils.interpolate": [[7, 0, 1, "", "CubicSplineInterpolant"]], "bbhx.utils.interpolate.CubicSplineInterpolant": [[7, 1, 1, "", "c1_shaped"], [7, 1, 1, "", "c2_shaped"], [7, 1, 1, "", "c3_shaped"], [7, 1, 1, "", "container"], [7, 1, 1, "", "x_shaped"], [7, 1, 1, "", "y_shaped"]], "bbhx.utils.transform": [[7, 5, 1, "", "LISA_to_SSB"], [7, 5, 1, "", "SSB_to_LISA"], [7, 5, 1, "", "mT_q"], [7, 5, 1, "", "mbh_sky_mode_transform"], [7, 5, 1, "", "mod2pi"], [7, 5, 1, "", "modpi"], [7, 5, 1, "", "tLfromSSBframe"], [7, 5, 1, "", "tSSBfromLframe"]], "bbhx.utils.utility": [[7, 5, 1, "", "pointer_adjust"], [7, 5, 1, "", "wrapper"]], "bbhx.waveformbuild": [[5, 0, 1, "", "BBHWaveformFD"], [7, 0, 1, "", "TemplateInterpFD"]], "bbhx.waveformbuild.BBHWaveformFD": [[5, 3, 1, "", "__call__"], [5, 2, 1, "", "amp_phase_gen"], [5, 1, 1, "", "citation"], [5, 2, 1, "", "data_length"], [5, 2, 1, "", "interp_response"], [5, 2, 1, "", "length"], [5, 2, 1, "", "num_bin_all"], [5, 2, 1, "", "num_interp_params"], [5, 2, 1, "", "num_modes"], [5, 2, 1, "", "out_buffer_final"], [5, 2, 1, "", "response_gen"], [5, 2, 1, "", "use_gpu"], [5, 2, 1, "", "waveform_gen"], [5, 2, 1, "", "xp"]], "bbhx.waveformbuild.TemplateInterpFD": [[7, 3, 1, "", "__call__"], [7, 1, 1, "", "citation"], [7, 2, 1, "", "data_length"], [7, 2, 1, "", "length"], [7, 2, 1, "", "num_bin_all"], [7, 2, 1, "", "num_channels"], [7, 2, 1, "", "num_modes"], [7, 2, 1, "", "template_carrier"], [7, 1, 1, "", "template_channels"], [7, 2, 1, "", "template_gen"], [7, 2, 1, "", "use_gpu"], [7, 2, 1, "", "xp"]], "bbhx.waveforms.phenomhm": [[8, 0, 1, "", "PhenomHMAmpPhase"]], "bbhx.waveforms.phenomhm.PhenomHMAmpPhase": [[8, 3, 1, "", "__call__"], [8, 2, 1, "", "allowable_modes"], [8, 1, 1, "", "amp"], [8, 2, 1, "", "c1_dm"], [8, 2, 1, "", "c1_rd"], [8, 2, 1, "", "c2_dm"], [8, 2, 1, "", "c2_rd"], [8, 2, 1, "", "c3_dm"], [8, 2, 1, "", "c3_rd"], [8, 1, 1, "", "citation"], [8, 2, 1, "", "ells_default"], [8, 1, 1, "", "freqs"], [8, 1, 1, "", "freqs_shaped"], [8, 2, 1, "", "mf_max"], [8, 2, 1, "", "mf_min"], [8, 2, 1, "", "mms_default"], [8, 1, 1, "", "phase"], [8, 2, 1, "", "phenomd_ringdown_freqs"], [8, 2, 1, "", "phenomhm_ringdown_freqs"], [8, 2, 1, "", "run_phenomd"], [8, 1, 1, "", "tf"], [8, 2, 1, "", "use_gpu"], [8, 2, 1, "", "waveform_carrier"], [8, 2, 1, "", "waveform_gen"], [8, 2, 1, "", "xp"], [8, 2, 1, "", "y_dm"], [8, 2, 1, "", "y_rd"]]}, "objtypes": {"0": "py:class", "1": "py:property", "2": "py:attribute", "3": "py:method", "4": "py:module", "5": "py:function"}, "objnames": {"0": ["py", "class", "Python class"], "1": ["py", "property", "Python property"], "2": ["py", "attribute", "Python attribute"], "3": ["py", "method", "Python method"], "4": ["py", "module", "Python module"], "5": ["py", "function", "Python function"]}, "titleterms": {"gpu": [0, 1, 2, 7], "acceler": [0, 1, 2], "black": [0, 2], "hole": [0, 2], "binari": [0, 2], "waveform": [0, 1, 2, 5, 8], "bbhx": [0, 1, 2], "design": [0, 2], "lisa": [0, 1, 2, 6], "data": [0, 1, 2], "analysi": [0, 2], "massiv": [0, 2], "get": [0, 2], "start": [0, 2], "prerequisit": [0, 2], "instal": [0, 2], "run": [0, 2], "test": [0, 2], "contribut": [0, 2], "version": [0, 2], "author": [0, 2], "contibutor": [0, 2], "licens": [0, 2], "acknowledg": [0, 2], "tutori": [1, 2], "mbhb": 1, "adjust": 1, "inspir": 1, "time": 1, "shift_t_limit": 1, "fals": 1, "true": 1, "control": 1, "interpol": [1, 7], "check": 1, "number": 1, "point": 1, "i": 1, "good": 1, "gener": 1, "without": 1, "mode": 1, "content": 1, "all": 1, "function": [1, 7], "can": 1, "take": 1, "arrai": 1, "paramet": 1, "The": 1, "fill": 1, "keyword": 1, "argument": 1, "phenomhm": [1, 8], "fast": [1, 6], "fd": 1, "respons": [1, 6], "comput": [1, 4], "likelihood": [1, 4], "log": 1, "directli": 1, "against": 1, "fourier": 1, "transform": [1, 7], "heterodyn": [1, 4], "util": [1, 7], "from": 1, "ssb": 1, "refer": 1, "frame": 1, "posterior": 1, "sky": 1, "citat": [1, 7], "document": 2, "constant": [3, 7], "method": 4, "direct": 4, "full": 5, "tdi": 5, "model": [6, 8], "frequenc": 6, "domain": 6, "us": 7, "modul": 7, "cython": 7, "cpu": 7, "agnost": 7, "tool": 7, "avail": 8, "phenomd": 8}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "nbsphinx": 4, "sphinx": 60}, "alltitles": {"Full TDI Waveforms": [[5, "full-tdi-waveforms"]], "LISA Response Models": [[6, "lisa-response-models"]], "Fast Frequency Domain Response": [[6, "fast-frequency-domain-response"]], "Available Waveform Models": [[8, "available-waveform-models"]], "PhenomHM (PhenomD)": [[8, "phenomhm-phenomd"]], "Constants": [[3, "constants"], [7, "constants"]], "Likelihood Methods": [[4, "likelihood-methods"]], "Direct Likelihood Computation": [[4, "direct-likelihood-computation"]], "Heterodyned Likelihood Computation": [[4, "heterodyned-likelihood-computation"]], "Utility Functions": [[7, "utility-functions"]], "Interpolation Utilities": [[7, "interpolation-utilities"]], "Useful Transformation Functions": [[7, "useful-transformation-functions"]], "Citation Module": [[7, "module-bbhx.utils.citations"]], "Cython GPU/CPU Agnostic Tools": [[7, "module-bbhx.utils.utility"]], "GPU-Accelerated Black Hole Binary Waveforms (bbhx)": [[0, "gpu-accelerated-black-hole-binary-waveforms-bbhx"], [2, "gpu-accelerated-black-hole-binary-waveforms-bbhx"]], "Designed for LISA data analysis of Massive Black Hole Binaries.": [[0, "designed-for-lisa-data-analysis-of-massive-black-hole-binaries"], [2, "designed-for-lisa-data-analysis-of-massive-black-hole-binaries"]], "Getting Started": [[0, "getting-started"], [2, "getting-started"]], "Prerequisites": [[0, "prerequisites"], [2, "prerequisites"]], "Installing": [[0, "installing"], [2, "installing"]], "Running the Tests": [[0, "running-the-tests"], [2, "running-the-tests"]], "Contributing": [[0, "contributing"], [2, "contributing"]], "Versioning": [[0, "versioning"], [2, "versioning"]], "Authors": [[0, "authors"], [2, "authors"]], "Contibutors": [[0, "contibutors"], [2, "contibutors"]], "License": [[0, "license"], [2, "license"]], "Acknowledgments": [[0, "acknowledgments"], [2, "acknowledgments"]], "bbhx Tutorial": [[1, "bbhx-Tutorial"]], "GPU accelerated MBHB waveforms for LISA": [[1, "GPU-accelerated-MBHB-waveforms-for-LISA"]], "Adjust inspiral timing with shift_t_limits=False": [[1, "Adjust-inspiral-timing-with-shift_t_limits=False"]], "Adjust inspiral timing with shift_t_limits=True": [[1, "Adjust-inspiral-timing-with-shift_t_limits=True"]], "Controlling interpolation": [[1, "Controlling-interpolation"]], "Check number of points that is good for interpolation:": [[1, "Check-number-of-points-that-is-good-for-interpolation:"]], "Generate waveforms without interpolation": [[1, "Generate-waveforms-without-interpolation"]], "Adjusting mode content": [[1, "Adjusting-mode-content"]], "All of these functions can take arrays for parameters": [[1, "All-of-these-functions-can-take-arrays-for-parameters"]], "The fill keyword argument": [[1, "The-fill-keyword-argument"]], "Generating PhenomHM waveforms": [[1, "Generating-PhenomHM-waveforms"]], "Fast FD Response": [[1, "Fast-FD-Response"]], "Computing the Likelihood": [[1, "Computing-the-Likelihood"]], "Computing the log-Likelihood for MBHBs directly against the Fourier transform of data": [[1, "Computing-the-log-Likelihood-for-MBHBs-directly-against-the-Fourier-transform-of-data"]], "Heterodyned Likelihoods": [[1, "Heterodyned-Likelihoods"]], "Utility functions": [[1, "Utility-functions"]], "Transformation functions": [[1, "Transformation-functions"]], "Transformations to and from LISA and SSB reference frames": [[1, "Transformations-to-and-from-LISA-and-SSB-reference-frames"]], "Posterior sky-mode transformation": [[1, "Posterior-sky-mode-transformation"]], "Citations": [[1, "Citations"]], "Documentation:": [[2, null]], "Tutorial:": [[2, null]]}, "indexentries": {}}) \ No newline at end of file diff --git a/docs/html/user/like.html b/docs/html/user/like.html index 8be6e17..cebf2b7 100644 --- a/docs/html/user/like.html +++ b/docs/html/user/like.html @@ -74,6 +74,40 @@
      • +
      • Heterodyned Likelihood Computation +
    • Utility Functions
    • @@ -334,6 +368,406 @@

      Direct Likelihood Computation +

      Heterodyned Likelihood Computation

      +
      +
      +class bbhx.likelihood.HeterodynedLikelihood(template_gen, data_freqs, data_channels, reference_template_params, length_f_het, template_gen_kwargs={}, reference_gen_kwargs={}, sens_mat=None, use_gpu=False)
      +

      Bases: object

      +

      Compute the Heterodyned log-Likelihood

      +

      Heterdyning involves separating the fast and slow evolutions when comparing +signals. This involves comparing a reference template to the data stream and determining +various quantities at the full frequency resolution of the data stream. Then, during +online computation, the log-Likelihood is determined by computing a new waveform +on a sparse frequency grid and comparing it to the reference waveform on the same +sparse grid. The practical aspect is the computation of a smaller number of frequency +points which lowers the required memory and increases the speed of the computation. +More information on the general method can be found in +arXiv:2109.02728. We implement the method +as described in arXiv:1806.08792.

      +

      This class also works with higher order harmonic modes, but it has not been tested extensivally. +It only does a direct summation over the modes rather than heterodyning per mode. So, it is less reliable, +but in practice it produces a solid posterior distribution.

      +

      This class has GPU capabilities.

      +
      +
      Parameters:
      +
        +
      • template_gen (obj) – Waveform generation class that returns a tuple of +(list of template arrays, start indices, lengths). See +bbhx.waveform.BBHWaveformFD for more information on this +return type.

      • +
      • data_freqs (double xp.ndarray) – Frequencies for the data stream. data_freqs +should be a numpy (cupy) array if running on the CPU (GPU).

      • +
      • data_channels (complex128 xp.ndarray) – Data stream. 2D array of shape: (3, len(data_freqs)). +It is assumed there are 3 channels. data_channels +should be a numpy (cupy) array if running on the CPU (GPU).

      • +
      • reference_template_params (np.ndarray) – Parameters for the reference template for +template_gen.

      • +
      • template_gen_kwargs (dict, optional) – Keywords arguments for generating the +template with template_gen. It will automatically add/change direct +and compress keyword arguments to True. The keyword argument +squeeze is automatically set to True for the initial setup and then +automatically set to False for online computations. If you so choose (not +recomended), you can change these kwargs for online running using the +**waveform_kwargs setup in the self.get_ll method. However, +if you include in this adjustment direct, compress, or squeeze +will still automatically be overwritten. +(Default: {})

      • +
      • reference_gen_kwargs (dict, optional) – Keywords arguments for generating the +reference template with template_gen. It will automatically add/change +fill, compress, and squeeze keyword arguments to True. +These waveforms can be produced without interpolation with direct = True. +If length keyword argument is given and direct=False, the +waveform will be interpolated. If length and direct are not given, +it will interpolate the signal with length=8096. +(Default: {})

      • +
      • sens_mat (SensitivityMatrix, optional) – SensitivityMatrix object representing the AET channels. +If None, defaults to class:AET1SensitivityMatrix. (default: None)

      • +
      • use_gpu (bool, optional) – If True, use GPU.

      • +
      +
      +
      +
      +
      +reference_d_d
      +

      \(\langle d|d\rangle\) inner product value.

      +
      +
      Type:
      +

      double

      +
      +
      +
      + +
      +
      +reference_h_h
      +

      \(\langle h|h\rangle\) inner product value +for the reference template.

      +
      +
      Type:
      +

      double

      +
      +
      +
      + +
      +
      +reference_d_h
      +

      \(\langle d|h\rangle\) inner product value +for the reference template.

      +
      +
      Type:
      +

      double

      +
      +
      +
      + +
      +
      +reference_ll
      +

      log-Likelihood value for the reference template.

      +
      +
      Type:
      +

      double

      +
      +
      +
      + +
      +
      +hdyn_d_h
      +

      Heterodyned \(\langle d|h\rangle\) +inner product values for the test templates.

      +
      +
      Type:
      +

      complex128 xp.ndarray

      +
      +
      +
      + +
      +
      +hdyn_h_h
      +

      Heterodyned \(\langle d|h\rangle\) +inner product values for the test templates.

      +
      +
      Type:
      +

      complex128 xp.ndarray

      +
      +
      +
      + +
      +
      +h0_sparse
      +

      Array with sparse waveform for reference parameters.

      +
      +
      Type:
      +

      xp.ndarray

      +
      +
      +
      + +
      +
      +h_sparse
      +

      Array with sparse waveform for test parameters.

      +
      +
      Type:
      +

      xp.ndarray

      +
      +
      +
      + +
      +
      +d
      +

      Data stream. 1D flattened array +of shape: (3, len(data_freqs)).

      +
      +
      Type:
      +

      complex128 xp.ndarray

      +
      +
      +
      + +
      +
      +data_stream_length
      +

      Length of data.

      +
      +
      Type:
      +

      int

      +
      +
      +
      + +
      +
      +data_constants
      +

      Flattened array container holding all heterodyning +constants needed: A0, A1, B0, B1.

      +
      +
      Type:
      +

      xp.ndarray

      +
      +
      +
      + +
      +
      +f_dense
      +

      Frequencies for the data stream (1D).

      +
      +
      Type:
      +

      xp.ndarray

      +
      +
      +
      + +
      +
      +freqs
      +

      Frequencies for sparse arrays.

      +
      +
      Type:
      +

      xp.ndarray

      +
      +
      +
      + +
      +
      +f_m
      +

      Frequency of mid-point in each sparse bin.

      +
      +
      Type:
      +

      xp.ndarray

      +
      +
      +
      + +
      +
      +length_f_het
      +

      Length of sparse array.

      +
      +
      Type:
      +

      int

      +
      +
      +
      + +
      +
      +like_gen
      +

      C/CUDA implementation of likelihood compuation.

      +
      +
      Type:
      +

      obj

      +
      +
      +
      + +
      +
      +psd
      +

      \(\sqrt{\frac{\Delta f}{S_n(f)}}\). +1D flattened array of shape: (3, len(data_freqs)).

      +
      +
      Type:
      +

      double xp.ndarray

      +
      +
      +
      + +
      +
      +template_gen
      +

      Waveform generation class that returns a tuple of +(list of template arrays, start indices, lengths). See +bbhx.waveform.BBHWaveformFD for more information on this +return type.

      +
      +
      Type:
      +

      obj

      +
      +
      +
      + +
      +
      +return_extracted_snr
      +

      Return the snr in addition to the Likeilihood.

      +
      +
      Type:
      +

      bool

      +
      +
      +
      + +
      +
      +phase_marginalize
      +

      If True, compute the phase-marginalized +log-Likelihood (and snr if return_extracted_snr==True).

      +
      +
      Type:
      +

      bool

      +
      +
      +
      + +
      +
      +use_gpu
      +

      If True, using GPU.

      +
      +
      Type:
      +

      bool

      +
      +
      +
      + +
      +
      +xp
      +

      Either numpy or cupy.

      +
      +
      Type:
      +

      obj

      +
      +
      +
      + +
      +
      +property sens_mat
      +

      Sensitivity Matrix

      +
      + +
      +
      +property like_gen
      +

      C function on GPU/CPU

      +
      + +
      +
      +property xp
      +

      Numpy or Cupy

      +
      + +
      +
      +property citation
      +

      Citations for this class

      +
      + +
      +
      +init_heterodyne_info(reference_template_params, template_gen_kwargs={}, reference_gen_kwargs={})
      +

      Prepare all information for Heterdyning

      +
      +
      Parameters:
      +
        +
      • reference_template_params (np.ndarray) – Parameters for the reference template for +template_gen.

      • +
      • template_gen_kwargs (dict, optional) – Keywords arguments for generating the +template with template_gen. It will automatically add/change direct +and compress keyword arguments to True. The keyword argument +squeeze is automatically set to True for the initial setup and then +automatically set to False for online computations. If you so choose (not +recomended), you can change these kwargs for online running using the +**waveform_kwargs setup in the self.get_ll method. However, +if you include in this adjustment direct, compress, or squeeze +will still automatically be overwritten. +(Default: {})

      • +
      • reference_gen_kwargs (dict, optional) – Keywords arguments for generating the +reference template with template_gen. It will automatically add/change +fill, compress, and squeeze keyword arguments to True. +These waveforms can be produced without interpolation with direct = True. +If length keyword argument is given and direct=False, the +waveform will be interpolated. If length and direct are not given, +it will interpolate the signal with length=8096. +(Default: {})

      • +
      +
      +
      +
      + +
      +
      +get_ll(params, return_extracted_snr=False, phase_marginalize=False, **waveform_kwargs)
      +

      Compute the log-Likelihood

      +
      +
      params (double np.ndarray): Parameters for evaluating log-Likelihood.

      params.shape=(num_params,) if 1D or +params.shape=(num_params, num_bin_all) if 2D for more than +one binary.

      +
      +
      return_extracted_snr (bool, optional): If True, return

      \(\langle d|h\rangle\ / \sqrt{\langle h|h\rangle}\) as a second entry +of the return array. This produces a return array of +xp.array([log likelihood, snr]).T. If False, just return +the log-Likelihood array.

      +
      +
      phase_marginalize (bool, optional): If True, compute the phase-marginalized

      log-Likelihood (and snr if return_extracted_snr==True).

      +
      +
      **waveform_kwargs (dict, optional): Keyword arguments for waveform

      generator. Some may be overwritten. See the main class docstring.

      +
      +
      +
      +
      Returns:
      +

      log-Likelihoods or np.array([log-Likelihoods, snr]).T

      +
      +
      Return type:
      +

      np.ndarray

      +
      +
      +
      + +
      + diff --git a/docs/source/README.rst b/docs/source/README.rst index b5b5042..e1b43f7 100644 --- a/docs/source/README.rst +++ b/docs/source/README.rst @@ -191,7 +191,7 @@ We use `SemVer `__ for versioning. For the versions available, see the `tags on this repository `__. -Current Version: 1.0.7 +Current Version: 1.0.8 Authors ------- diff --git a/docs/source/user/like.rst b/docs/source/user/like.rst index 4e1aacb..162719f 100644 --- a/docs/source/user/like.rst +++ b/docs/source/user/like.rst @@ -8,3 +8,11 @@ Direct Likelihood Computation :members: :show-inheritance: :inherited-members: + +Heterodyned Likelihood Computation +************************************* + +.. autoclass:: bbhx.likelihood.HeterodynedLikelihood + :members: + :show-inheritance: + :inherited-members: diff --git a/setup.py b/setup.py index a444c9a..6489346 100644 --- a/setup.py +++ b/setup.py @@ -343,6 +343,6 @@ def build_extensions(self): cmdclass={"build_ext": custom_build_ext}, # Since the package has c code, the egg cannot be zipped zip_safe=False, - version="1.0.7", - python_requires=">=3.6", + version="1.0.8", + python_requires=">=3.12", )