diff --git a/README.md b/README.md index a8835c0..634b5f5 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.4 +Current Version: 1.0.5 ## Authors diff --git a/bbhx/waveformbuild.py b/bbhx/waveformbuild.py index 4a43dda..a588a42 100644 --- a/bbhx/waveformbuild.py +++ b/bbhx/waveformbuild.py @@ -66,6 +66,7 @@ class TemplateInterpFD: def __init__(self, use_gpu=False): + self.use_gpu = use_gpu if use_gpu: self.template_gen = InterpTDI_wrap_gpu self.xp = xp @@ -138,7 +139,7 @@ def __call__( start_and_end = self.xp.asarray([freqs_shaped[:, 0], freqs_shaped[:, -1],]).T - if not isinstance(data_freqs, self.xp.ndarray): + if self.use_gpu and not isinstance(data_freqs, self.xp.ndarray): raise ValueError("Make sure if using Cupy or Numpy, the input freqs array is of the same type.") inds_start_and_end = self.xp.asarray( diff --git a/docs/doctrees/README.doctree b/docs/doctrees/README.doctree index ee6508d..aaf440a 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 1db8967..030179f 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 b84a373..894138c 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 58200ae..3c04f8f 100644 Binary files a/docs/doctrees/user/like.doctree and b/docs/doctrees/user/like.doctree differ diff --git a/docs/doctrees/user/main.doctree b/docs/doctrees/user/main.doctree index 6235589..ab1fbaa 100644 Binary files a/docs/doctrees/user/main.doctree and b/docs/doctrees/user/main.doctree differ diff --git a/docs/doctrees/user/response.doctree b/docs/doctrees/user/response.doctree index c052813..4ba222e 100644 Binary files a/docs/doctrees/user/response.doctree and b/docs/doctrees/user/response.doctree differ diff --git a/docs/doctrees/user/utils.doctree b/docs/doctrees/user/utils.doctree index 65ddf22..2d8cc65 100644 Binary files a/docs/doctrees/user/utils.doctree and b/docs/doctrees/user/utils.doctree differ diff --git a/docs/doctrees/user/waveforms.doctree b/docs/doctrees/user/waveforms.doctree index 478d7fd..49c9cc9 100644 Binary files a/docs/doctrees/user/waveforms.doctree and b/docs/doctrees/user/waveforms.doctree differ diff --git a/docs/html/README.html b/docs/html/README.html index 747767f..1eed340 100644 --- a/docs/html/README.html +++ b/docs/html/README.html @@ -257,7 +257,7 @@

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

-

Current Version: 1.0.4

+

Current Version: 1.0.5

Authors

diff --git a/docs/html/_sources/README.rst.txt b/docs/html/_sources/README.rst.txt index 4a77231..c7c5b2b 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.4 +Current Version: 1.0.5 Authors ------- diff --git a/docs/html/genindex.html b/docs/html/genindex.html index ae8aa3b..3db8513 100644 --- a/docs/html/genindex.html +++ b/docs/html/genindex.html @@ -86,18 +86,68 @@

Index

- B + _ + | A + | B + | C + | D + | E + | F + | G + | I | L | M + | N + | O | P + | R | S | T + | U | W + | X + | Y
+

_

+ + +
+ +

A

+ + + +
+

B

+ -
+
  • bbhx.utils.transform @@ -112,8 +164,6 @@

    B

  • module
-
  • bbhx.utils.utility @@ -124,10 +174,130 @@

    B

+

C

+ + + +
+ +

D

+ + + +
+ +

E

+ + +
+ +

F

+ + + +
+ +

G

+ + +
+ +

I

+ + + +
+

L

+
@@ -137,8 +307,20 @@

M

+ +
  • mT_q() (in module bbhx.utils.transform) +
  • + + +

    N

    + + +
    + +

    O

    + + +
    @@ -162,7 +380,43 @@

    M

    P

    + +
    + +

    R

    + + +
    @@ -178,23 +432,111 @@

    S

    T

    +

    U

    + + +
    +

    W

    +
    +

    X

    + + +
    + +

    Y

    + + + +
    + diff --git a/docs/html/index.html b/docs/html/index.html index 3e5c869..28f867a 100644 --- a/docs/html/index.html +++ b/docs/html/index.html @@ -260,7 +260,7 @@

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

    -

    Current Version: 1.0.4

    +

    Current Version: 1.0.5

    Authors

    @@ -290,21 +290,137 @@

    Acknowledgments

    Documentation:

      -
    • Full TDI Waveforms
    • +
    • Full TDI Waveforms +
    • Available Waveform Models
    • LISA Response Models
    • Likelihood Methods
    • Utility Functions
        -
      • Interpolation Utilities
      • +
      • Interpolation Utilities +
      • Useful Transformation Functions
        • mT_q()
        • modpi()
        • diff --git a/docs/html/objects.inv b/docs/html/objects.inv index 9f3e1e6..9f0421d 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 51e36f9..ad123f4 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, 5, 7], "packag": [0, 1, 2, 3, 7], "implement": [0, 1, 2], "cpu": [0, 2], "agnost": [0, 2], "likelihood": [0, 2], "comput": [0, 2, 5, 7], "from": [0, 2, 7], "arxiv": [0, 1, 2, 7], "2005": [0, 1, 2], "01827": [0, 1, 2], "2111": [0, 1, 2], "01064": [0, 1, 2], "The": [0, 2, 3, 5, 7], "variou": [0, 2], "part": [0, 1, 2, 5], "ar": [0, 1, 2, 5, 7], "arrang": [0, 2], "modular": [0, 2], "respons": [0, 2, 5], "chang": [0, 1, 2], "improv": [0, 2], "made": [0, 2], "gener": [0, 2, 7], "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], "see": [0, 1, 2, 7], "document": 0, "further": [0, 1, 2], "inform": [0, 1, 2, 7], "code": [0, 1, 2, 7], "can": [0, 2], "found": [0, 1, 2], "github": [0, 2], "here": [0, 2, 7], "i": [0, 2, 5, 7], "tool": [0, 2], "environ": [0, 2], "If": [0, 1, 2, 7], "you": [0, 1, 2, 7], "us": [0, 1, 2, 3, 5], "softwar": [0, 1, 2], "cite": [0, 1, 2], "associ": [0, 1, 2, 7], "zenodo": [0, 1, 2], "page": [0, 1, 2], "also": [0, 1, 2, 5, 7], "ani": [0, 1, 2], "consitu": [0, 1, 2], "like": [0, 1, 2], "function": [0, 2, 5], "citat": [0, 2], "attribut": [0, 1, 2, 7], "each": [0, 1, 2], "class": [0, 1, 2, 7], "docstr": [0, 1, 2], "more": [0, 1, 2, 7], "below": [0, 1, 2], "quick": [0, 2], "set": [0, 1, 2, 7], "instruct": [0, 2], "anaconda": [0, 2], "do": [0, 1, 2], "have": [0, 1, 2, 7], "creat": [0, 1, 2], "virtual": [0, 2], "note": [0, 2, 7], "There": [0, 1, 2], "avail": [0, 1, 2], "conda": [0, 2], "compil": [0, 2], "window": [0, 2], "want": [0, 1, 2], "probabl": [0, 2, 7], "need": [0, 1, 2, 7], "add": [0, 1, 2, 7], "librari": [0, 2], "includ": [0, 1, 2, 5, 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, 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, 7], "6": [0, 1, 2, 3, 7], "1": [0, 1, 2, 3, 7], "numpi": [0, 1, 2, 7], "scipi": [0, 2], "cython": [0, 2], "jupyt": [0, 2], "ipython": [0, 2], "matplotlib": [0, 1, 2], "python": [0, 2, 7], "9": [0, 1, 2, 7], "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], "com": [0, 1, 2], "mikekatz04": [0, 1, 2], "cd": [0, 2], "To": [0, 1, 2], "import": [0, 1, 2, 7], "bbhwaveformfd": [0, 1, 2], "exampl": [0, 1, 2, 7], "notebook": [0, 2], "usag": [0, 2], "2": [0, 1, 2, 3, 7], "0": [0, 1, 2, 3, 7], "4": [0, 1, 2, 3, 7], "new": [0, 1, 2], "seem": [0, 2], "correct": [0, 2], "header": [0, 2], "therefor": [0, 1, 2], "must": [0, 2, 5, 7], "we": [0, 1, 2], "recommend": [0, 2], "everyth": [0, 2], "gcc": [0, 2], "g": [0, 1, 2], "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], "make": [0, 1, 2], "sure": [0, 2], "all": [0, 2, 7], "necessari": [0, 2], "pass": [0, 2, 7], "command": [0, 2], "mai": [0, 2], "nvidia": [0, 2], "capabl": [0, 2], "cuda": [0, 2], "toolkit": [0, 2], "cupi": [0, 1, 2, 7], "8": [0, 1, 2, 7], "Be": [0, 2], "properli": [0, 2, 7], "within": [0, 2], "nvcc": [0, 2], "cudahom": [0, 2], "variabl": [0, 2], "faster": [0, 2], "pip": [0, 2], "io": [0, 2], "cuda92": [0, 2], "other": [0, 1, 2, 7], "when": [0, 1, 2, 7], "default": [0, 1, 2, 7], "assum": [0, 1, 2], "lib": [0, 2], "both": [0, 1, 2, 7], "provid": [0, 1, 2], "directori": [0, 2], "line": [0, 2], "option": [0, 1, 2, 7], "remov": [0, 1, 2], "openmp": [0, 2], "h": [0, 1, 2, 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, 7], "show": [0, 2], "messag": [0, 2], "exit": [0, 2], "without": [0, 2], "ad": [0, 2], "end": [0, 1, 2], "string": [0, 2, 7], "In": [0, 1, 2, 7], "main": [0, 2, 5], "termin": [0, 2], "m": [0, 1, 2], "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, 7], "tag": [0, 2], "current": [0, 2], "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, 7], "resourc": [0, 2], "staff": [0, 2], "quest": [0, 2], "grail": [0, 2], "high": [0, 1, 2], "perform": [0, 1, 2], "facil": [0, 2], "northwestern": [0, 2], "univers": [0, 2], "produc": [1, 5], "black": 1, "hole": 1, "binari": [1, 7], "It": [1, 7], "focus": 1, "proper": [1, 7], "1806": 1, "10734": 1, "2003": [1, 7], "00357": [1, 7], "analysi": 1, "np": [1, 7], "pyplot": 1, "plt": 1, "inlin": 1, "waveformbuild": 1, "phenomhmampphas": 1, "fastfdrespons": 1, "lisatdirespons": 1, "heterodynedlikelihood": 1, "constant": [1, 2], "lisatool": 1, "sensit": 1, "get_sensit": 1, "random": 1, "seed": 1, "111222": 1, "No": 1, "first": [1, 7], "how": 1, "full": [1, 2], "detect": 1, "look": 1, "1708": 1, "00404": 1, "1508": 1, "07253": 1, "07250": 1, "put": 1, "separ": 1, "wave_gen": 1, "amp_phase_kwarg": 1, "dict": [1, 7], "run_phenomd": 1, "f_ref": 1, "let": 1, "phenom": 1, "fmax": 1, "max": 1, "f": [1, 5], "2a": 1, "phi_ref": 1, "phase": [1, 5, 7], "m1": [1, 7], "1e6": 1, "m2": [1, 7], "5e5": 1, "a1": 1, "a2": 1, "dist": 1, "18e3": 1, "pc_si": [1, 3, 7], "3e3": 1, "mpc": 1, "inc": [1, 7], "pi": [1, 3, 7], "beta": [1, 7], "eclipt": [1, 7], "latitud": [1, 7], "lam": [1, 7], "5": 1, "longitud": [1, 7], "psi": [1, 7], "polar": [1, 7], "angl": [1, 7], "t_ref": 1, "yrsid_si": [1, 3, 7], "frequenc": [1, 2, 5, 7], "freq_new": 1, "logspac": 1, "10000": 1, "wave": 1, "freq": 1, "direct": [1, 2], "squeez": 1, "length": 1, "1024": 1, "enumer": 1, "A": [1, 5], "e": [1, 5], "t": [1, 5, 7], "loglog": 1, "ab": 1, "label": 1, "legend": 1, "xlabel": 1, "hz": 1, "ylabel": 1, "r": 1, "tild": [1, 5], "text": 1, "39": 1, "move": 1, "signal": 1, "back": 1, "merger": 1, "t_obs_end": 1, "far": 1, "start": [1, 7], "t_obs_start": 1, "With": 1, "valu": [1, 7], "rel": 1, "so": 1, "mean": 1, "year": [1, 7], "befor": 1, "coalesc": 1, "chop": 1, "abrubtli": 1, "lose": 1, "power": 1, "case": [1, 7], "becaus": [1, 7], "differ": 1, "harmon": 1, "turn": 1, "off": 1, "abruptli": 1, "one": 1, "month": 1, "12": 1, "hour": 1, "3600": 1, "base": 1, "system": [1, 5, 7], "examin": 1, "75": 1, "onli": [1, 7], "an": [1, 7], "earli": 1, "low": 1, "portion": 1, "observ": [1, 5], "begin": 1, "after": 1, "user": [1, 7], "ha": [1, 7], "over": 1, "7": [1, 3, 7], "too": 1, "small": 1, "128": 1, "wave1": 1, "16384": 1, "wave2": 1, "fig": 1, "ax": 1, "subplot": 1, "subplots_adjust": 1, "wspace": 1, "set_ylabel": 1, "set_xlabel": 1, "most": 1, "reason": 1, "fine": 1, "usual": 1, "conserv": 1, "slightli": 1, "affect": 1, "compress": 1, "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, "dot": 1, "conj": 1, "rang": 1, "den1": 1, "den2": 1, "overlap": 1, "sqrt": 1, "real": 1, "initi": [1, 7], "between": 1, "10": [1, 7], "evalu": 1, "stretch": 1, "outsid": 1, "limit": 1, "those": 1, "given": [1, 7], "combin": 1, "keep": 1, "amp_phase_gen": 1, "xlim": 1, "1e": 1, "ylim": 1, "27": 1, "14": 1, "receiv": 1, "error": 1, "indic": [1, 7], "l": 1, "model": [1, 2], "11": [1, 3, 7], "fref": 1, "4e5": 1, "1e5": 1, "1e3": 1, "solid": 1, "dash": 1, "bin": 1, "allow": 1, "stream": [1, 5], "abov": 1, "howev": 1, "give": [1, 5], "two": 1, "return": [1, 7], "special": 1, "templat": 1, "shorten": 1, "where": [1, 5, 7], "non": 1, "zero": [1, 7], "which": [1, 7], "its": [1, 7], "13": 1, "start_ind": 1, "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, "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, "sourc": [1, 7], "scale": 1, "distanc": 1, "use_gpu": 1, "16": [1, 3, 7], "get": [1, 7], "quantiti": 1, "freqs_shap": 1, "shape": [1, 7], "num_bin_al": [1, 7], "amp": 1, "num_mod": 1, "tf": 1, "amplitud": [1, 5], "17": 1, "characterist": 1, "strain": 1, "lt": 1, "0x7ffe90dcbc90": 1, "gt": 1, "larg": 1, "amount": 1, "were": 1, "thank": 1, "him": 1, "work": [1, 7], "appli": [1, 7], "effect": 1, "transfer": [1, 5], "mathcal": [1, 5], "tdi": [1, 2], "channel": 1, "aet": [1, 5], "correspond": [1, 5], "determin": [1, 7], "constel": [1, 7], "orbit": 1, "arm": 1, "oper": 1, "come": 1, "run": [1, 7], "vector": 1, "insid": 1, "happen": 1, "adjust_phas": 1, "just": 1, "itself": 1, "1d": 1, "well": 1, "total": [1, 7], "per": 1, "last": 1, "copi": 1, "index": [1, 7], "transferl1": 1, "getattr": 1, "transferl": 1, "semilogx": 1, "color": 1, "imag": 1, "tile": 1, "none": [1, 7], "input": [1, 7], "same": [1, 5], "phase_diff": 1, "larger": 1, "buffer": 1, "object": [1, 7], "would": 1, "carri": 1, "flatten": 1, "len": 1, "buffer_shap": 1, "out_buff": 1, "reshap": 1, "transferl1r": 1, "transferl1im": 1, "transferl2r": 1, "transferl2im": 1, "transferl3r": 1, "transferl3im": 1, "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, "frac": 1, "langl": 1, "d": 1, "rangl": 1, "left": 1, "right": 1, "b": 1, "nois": 1, "weight": 1, "inner": 1, "product": 1, "domain": [1, 2, 5], "re": 1, "int_0": 1, "infti": 1, "s_n": 1, "df": 1, "side": 1, "spectral": 1, "densiti": 1, "One": 1, "likeihood": 1, "curv": 1, "otherwis": 1, "ones": 1, "t_ob": 1, "dt": 1, "int": 1, "data_freq": 1, "fft": 1, "rfftfreq": 1, "dc": 1, "waveform_kwarg": 1, "data_channel": 1, "psd_a": 1, "sens_fn": 1, "noisepsd_a": 1, "psd_e": 1, "psd_t": 1, "noisepsd_t": 1, "psd": 1, "param": 1, "num_bin": 1, "params_in": 1, "mass": [1, 7], "test": 1, "randn": 1, "get_ll": 1, "__call__": 1, "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, "occur": 1, "term": 1, "ll_marg": 1, "phase_margin": 1, "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, "column": 1, "second": [1, 7], "snr": 1, "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, "method": [1, 2], "08792": 1, "practic": 1, "along": 1, "spars": [1, 5], "rather": [1, 7], "than": [1, 7], "dens": 1, "accur": 1, "higher": [1, 7], "prior": 1, "residu": 1, "24": 1, "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, 7], "pm": [1, 7], "co": [1, 7], "iota": [1, 7], "inclin": [1, 7], "respect": [1, 7], "coordin": 1, "25": 1, "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": 1, "0933520437673627": 1, "3134690745168953": 1, "ssb_to_lisa": [1, 2, 7], "31558149": [1, 3, 7], "7635457": 1, "49999999999998856": 1, "8000000000000037": 1, "2999999999999905": 1, "inplac": [1, 7], "dimens": [1, 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, 7], "assign": 1, "everi": 1, "in_coord": 1, "access": 1, "properti": 1, "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, "husa2016": 1, "": 1, "p": 1, "rrer": 1, "x": 1, "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, "phenomhm": 2, "phenomd": 2, "fast": 2, "interpol": [2, 5], "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, 7], "adjust": [2, 7], "inspir": 2, "time": [2, 5, 7], "shift_t_limit": 2, "fals": [2, 7], "true": [2, 7], "control": 2, "check": [2, 7], "number": [2, 7], "point": [2, 7], "good": [2, 7], "mode": [2, 7], "content": 2, "take": 2, "arrai": [2, 7], "paramet": [2, 7], "fill": 2, "keyword": [2, 7], "fd": 2, "log": 2, "directli": 2, "against": 2, "fourier": [2, 5], "heterodyn": 2, "ssb": [2, 5, 7], "refer": [2, 7], "frame": [2, 7], "posterior": 2, "sky": [2, 7], "bbhx": [3, 7], "hous": [3, 7], "throughout": [3, 7], "list": [3, 7], "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], "three": 5, "phi": 5, "represent": 5, "solar": [5, 7], "barycent": [5, 7], "_": 5, "lm": 5, "a_": 5, "lisa": [5, 7], "t_": 5, "grid": 5, "final": 5, "step": 5, "data": [5, 7], "sum_": 5, "mainli": 7, "locat": 7, "dure": 7, "mt": 7, "q": 7, "convert": 7, "scalar": 7, "ndarrai": 7, "entri": 7, "type": 7, "tupl": 7, "modulu": 7, "period": 7, "origin": 7, "2pi": 7, "t0": 7, "retard": 7, "center": 7, "depend": 7, "posit": 7, "doubl": 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, "2d": 7, "ndim": 7, "doe": 7, "matter": 7, "sin": 7, "multipli": 7, "kei": 7, "name": 7, "str": 7, "output": 7, "1st": 7, "factor": 7, "longer": 7, "bool": 7, "ensur": 7, "integ": 7, "multipl": 7, "trasnform": 7, "mutlipl": 7, "cosin": 7, "rais": 7, "valueerror": 7, "collect": 7, "contain": 7, "framework": 7, "arg": 7, "kwarg": 7, "ptr": 7, "pointer": 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, "via": 7, "construct": 7}, "objects": {"bbhx.utils": [[7, 0, 0, "-", "citations"], [7, 0, 0, "-", "transform"], [7, 0, 0, "-", "utility"]], "bbhx.utils.transform": [[7, 1, 1, "", "LISA_to_SSB"], [7, 1, 1, "", "SSB_to_LISA"], [7, 1, 1, "", "mT_q"], [7, 1, 1, "", "mbh_sky_mode_transform"], [7, 1, 1, "", "mod2pi"], [7, 1, 1, "", "modpi"], [7, 1, 1, "", "tLfromSSBframe"], [7, 1, 1, "", "tSSBfromLframe"]], "bbhx.utils.utility": [[7, 1, 1, "", "pointer_adjust"], [7, 1, 1, "", "wrapper"]]}, "objtypes": {"0": "py:module", "1": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["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": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "nbsphinx": 4, "sphinx": 57}, "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": {"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"]], "bbhx.utils.citations": [[7, "module-bbhx.utils.citations"]], "bbhx.utils.transform": [[7, "module-bbhx.utils.transform"]], "bbhx.utils.utility": [[7, "module-bbhx.utils.utility"]], "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"]], "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"]], "wrapper() (in module bbhx.utils.utility)": [[7, "bbhx.utils.utility.wrapper"]]}}) \ 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, 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], "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], "5": [0, 1, 2], "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": [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, 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": 1, "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": 1, "psd_e": 1, "psd_t": 1, "noisepsd_t": 1, "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": 1, "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": 1, "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": 1, "0933520437673627": 1, "3134690745168953": 1, "ssb_to_lisa": [1, 2, 7], "31558149": [1, 3, 7], "7635457": 1, "49999999999998856": 1, "8000000000000037": 1, "2999999999999905": 1, "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, 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, "phenomhm": [2, 5, 6], "phenomd": [2, 5], "fast": [2, 4, 5], "interpol": [2, 5, 8], "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], "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, "data": [4, 5, 7], "sum_": 5, "mainli": 7, "locat": 7, "dure": 7, "mt": 7, "q": 7, "convert": 7, "scalar": [5, 6, 7, 8], "ndarrai": [4, 5, 6, 7, 8], "entri": [4, 5, 6, 7], "type": [4, 5, 6, 7, 8], "tupl": [4, 5, 6, 7, 8], "modulu": 7, "period": 7, "origin": 7, "2pi": 7, "t0": 7, "retard": 7, "center": 7, "depend": 7, "posit": 7, "doubl": [4, 5, 7, 8], "awai": 7, "orient": 7, "approxim": 7, "wise": 7, "pe": 7, "eight": 7, "hop": 7, "propos": 7, "idea": 7, "parallel": 7, "temper": 7, "reduc": 7, "2d": [4, 5, 6, 7, 8], "ndim": 7, "doe": [6, 7, 8], "matter": 7, "sin": 7, "multipli": [4, 7], "kei": 7, "name": 7, "str": [6, 7], "output": [5, 7], "1st": 7, "factor": 7, "longer": 7, "bool": [4, 5, 6, 7, 8], "ensur": 7, "integ": 7, "multipl": 7, "trasnform": 7, "mutlipl": 7, "cosin": 7, "rais": [5, 6, 7], "valueerror": [5, 6, 7], "collect": 7, "contain": [2, 6, 7], "framework": 7, "arg": 7, "kwarg": 7, "ptr": 7, "pointer": 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, "via": 7, "construct": 7, "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], "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], "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], "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], "graitat": 4, "frequeci": 4, "exist": 4, "waveform": [4, 6, 7], "less": 4, "gpu": [4, 5, 6, 8], "obj": [4, 5, 6, 7, 8], "should": [4, 6, 8], "complex128": [4, 7], "math": 4, "either": [4, 5, 6, 7], "compuat": 4, "delta": 4, "addit": 4, "likeilihood": 4, "num_param": 4, "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, "analyz": 5, "self": [5, 7], "order": [5, 6], "being": [5, 6], "summat": 5, "chi1z": [5, 8], "chi2z": [5, 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, "fix": 6, "breath": 6, "armlength": 6, "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], "incorrect": 6, "wrap": 7, "fit": 7, "carrier": [7, 8], "interp_contain": 7, "t_start": 7, "t_end": 7, "act": 7, "uniqu": 7, "why": 7, "sec": 7, "y_all": 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, "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}, "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, 1, 1, "", "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, 1, 1, "", "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": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "nbsphinx": 4, "sphinx": 57}, "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"]], "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"]], "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 diff --git a/docs/html/user/like.html b/docs/html/user/like.html index dbe6ce0..f1df12a 100644 --- a/docs/html/user/like.html +++ b/docs/html/user/like.html @@ -17,6 +17,8 @@ + + @@ -49,7 +51,25 @@
        • Available Waveform Models
        • LISA Response Models
        • Likelihood Methods
        • Utility Functions
        • @@ -96,6 +116,208 @@

          Likelihood Methods

          Direct Likelihood Computation

          +
          +
          +class bbhx.likelihood.Likelihood(template_gen, data_freqs, data_channels, psd, use_gpu=False)
          +

          Bases: object

          +

          Fast Base Likelihood Class for MBHBs

          +

          This class computes the graitational wave Likelihood as a direct sum over +frequecy bins. It only sums over the frequencies where the MBHB signal +exists. Therefore, larger mass waveforms are faster because there are less +frequencies. This class computes: +\(\mathcal{L}\propto-1/2\langle d-h|d-h\rangle=-1/2\left(\langle d|d\rangle \langle h|h\rangle - 2\langle d|h\rangle\right)\).

          +

          This class has GPU capability.

          +
          +
          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).

          • +
          • psd (double xp.ndarray) – Power Spectral Density in the noise:math:S_n(f). +2D array of shape: (3, len(data_freqs)). +It is assumed there are 3 channels. psd +should be a numpy (cupy) array if running on the CPU (GPU).

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

          • +
          +
          +
          +
          +
          +use_gpu
          +

          If True, using GPU.

          +
          +
          Type:
          +

          bool

          +
          +
          +
          + +
          +
          +xp
          +

          Either numpy or cupy.

          +
          +
          Type:
          +

          obj

          +
          +
          +
          + +
          +
          +d_d
          +

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

          +
          +
          Type:
          +

          double

          +
          +
          +
          + +
          +
          +data_channels
          +

          Data stream. 1D flattened array +of shape: (3, len(data_freqs)). Note data_channels should +be multiplied by psd before input into this class.

          +
          +
          Type:
          +

          complex128 np.ndarray

          +
          +
          +
          + +
          +
          +data_freqs
          +

          Frequencies for the data stream (1D).

          +
          +
          Type:
          +

          double np.ndarray

          +
          +
          +
          + +
          +
          +data_stream_length
          +

          Length of data.

          +
          +
          Type:
          +

          int

          +
          +
          +
          + +
          +
          +like_gen
          +

          C/CUDA implementation of likelihood compuation.

          +
          +
          Type:
          +

          obj

          +
          +
          +
          + +
          +
          +noise_factors
          +

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

          +
          +
          Type:
          +

          double xp.ndarray

          +
          +
          +
          + +
          +
          +psd
          +

          Power Spectral Density in the noise:math: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

          +
          +
          +
          + +
          +
          +phase_marginalize
          +

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

          +
          +
          Type:
          +

          bool

          +
          +
          +
          + +
          +
          +return_extracted_snr
          +

          Return the snr in addition to the Likeilihood.

          +
          +
          Type:
          +

          bool

          +
          +
          +
          + +
          +
          +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.

          +
          +
          +
          +
          Returns:
          +

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

          +
          +
          Return type:
          +

          np.ndarray

          +
          +
          +
          + +
          +

    diff --git a/docs/html/user/main.html b/docs/html/user/main.html index 2a4ae87..2bea1fb 100644 --- a/docs/html/user/main.html +++ b/docs/html/user/main.html @@ -47,7 +47,26 @@ +
    +
    +class bbhx.waveformbuild.BBHWaveformFD(amp_phase_kwargs={}, response_kwargs={}, interp_kwargs={}, use_gpu=False)
    +

    Bases: object

    +

    Generate waveforms put through response functions

    +

    This class generates waveforms put through the LISA response function. In the +future, ground-based analysis may be added. Therefore, it currently +returns the TDI variables according the response keyword arguments given.

    +

    If you use this class, please cite arXiv:2005.01827 +and arXiv:2111.01064, as well as the papers +listed for the waveform and response given just below.

    +

    Right now, it is hard coded to produce the waveform with +PhenomHMAmpPhase. This can also be used +to produce PhenomD. See the docs for that waveform. The papers describing PhenomHM/PhenomD +waveforms are here: arXiv:1708.00404, +arXiv:1508.07250, and +arXiv:1508.07253.

    +

    The response function is the fast frequency domain response function +from arXiv:1806.10734 and +arXiv:2003.00357. It is implemented in +LISATDIResponse <bbhx.response.fastfdresponse.LISATDIResponse.

    +

    This class is GPU accelerated.

    +
    +
    Parameters:
    +
      +
    • amp_phase_kwargs (dict, optional) – Keyword arguments for the +initialization of the ampltidue-phase waveform class: PhenomHMAmpPhase.

    • +
    • response_kwargs (dict, optional) – Keyword arguments for the initialization +of the response class: LISATDIResponse <bbhx.response.fastfdresponse.LISATDIResponse.

    • +
    • interp_kwargs (dict, optional) – Keyword arguments for the initialization +of the interpolation class: TemplateInterpFD.

    • +
    • use_gpu (bool, optional) – If True, use a GPU. (Default: False)

    • +
    +
    +
    +
    +
    +amp_phase_gen
    +

    Waveform generation class.

    +
    +
    Type:
    +

    obj

    +
    +
    +
    + +
    +
    +data_length
    +

    Length of the final output data.

    +
    +
    Type:
    +

    int

    +
    +
    +
    + +
    +
    +interp_response
    +

    Interpolation class.

    +
    +
    Type:
    +

    obj

    +
    +
    +
    + +
    +
    +length
    +

    Length of initial evaluations of waveform and response.

    +
    +
    Type:
    +

    int

    +
    +
    +
    + +
    +
    +num_bin_all
    +

    Total number of binaries analyzed.

    +
    +
    Type:
    +

    int

    +
    +
    +
    + +
    +
    +num_interp_params
    +

    Number of parameters to interpolate (9).

    +
    +
    Type:
    +

    int

    +
    +
    +
    + +
    +
    +num_modes
    +

    Number of harmonic modes.

    +
    +
    Type:
    +

    int

    +
    +
    +
    + +
    +
    +out_buffer_final
    +

    Array with buffer information with shape: +(self.num_interp_params, self.num_bin_all, self.num_modes, self.length). +The order of the parameters is amplitude, phase, t-f, transferL1re, transferL1im, +transferL2re, transferL2im, transferL3re, transferL3im.

    +
    +
    Type:
    +

    xp.ndarray

    +
    +
    +
    + +
    +
    +response_gen
    +

    Response generation class.

    +
    +
    Type:
    +

    obj

    +
    +
    +
    + +
    +
    +use_gpu
    +

    A GPU is being used if use_gpu==True.

    +
    +
    Type:
    +

    bool

    +
    +
    +
    + +
    +
    +waveform_gen
    +

    Direct summation waveform generation class.

    +
    +
    Type:
    +

    obj

    +
    +
    +
    + +
    +
    +xp
    +

    Either numpy or cupy.

    +
    +
    Type:
    +

    obj

    +
    +
    +
    + +
    +
    +property citation
    +

    Citations for this class

    +
    + +
    +
    +__call__(m1, m2, chi1z, chi2z, distance, phi_ref, f_ref, inc, lam, beta, psi, t_ref, t_obs_start=1.0, t_obs_end=0.0, freqs=None, length=None, modes=None, shift_t_limits=False, direct=False, compress=True, squeeze=False, fill=False, combine=False)
    +

    Generate the binary black hole frequency-domain TDI waveforms

    +
    +
    Parameters:
    +
      +
    • m1 (double scalar or np.ndarray) – Mass 1 in Solar Masses \((m1 > m2)\).

    • +
    • m2 (double or np.ndarray) – Mass 2 in Solar Masses \((m1 > m2)\).

    • +
    • chi1z (double or np.ndarray) – Dimensionless spin 1 (for Mass 1) in Solar Masses.

    • +
    • chi2z (double or np.ndarray) – Dimensionless spin 2 (for Mass 1) in Solar Masses.

    • +
    • distance (double or np.ndarray) – Luminosity distance in m.

    • +
    • phi_ref (double or np.ndarray) – Phase at f_ref.

    • +
    • f_ref (double or np.ndarray) – Reference frequency at which phi_ref and t_ref are set. +If f_ref == 0, it will be set internally by the PhenomHM code +to \(f_\text{max} = \text{max}(f^2A_{22}(f))\).

    • +
    • inc (double or np.ndarray) – Inclination of the binary in radians \((\iota\in[0.0, \pi])\).

    • +
    • lam (double or np.ndarray) – Ecliptic longitude \((\lambda\in[0.0, 2\pi])\).

    • +
    • beta (double or np.ndarray) – Ecliptic latitude \((\beta\in[-\pi/2, \pi/2])\).

    • +
    • psi (double or np.ndarray) – Polarization angle in radians \((\psi\in[0.0, \pi])\).

    • +
    • t_ref (double or np.ndarray) – Reference time in seconds. It is set at f_ref.

    • +
    • t_obs_start (double, optional) – Start time of observation in years +in the LISA constellation reference frame. If shift_t_limits==True, +this is with reference to \(t=0\). If shift_t_limits==False this is +with reference to t_ref and works backwards. So, in this case, +t_obs_start gives how much time back from merger to start the waveform. +(Default: 1.0)

    • +
    • t_obs_end (double, optional) – End time of observation in years in the +LISA constellation reference frame. If +shift_t_limits==True, this is with reference to \(t=0\). +If shift_t_limits==False this is with reference to t_ref +and works backwards. So, in this case, t_obs_end gives how much time +back from merger to start the waveform. If the value is zero, it takes +everything after the merger as well. (Default: 0.0)

    • +
    • freqs (np.ndarray, optional) – Frequencies at which to evaluate the final waveform. +If length is also given, the interpolants interpolate to these +frequencies. If length is not given, the waveform amplitude, phase, +and response will be directly evaluated at these frequencies. In this case, +a 2D np.ndarray can also be provided. (Default: None)

    • +
    • length (int, optional) – Number of frequencies to use in sparse array for +interpolation.

    • +
    • modes (list, optional) – Harmonic modes to use. If not given, they will +default to those available in the waveform model. For PhenomHM: +[(2,2), (3,3), (4,4), (2,1), (3,2), (4,3)]. For PhenomD: [(2,2)]. +(Default: None)

    • +
    • shift_t_limits (bool, optional) – If False, t_obs_start and t_obs_end +are relative to t_ref counting backwards in time. If True, +those quantities are relative to \(t=0\). (Default: False)

    • +
    • direct (bool, optional) – If True, directly compute the waveform without +interpolation. (Default: False)

    • +
    • compress (bool, optional) – If True, combine harmonics into single channel +waveforms. (Default: True)

    • +
    • squeeze (bool, optional) – If True, remove any axes of length 1 from the +final return information. (Default: False)

    • +
    • fill (bool, optional) – If True, fill data streams according to the combine +keyword argument. If ``False, returns information for the fast likelihood functions.

    • +
    • combine (bool, optional) – If True, combine all waveforms into the same output +data stream. (Default: False)

    • +
    +
    +
    Returns:
    +

    +
    Shape (3, self.length, self.num_bin_all).

    Final waveform for each binary. If direct==True and compress==True. +# TODO: switch dimensions?

    +
    +
    xp.ndarray: Shape (3, self.num_modes, self.length, self.num_bin_all).

    Final waveform for each binary. If direct==True and compress==False.

    +
    +
    xp.ndarray: Shape (3, self.data_length).

    Final waveform of all binaries in the same data stream. +If fill==True and combine==True.

    +
    +
    xp.ndarray: Shape (self.num_bin_all, 3, self.data_length).

    Final waveform of all binaries in the same data stream. +If fill==True and combine==False.

    +
    +
    tuple: Information for fast likelihood functions.

    First entry is template_channels property from TemplateInterpFD. +Second entry is start_inds attribute from self.interp_response. +Third entry is lengths attribute from self.interp_response.

    +
    +
    +

    +
    +
    Return type:
    +

    xp.ndarray

    +
    +
    Raises:
    +

    ValueErrorlength and freqs not given. Modes are given but not in a list.

    +
    +
    +
    + +
    + diff --git a/docs/html/user/response.html b/docs/html/user/response.html index 4fd121b..5e8dfa0 100644 --- a/docs/html/user/response.html +++ b/docs/html/user/response.html @@ -48,7 +48,28 @@
  • Full TDI Waveforms
  • Available Waveform Models
  • LISA Response Models
  • Likelihood Methods
  • @@ -96,6 +117,252 @@

    LISA Response Models

    Fast Frequency Domain Response

    +
    +
    +class bbhx.response.fastfdresponse.LISATDIResponse(TDItag='AET', order_fresnel_stencil=0, use_gpu=False)
    +

    Bases: object

    +

    Evaluate the fast frequency domain response function

    +

    The response function is the fast frequency domain response function +from arXiv:1806.10734 and +arXiv:2003.00357. Please cite +these papers if this class is used. This response assumes a fixed, +non-breathing armlength for the LISA constellation.

    +

    This class has GPU capability.

    +
    +
    Parameters:
    +
      +
    • TDItag (str, optional) – TDI channels to generate. Options are "XYZ" and +"AET". If "XYZ" is not given, it will default to "AET". +(Default: "AET")

    • +
    • order_fresnel_stencil (int, optional) – Order of the Fresnel stencil in the +response. Currently, anything above 0 is not implemented. This is left +in for future compatibility. (Default: 0)

    • +
    • use_gpu (bool, optional) – If True, use a GPU. (Default: False)

    • +
    +
    +
    +
    +
    +allowable_modes
    +

    Allowed list of mode tuple pairs (l,m) for +the chosen waveform model.

    +
    +
    Type:
    +

    list

    +
    +
    +
    + +
    +
    +ells_default
    +

    Default values for the l index of the harmonic.

    +
    +
    Type:
    +

    np.ndarray

    +
    +
    +
    + +
    +
    +mms_default
    +

    Default values for the m index of the harmonic.

    +
    +
    Type:
    +

    np.ndarray

    +
    +
    +
    + +
    +
    +includes_amps
    +

    If True, the out_buffer contains the first +entry for amplitudes.

    +
    +
    Type:
    +

    bool

    +
    +
    +
    + +
    +
    +order_fresnel_stencil
    +

    Order of the Fresnel stencil in the +response. Currently, anything above 0 is not implemented. This is left +in for future compatibility.

    +
    +
    Type:
    +

    int

    +
    +
    +
    + +
    +
    +response_gen
    +

    Respones generator in C/C++.

    +
    +
    Type:
    +

    obj

    +
    +
    +
    + +
    +
    +TDItag
    +

    TDI channels to generate. Either "XYZ" or "AET".

    +
    +
    Type:
    +

    str

    +
    +
    +
    + +
    +
    +use_gpu
    +

    A GPU is being used if use_gpu==True.

    +
    +
    Type:
    +

    bool

    +
    +
    +
    + +
    +
    +xp
    +

    Either numpy or cupy.

    +
    +
    Type:
    +

    obj

    +
    +
    +
    + +
    +
    +property citation
    +

    Return citations for this class

    +
    + +
    +
    +property transferL1
    +

    (num_bin_all, num_modes, length)

    +
    +
    Type:
    +

    TransferL1 term in response. Shape

    +
    +
    +
    + +
    +
    +property transferL2
    +

    (num_bin_all, num_modes, length)

    +
    +
    Type:
    +

    TransferL2 term in response. Shape

    +
    +
    +
    + +
    +
    +property transferL3
    +

    (num_bin_all, num_modes, length)

    +
    +
    Type:
    +

    TransferL3 term in response. Shape

    +
    +
    +
    + +
    +
    +property phase
    +

    (num_bin_all, num_modes, length)

    +
    +
    Type:
    +

    Get updated phase info. Shape

    +
    +
    +
    + +
    +
    +property tf
    +

    (num_bin_all, num_modes, length)

    +
    +
    Type:
    +

    Get tf info. Shape

    +
    +
    +
    + +
    +
    +__call__(freqs, inc, lam, beta, psi, phi_ref, length, modes=None, phase=None, tf=None, out_buffer=None, adjust_phase=True)
    +

    Evaluate respones function

    +
    +
    Parameters:
    +
      +
    • freqs (1D or 2D xp.ndarray) – Frequency at which the response is evaluated. +2D shape is (num_bin_all, length). If given as a 1D array, +it should be of length num_bin_all * length.

    • +
    • inc (scalar or 1D xp.ndarray) – Inclination of BBH system in radians.

    • +
    • lam (scalar or 1D xp.ndarray) – Ecliptic longitude in SSB frame in radians.

    • +
    • beta (scalar or 1D xp.ndarray) – Ecliptic latitude in SSB frame in radians.

    • +
    • psi (scalar or 1D xp.ndarray) – Polarization angle of the system in radians.

    • +
    • phi_ref (scalar or 1D xp.ndarray) – Reference phase. Note: +The response function rotates the source by phi_ref. For this reason, +the main waveform functions (e.g. bbhx.waveform.BBHWaveformFD) +provide phi_ref = 0.0 into the source-frame scaled waveform generators +(e.g. bbhx.waveforms.phenomhm.PhenomHMAmpPhase). This allows +the reference phase to be applied here in the response.

    • +
    • length (int) – The length of the individual frequency arrays. This is required +because of the options for putting in 1D arrays into this function. +The length tells the chunk size in a 1D array.

    • +
    • modes (list, optional) – Harmonic modes to use. If not given, they will +default to those available in the waveform model PhenomHM: +[(2,2), (3,3), (4,4), (2,1), (3,2), (4,3)]. (Default: None)

    • +
    • phase (xp.ndarray, optional) – Waveform phase. This is adjusted by the phaseRdelay +quantity in the code. If more than 1D, the shape should be +(num_bin_all, num_modes, length). If 1D, its total length +should be equivalent to num_bin_all * num_modes * length. +If out_buffer is not provided, phase and tf are required.

    • +
    • tf (xp.ndarray, optional) – Waveform time-frequency correspondence. This tells the +response where the LISA constellation is at each frequency. +If more than 1D, the shape should be +(num_bin_all, num_modes, length). If 1D, its total length +should be equivalent to num_bin_all * num_modes * length. +If out_buffer is not provided, phase and tf are required.

    • +
    • out_buffer (xp.ndarray, optional) – 1D array initialized to contain all computations +from the inital waveform and response function. If providing out_buffer, +the response fills it directly. To make this happen easily in GPU/CPU +agnostic manner, out_buffer needs to be a 1D array with length +equivalent to nparams * num_bin_all * num_modes * length. +nparams can be 8 if the buffer does not include the amplitudes +(which are not needed at all for the response computation) or 9 +if it includes the amplitudes. (Default: None)

    • +
    • adjust_phase (bool, optional) – If True adjust the phase array in-place +inside the response code. Note: This only applies when +inputing phase and tf. (Default: True)

    • +
    +
    +
    Raises:
    +

    ValueError – Incorrect dimensions for the arrays.

    +
    +
    +
    + +
    +
    diff --git a/docs/html/user/utils.html b/docs/html/user/utils.html index b9de8c2..d738ce7 100644 --- a/docs/html/user/utils.html +++ b/docs/html/user/utils.html @@ -52,7 +52,33 @@
  • LISA Response Models
  • Likelihood Methods
  • Utility Functions