diff --git a/README.md b/README.md index 40c8a81b..fa53d889 100644 --- a/README.md +++ b/README.md @@ -136,7 +136,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/BlackHolePerturbationToolkit/FastEMRIWaveforms/tags). -Current Version: 1.4.3 +Current Version: 1.4.4 ## Authors diff --git a/docs/doctrees/README.doctree b/docs/doctrees/README.doctree index 3bca4477..04b103a2 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 9fadf287..6637be8b 100644 Binary files a/docs/doctrees/environment.pickle and b/docs/doctrees/environment.pickle differ diff --git a/docs/doctrees/general/docs_main.doctree b/docs/doctrees/general/docs_main.doctree index abc6fbf1..6e745cbd 100644 Binary files a/docs/doctrees/general/docs_main.doctree and b/docs/doctrees/general/docs_main.doctree differ diff --git a/docs/doctrees/index.doctree b/docs/doctrees/index.doctree index 9e883611..7137e694 100644 Binary files a/docs/doctrees/index.doctree and b/docs/doctrees/index.doctree differ diff --git a/docs/doctrees/nbsphinx/tutorial/FastEMRIWaveforms_tutorial.ipynb b/docs/doctrees/nbsphinx/tutorial/FastEMRIWaveforms_tutorial.ipynb index c10ab855..1ce171a1 100644 --- a/docs/doctrees/nbsphinx/tutorial/FastEMRIWaveforms_tutorial.ipynb +++ b/docs/doctrees/nbsphinx/tutorial/FastEMRIWaveforms_tutorial.ipynb @@ -2608,7 +2608,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "If you want to implement a set of ODE equations in C/C++, you can add your function to `src/ode_base.cc`. When you run `python setup install`, the installer will build a full file of ODEs and take care of all of the backend aspects to the integration. **You only have to implement the ODE**. You identify the ODE functions with `__deriv__` decorator. `#define` is then used to give extra necessary information on the function. Options are:\n", + "If you want to implement a set of ODE equations in C/C++, you can add your function to `src/ode_base.cc`. You have to create the file if you have not already. Make sure it is in the `src/` directory. When you run `python setup install`, the installer will build a full file of ODEs and take care of all of the backend aspects to the integration. **You only have to implement the ODE**. You identify the ODE functions with `__deriv__` decorator. `#define` is then used to give extra necessary information on the function. Options are:\n", "\n", "* `#define {waveform function name}_num_add_args {number of added args}`: Number of additional arguments beyond the required arguments. \n", "* `#define {waveform function name}_spinless`: Indicated Schwarzschild background. \n", @@ -2640,18 +2640,22 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "If the ODE is purely analytic, a function will work. Here is an example with the 5PN trajectory:\n", + "If the ODE is purely analytic, a function will work. Here is an example with the 5PN trajectory (see`include/ode_base_example.cc`):\n", "\n", "````\n", "#define pn5_Y\n", "#define pn5_citation1 pn5_citation\n", "__deriv__\n", "void pn5(double* pdot, double* edot, double* Ydot,\n", - " double Omega_phi, double Omega_theta, double Omega_r,\n", + " double* Omega_phi, double* Omega_theta, double* Omega_r,\n", " double epsilon, double a, double p, double e, double Y, double* additional_args)\n", "{\n", " // evaluate ODEs\n", "\n", + " // the frequency variables are pointers!\n", + " double x = Y_to_xI(a, p, e, Y);\n", + " KerrGeoCoordinateFrequencies(Omega_phi, Omega_theta, Omega_r, a, p, e, x);\n", + "\n", "\tint Nv = 10;\n", " int ne = 10;\n", " *pdot = epsilon * dpdt8H_5PNe10 (a, p, e, Y, Nv, ne);\n", @@ -2663,11 +2667,7 @@ "\n", " Nv = 7;\n", " ne = 10;\n", - " *Ydot = -epsilon * dYdt8H_5PNe10 (a, p, e, Y, Nv, ne);\n", - "\n", - " // convert to proper inclination input to fundamental frequencies\n", - " double xI = Y_to_xI(a, p, e, Y);\n", - " KerrGeoCoordinateFrequencies(Omega_phi, Omega_theta, Omega_r, a, p, e, xI);\n", + " *Ydot = epsilon * dYdt8H_5PNe10 (a, p, e, Y, Nv, ne);\n", "\n", "}\n", "````\n", @@ -2689,7 +2689,7 @@ "If your function requires the storage of files or interpolants, you can also build your ODE as a class. In this case, \n", "it must have a constructor, destructor, and method called `deriv_func` with the ODEs.\n", "\n", - "Here is the implementation for the flux driven trajectory:\n", + "Here is the implementation for the flux driven trajectory (see`include/ode_base_example.cc`):\n", "\n", "````\n", "\n", @@ -2713,7 +2713,7 @@ "#define SchwarzEccFlux_file1 FluxNewMinusPNScaled_fixed_y_order.dat\n", "__deriv__\n", "void SchwarzEccFlux::deriv_func(double* pdot, double* edot, double* xdot,\n", - " double Omega_phi, double Omega_theta, double Omega_r,\n", + " double* Omega_phi, double* Omega_theta, double* Omega_r,\n", " double epsilon, double a, double p, double e, double x, double* additional_args)\n", "{\n", " if ((6.0 + 2. * e) > p)\n", @@ -2721,16 +2721,17 @@ " *pdot = 0.0;\n", " *edot = 0.0;\n", " *xdot = 0.0;\n", - "\n", " return;\n", " }\n", + "\n", + " SchwarzschildGeoCoordinateFrequencies(Omega_phi, Omega_r, p, e);\n", + " *Omega_theta = *Omega_phi;\n", + "\n", " double y1 = log((p -2.*e - 2.1));\n", "\n", " // evaluate ODEs, starting with PN contribution, then interpolating over remaining flux contribution\n", "\n", - " SchwarzschildGeoCoordinateFrequencies(Omega_phi, Omega_r, p, e);\n", - "\n", - "\tdouble yPN = pow((Omega_phi),2./3.);\n", + "\tdouble yPN = pow((*Omega_phi),2./3.);\n", "\n", "\tdouble EdotPN = (96 + 292*Power(e,2) + 37*Power(e,4))/(15.*Power(1 - Power(e,2),3.5)) * pow(yPN, 5);\n", "\tdouble LdotPN = (4*(8 + 7*Power(e,2)))/(5.*Power(-1 + Power(e,2),2)) * pow(yPN, 7./2.);\n", @@ -2757,7 +2758,6 @@ " *xdot = 0.0;\n", "}\n", "\n", - "\n", "// When interfacing with cython, it helps to have dealloc function to explicitly call\n", "// rather than the deconstructor\n", "SchwarzEccFlux::~SchwarzEccFlux()\n", @@ -2773,6 +2773,39 @@ "````" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this case, where the functions are implemented in a class, you will have to add the class to the header file: `include/ode_base.hh`. You do not need to add anything to the header file if you are working with functions and not classes. You will need to create this file if you have not already. Make sure it is in the `include/` directory. Here is an example of what is placed in the header file when working with classes (see `include/ode_base_example.hh`):\n", + "\n", + "````\n", + "#include \"Interpolant.h\"\n", + "\n", + "// Used to pass the interpolants to the ODE solver\n", + "struct interp_params{\n", + "\tdouble epsilon;\n", + "\tInterpolant *Edot;\n", + "\tInterpolant *Ldot;\n", + "};\n", + "\n", + "class SchwarzEccFlux{\n", + "public:\n", + " interp_params *interps;\n", + " Interpolant *amp_vec_norm_interp;\n", + " double test;\n", + "\n", + " SchwarzEccFlux(std::string few_dir);\n", + "\n", + " void deriv_func(double* pdot, double* edot, double* Ydot,\n", + " double* Omega_phi, double* Omega_theta, double* Omega_r,\n", + " double epsilon, double a, double p, double e, double Y, double* additional_args);\n", + " ~SchwarzEccFlux();\n", + "};\n", + "\n", + "````" + ] + }, { "cell_type": "markdown", "metadata": {}, diff --git a/docs/doctrees/nbsphinx/tutorial_FastEMRIWaveforms_tutorial_131_1.png b/docs/doctrees/nbsphinx/tutorial_FastEMRIWaveforms_tutorial_131_1.png new file mode 100644 index 00000000..519cd5cd Binary files /dev/null and b/docs/doctrees/nbsphinx/tutorial_FastEMRIWaveforms_tutorial_131_1.png differ diff --git a/docs/doctrees/nbsphinx/tutorial_FastEMRIWaveforms_tutorial_135_1.png b/docs/doctrees/nbsphinx/tutorial_FastEMRIWaveforms_tutorial_135_1.png index 717c800f..cb09503f 100644 Binary files a/docs/doctrees/nbsphinx/tutorial_FastEMRIWaveforms_tutorial_135_1.png and b/docs/doctrees/nbsphinx/tutorial_FastEMRIWaveforms_tutorial_135_1.png differ diff --git a/docs/doctrees/nbsphinx/tutorial_FastEMRIWaveforms_tutorial_138_1.png b/docs/doctrees/nbsphinx/tutorial_FastEMRIWaveforms_tutorial_138_1.png index 5251cd78..536114d9 100644 Binary files a/docs/doctrees/nbsphinx/tutorial_FastEMRIWaveforms_tutorial_138_1.png and b/docs/doctrees/nbsphinx/tutorial_FastEMRIWaveforms_tutorial_138_1.png differ diff --git a/docs/doctrees/nbsphinx/tutorial_FastEMRIWaveforms_tutorial_143_0.png b/docs/doctrees/nbsphinx/tutorial_FastEMRIWaveforms_tutorial_143_0.png new file mode 100644 index 00000000..2e022ea8 Binary files /dev/null and b/docs/doctrees/nbsphinx/tutorial_FastEMRIWaveforms_tutorial_143_0.png differ diff --git a/docs/doctrees/nbsphinx/tutorial_FastEMRIWaveforms_tutorial_147_0.png b/docs/doctrees/nbsphinx/tutorial_FastEMRIWaveforms_tutorial_147_0.png new file mode 100644 index 00000000..142b5487 Binary files /dev/null and b/docs/doctrees/nbsphinx/tutorial_FastEMRIWaveforms_tutorial_147_0.png differ diff --git a/docs/doctrees/nbsphinx/tutorial_FastEMRIWaveforms_tutorial_151_1.png b/docs/doctrees/nbsphinx/tutorial_FastEMRIWaveforms_tutorial_151_1.png index 3710176e..0cef62a7 100644 Binary files a/docs/doctrees/nbsphinx/tutorial_FastEMRIWaveforms_tutorial_151_1.png and b/docs/doctrees/nbsphinx/tutorial_FastEMRIWaveforms_tutorial_151_1.png differ diff --git a/docs/doctrees/nbsphinx/tutorial_FastEMRIWaveforms_tutorial_152_1.png b/docs/doctrees/nbsphinx/tutorial_FastEMRIWaveforms_tutorial_152_1.png new file mode 100644 index 00000000..3710176e Binary files /dev/null and b/docs/doctrees/nbsphinx/tutorial_FastEMRIWaveforms_tutorial_152_1.png differ diff --git a/docs/doctrees/nbsphinx/tutorial_FastEMRIWaveforms_tutorial_154_1.png b/docs/doctrees/nbsphinx/tutorial_FastEMRIWaveforms_tutorial_154_1.png new file mode 100644 index 00000000..537ab14a Binary files /dev/null and b/docs/doctrees/nbsphinx/tutorial_FastEMRIWaveforms_tutorial_154_1.png differ diff --git a/docs/doctrees/tutorial/FastEMRIWaveforms_tutorial.doctree b/docs/doctrees/tutorial/FastEMRIWaveforms_tutorial.doctree index cfcec2ea..3921486e 100644 Binary files a/docs/doctrees/tutorial/FastEMRIWaveforms_tutorial.doctree and b/docs/doctrees/tutorial/FastEMRIWaveforms_tutorial.doctree differ diff --git a/docs/html/README.html b/docs/html/README.html index 7a1a2e5a..782250f3 100644 --- a/docs/html/README.html +++ b/docs/html/README.html @@ -382,7 +382,7 @@

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

-

Current Version: 1.4.3

+

Current Version: 1.4.4

Authors

diff --git a/docs/html/_images/tutorial_FastEMRIWaveforms_tutorial_131_1.png b/docs/html/_images/tutorial_FastEMRIWaveforms_tutorial_131_1.png new file mode 100644 index 00000000..519cd5cd Binary files /dev/null and b/docs/html/_images/tutorial_FastEMRIWaveforms_tutorial_131_1.png differ diff --git a/docs/html/_images/tutorial_FastEMRIWaveforms_tutorial_135_1.png b/docs/html/_images/tutorial_FastEMRIWaveforms_tutorial_135_1.png index 717c800f..cb09503f 100644 Binary files a/docs/html/_images/tutorial_FastEMRIWaveforms_tutorial_135_1.png and b/docs/html/_images/tutorial_FastEMRIWaveforms_tutorial_135_1.png differ diff --git a/docs/html/_images/tutorial_FastEMRIWaveforms_tutorial_138_1.png b/docs/html/_images/tutorial_FastEMRIWaveforms_tutorial_138_1.png index 5251cd78..536114d9 100644 Binary files a/docs/html/_images/tutorial_FastEMRIWaveforms_tutorial_138_1.png and b/docs/html/_images/tutorial_FastEMRIWaveforms_tutorial_138_1.png differ diff --git a/docs/html/_images/tutorial_FastEMRIWaveforms_tutorial_143_0.png b/docs/html/_images/tutorial_FastEMRIWaveforms_tutorial_143_0.png new file mode 100644 index 00000000..2e022ea8 Binary files /dev/null and b/docs/html/_images/tutorial_FastEMRIWaveforms_tutorial_143_0.png differ diff --git a/docs/html/_images/tutorial_FastEMRIWaveforms_tutorial_147_0.png b/docs/html/_images/tutorial_FastEMRIWaveforms_tutorial_147_0.png new file mode 100644 index 00000000..142b5487 Binary files /dev/null and b/docs/html/_images/tutorial_FastEMRIWaveforms_tutorial_147_0.png differ diff --git a/docs/html/_images/tutorial_FastEMRIWaveforms_tutorial_151_1.png b/docs/html/_images/tutorial_FastEMRIWaveforms_tutorial_151_1.png index 3710176e..0cef62a7 100644 Binary files a/docs/html/_images/tutorial_FastEMRIWaveforms_tutorial_151_1.png and b/docs/html/_images/tutorial_FastEMRIWaveforms_tutorial_151_1.png differ diff --git a/docs/html/_images/tutorial_FastEMRIWaveforms_tutorial_152_1.png b/docs/html/_images/tutorial_FastEMRIWaveforms_tutorial_152_1.png new file mode 100644 index 00000000..3710176e Binary files /dev/null and b/docs/html/_images/tutorial_FastEMRIWaveforms_tutorial_152_1.png differ diff --git a/docs/html/_images/tutorial_FastEMRIWaveforms_tutorial_154_1.png b/docs/html/_images/tutorial_FastEMRIWaveforms_tutorial_154_1.png new file mode 100644 index 00000000..537ab14a Binary files /dev/null and b/docs/html/_images/tutorial_FastEMRIWaveforms_tutorial_154_1.png differ diff --git a/docs/html/_sources/README.rst.txt b/docs/html/_sources/README.rst.txt index 0dfad98d..6c69c018 100644 --- a/docs/html/_sources/README.rst.txt +++ b/docs/html/_sources/README.rst.txt @@ -199,7 +199,7 @@ We use `SemVer `__ for versioning. For the versions available, see the `tags on this repository `__. -Current Version: 1.4.3 +Current Version: 1.4.4 Authors ------- diff --git a/docs/html/_sources/general/docs_main.rst.txt b/docs/html/_sources/general/docs_main.rst.txt index 1691d6d7..e10c77b3 100644 --- a/docs/html/_sources/general/docs_main.rst.txt +++ b/docs/html/_sources/general/docs_main.rst.txt @@ -34,6 +34,7 @@ Package TODOs Change Log =========== +- 1.4.4: Bug fix at zero eccentricity. Frequencies back in ODE. Fix for git pull issue with ode_base files. - 1.4.3: Bug fixes for additional arguments in SchEcc waveform base. - 1.4.2: Bug fixes for additional arguments in AAK waveform. - 1.4.1: Bug fixes. diff --git a/docs/html/_sources/tutorial/FastEMRIWaveforms_tutorial.ipynb.txt b/docs/html/_sources/tutorial/FastEMRIWaveforms_tutorial.ipynb.txt index c10ab855..1ce171a1 100644 --- a/docs/html/_sources/tutorial/FastEMRIWaveforms_tutorial.ipynb.txt +++ b/docs/html/_sources/tutorial/FastEMRIWaveforms_tutorial.ipynb.txt @@ -2608,7 +2608,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "If you want to implement a set of ODE equations in C/C++, you can add your function to `src/ode_base.cc`. When you run `python setup install`, the installer will build a full file of ODEs and take care of all of the backend aspects to the integration. **You only have to implement the ODE**. You identify the ODE functions with `__deriv__` decorator. `#define` is then used to give extra necessary information on the function. Options are:\n", + "If you want to implement a set of ODE equations in C/C++, you can add your function to `src/ode_base.cc`. You have to create the file if you have not already. Make sure it is in the `src/` directory. When you run `python setup install`, the installer will build a full file of ODEs and take care of all of the backend aspects to the integration. **You only have to implement the ODE**. You identify the ODE functions with `__deriv__` decorator. `#define` is then used to give extra necessary information on the function. Options are:\n", "\n", "* `#define {waveform function name}_num_add_args {number of added args}`: Number of additional arguments beyond the required arguments. \n", "* `#define {waveform function name}_spinless`: Indicated Schwarzschild background. \n", @@ -2640,18 +2640,22 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "If the ODE is purely analytic, a function will work. Here is an example with the 5PN trajectory:\n", + "If the ODE is purely analytic, a function will work. Here is an example with the 5PN trajectory (see`include/ode_base_example.cc`):\n", "\n", "````\n", "#define pn5_Y\n", "#define pn5_citation1 pn5_citation\n", "__deriv__\n", "void pn5(double* pdot, double* edot, double* Ydot,\n", - " double Omega_phi, double Omega_theta, double Omega_r,\n", + " double* Omega_phi, double* Omega_theta, double* Omega_r,\n", " double epsilon, double a, double p, double e, double Y, double* additional_args)\n", "{\n", " // evaluate ODEs\n", "\n", + " // the frequency variables are pointers!\n", + " double x = Y_to_xI(a, p, e, Y);\n", + " KerrGeoCoordinateFrequencies(Omega_phi, Omega_theta, Omega_r, a, p, e, x);\n", + "\n", "\tint Nv = 10;\n", " int ne = 10;\n", " *pdot = epsilon * dpdt8H_5PNe10 (a, p, e, Y, Nv, ne);\n", @@ -2663,11 +2667,7 @@ "\n", " Nv = 7;\n", " ne = 10;\n", - " *Ydot = -epsilon * dYdt8H_5PNe10 (a, p, e, Y, Nv, ne);\n", - "\n", - " // convert to proper inclination input to fundamental frequencies\n", - " double xI = Y_to_xI(a, p, e, Y);\n", - " KerrGeoCoordinateFrequencies(Omega_phi, Omega_theta, Omega_r, a, p, e, xI);\n", + " *Ydot = epsilon * dYdt8H_5PNe10 (a, p, e, Y, Nv, ne);\n", "\n", "}\n", "````\n", @@ -2689,7 +2689,7 @@ "If your function requires the storage of files or interpolants, you can also build your ODE as a class. In this case, \n", "it must have a constructor, destructor, and method called `deriv_func` with the ODEs.\n", "\n", - "Here is the implementation for the flux driven trajectory:\n", + "Here is the implementation for the flux driven trajectory (see`include/ode_base_example.cc`):\n", "\n", "````\n", "\n", @@ -2713,7 +2713,7 @@ "#define SchwarzEccFlux_file1 FluxNewMinusPNScaled_fixed_y_order.dat\n", "__deriv__\n", "void SchwarzEccFlux::deriv_func(double* pdot, double* edot, double* xdot,\n", - " double Omega_phi, double Omega_theta, double Omega_r,\n", + " double* Omega_phi, double* Omega_theta, double* Omega_r,\n", " double epsilon, double a, double p, double e, double x, double* additional_args)\n", "{\n", " if ((6.0 + 2. * e) > p)\n", @@ -2721,16 +2721,17 @@ " *pdot = 0.0;\n", " *edot = 0.0;\n", " *xdot = 0.0;\n", - "\n", " return;\n", " }\n", + "\n", + " SchwarzschildGeoCoordinateFrequencies(Omega_phi, Omega_r, p, e);\n", + " *Omega_theta = *Omega_phi;\n", + "\n", " double y1 = log((p -2.*e - 2.1));\n", "\n", " // evaluate ODEs, starting with PN contribution, then interpolating over remaining flux contribution\n", "\n", - " SchwarzschildGeoCoordinateFrequencies(Omega_phi, Omega_r, p, e);\n", - "\n", - "\tdouble yPN = pow((Omega_phi),2./3.);\n", + "\tdouble yPN = pow((*Omega_phi),2./3.);\n", "\n", "\tdouble EdotPN = (96 + 292*Power(e,2) + 37*Power(e,4))/(15.*Power(1 - Power(e,2),3.5)) * pow(yPN, 5);\n", "\tdouble LdotPN = (4*(8 + 7*Power(e,2)))/(5.*Power(-1 + Power(e,2),2)) * pow(yPN, 7./2.);\n", @@ -2757,7 +2758,6 @@ " *xdot = 0.0;\n", "}\n", "\n", - "\n", "// When interfacing with cython, it helps to have dealloc function to explicitly call\n", "// rather than the deconstructor\n", "SchwarzEccFlux::~SchwarzEccFlux()\n", @@ -2773,6 +2773,39 @@ "````" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this case, where the functions are implemented in a class, you will have to add the class to the header file: `include/ode_base.hh`. You do not need to add anything to the header file if you are working with functions and not classes. You will need to create this file if you have not already. Make sure it is in the `include/` directory. Here is an example of what is placed in the header file when working with classes (see `include/ode_base_example.hh`):\n", + "\n", + "````\n", + "#include \"Interpolant.h\"\n", + "\n", + "// Used to pass the interpolants to the ODE solver\n", + "struct interp_params{\n", + "\tdouble epsilon;\n", + "\tInterpolant *Edot;\n", + "\tInterpolant *Ldot;\n", + "};\n", + "\n", + "class SchwarzEccFlux{\n", + "public:\n", + " interp_params *interps;\n", + " Interpolant *amp_vec_norm_interp;\n", + " double test;\n", + "\n", + " SchwarzEccFlux(std::string few_dir);\n", + "\n", + " void deriv_func(double* pdot, double* edot, double* Ydot,\n", + " double* Omega_phi, double* Omega_theta, double* Omega_r,\n", + " double epsilon, double a, double p, double e, double Y, double* additional_args);\n", + " ~SchwarzEccFlux();\n", + "};\n", + "\n", + "````" + ] + }, { "cell_type": "markdown", "metadata": {}, diff --git a/docs/html/general/docs_main.html b/docs/html/general/docs_main.html index ddad8707..f7add5fb 100644 --- a/docs/html/general/docs_main.html +++ b/docs/html/general/docs_main.html @@ -238,6 +238,7 @@

Package TODOs

Change Log

    +
  • 1.4.4: Bug fix at zero eccentricity. Frequencies back in ODE. Fix for git pull issue with ode_base files.

  • 1.4.3: Bug fixes for additional arguments in SchEcc waveform base.

  • 1.4.2: Bug fixes for additional arguments in AAK waveform.

  • 1.4.1: Bug fixes.

  • diff --git a/docs/html/index.html b/docs/html/index.html index 74a154a3..950024e6 100644 --- a/docs/html/index.html +++ b/docs/html/index.html @@ -390,7 +390,7 @@

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

    -

    Current Version: 1.4.3

    +

    Current Version: 1.4.4

Authors

diff --git a/docs/html/searchindex.js b/docs/html/searchindex.js index 0db419ae..fa07228a 100644 --- a/docs/html/searchindex.js +++ b/docs/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["README","general/docs_main","index","tutorial/FastEMRIWaveforms_tutorial","user/amp","user/cite","user/main","user/pointer","user/sum","user/traj","user/util"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":1,nbsphinx:3,sphinx:56},filenames:["README.rst","general/docs_main.rst","index.rst","tutorial/FastEMRIWaveforms_tutorial.ipynb","user/amp.rst","user/cite.rst","user/main.rst","user/pointer.rst","user/sum.rst","user/traj.rst","user/util.rst"],objects:{"few.amplitude":{interp2dcubicspline:[4,0,0,"-"],romannet:[4,0,0,"-"]},"few.amplitude.interp2dcubicspline":{Interp2DAmplitude:[4,1,1,""]},"few.amplitude.interp2dcubicspline.Interp2DAmplitude":{__call__:[4,2,1,""],adjust_gpu_usage:[4,2,1,""],amplitude_generator:[4,3,1,""],attributes_Interp2DAmplitude:[4,2,1,""],attributes_ParallelModuleBase:[4,2,1,""],attributes_SchwarzschildEccentric:[4,2,1,""],background:[4,3,1,""],citation:[4,2,1,""],descriptor:[4,3,1,""],get_amplitudes:[4,2,1,""],gpu_capability:[4,2,1,""],index_map:[4,3,1,""],inverse_lm:[4,3,1,""],lmn_indices:[4,3,1,""],m0mask:[4,3,1,""],m0sort:[4,3,1,""],m_zero_up_mask:[4,3,1,""],ndim:[4,3,1,""],num_m0:[4,3,1,""],num_m_1_up:[4,3,1,""],num_m_zero_up:[4,3,1,""],sanity_check_gpu:[4,2,1,""],sanity_check_init:[4,2,1,""],sanity_check_traj:[4,2,1,""],sanity_check_viewing_angles:[4,2,1,""],special_index_map:[4,3,1,""],use_gpu:[4,3,1,""],xp:[4,3,1,""]},"few.amplitude.romannet":{RomanAmplitude:[4,1,1,""]},"few.amplitude.romannet.RomanAmplitude":{__call__:[4,2,1,""],adjust_gpu_usage:[4,2,1,""],attributes_ParallelModuleBase:[4,2,1,""],attributes_RomanAmplitude:[4,2,1,""],attributes_SchwarzschildEccentric:[4,2,1,""],background:[4,3,1,""],bias:[4,3,1,""],break_index:[4,3,1,""],citation:[4,2,1,""],descriptor:[4,3,1,""],dim1:[4,3,1,""],dim2:[4,3,1,""],few_dir:[4,3,1,""],get_amplitudes:[4,2,1,""],gpu_capability:[4,2,1,""],index_map:[4,3,1,""],inverse_lm:[4,3,1,""],lmn_indices:[4,3,1,""],m0mask:[4,3,1,""],m0sort:[4,3,1,""],m_zero_up_mask:[4,3,1,""],max_init_len:[4,3,1,""],max_num:[4,3,1,""],ndim:[4,3,1,""],neural_layer:[4,3,1,""],num_layers:[4,3,1,""],num_m0:[4,3,1,""],num_m_1_up:[4,3,1,""],num_m_zero_up:[4,3,1,""],num_teuk_modes:[4,3,1,""],run_relu_arr:[4,3,1,""],sanity_check_gpu:[4,2,1,""],sanity_check_init:[4,2,1,""],sanity_check_traj:[4,2,1,""],sanity_check_viewing_angles:[4,2,1,""],special_index_map:[4,3,1,""],temp_mats:[4,3,1,""],transform_factor_inv:[4,3,1,""],transform_matrix:[4,3,1,""],transform_output:[4,3,1,""],use_gpu:[4,3,1,"id0"],weights:[4,3,1,""],xp:[4,3,1,""]},"few.summation":{aakwave:[8,0,0,"-"],directmodesum:[8,0,0,"-"],interpolatedmodesum:[8,0,0,"-"]},"few.summation.aakwave":{AAKSummation:[8,1,1,""]},"few.summation.aakwave.AAKSummation":{__call__:[8,2,1,""],adjust_gpu_usage:[8,2,1,""],attributes_AmplitudeAAK:[8,2,1,""],attributes_ParallelModuleBase:[8,2,1,""],attributes_Pn5AAK:[8,2,1,""],attributes_SummationBase:[8,2,1,""],background:[8,3,1,""],citation:[8,2,1,""],descriptor:[8,3,1,""],gpu_capability:[8,3,1,""],needs_Y:[8,3,1,""],sanity_check_angles:[8,2,1,""],sanity_check_gpu:[8,2,1,""],sanity_check_init:[8,2,1,""],sanity_check_traj:[8,2,1,""],spline:[8,3,1,""],sum:[8,2,1,""],use_gpu:[8,3,1,""],waveform:[8,3,1,""],waveform_generator:[8,3,1,""],xp:[8,3,1,"id0"]},"few.summation.directmodesum":{DirectModeSum:[8,1,1,""]},"few.summation.directmodesum.DirectModeSum":{__call__:[8,2,1,""],adjust_gpu_usage:[8,2,1,""],attributes_ParallelModuleBase:[8,2,1,""],attributes_SchwarzschildEccentric:[8,2,1,""],attributes_SummationBase:[8,2,1,""],background:[8,3,1,""],citation:[8,2,1,""],descriptor:[8,3,1,""],gpu_capability:[8,2,1,""],index_map:[8,3,1,""],inverse_lm:[8,3,1,""],lmn_indices:[8,3,1,""],m0mask:[8,3,1,""],m0sort:[8,3,1,""],m_zero_up_mask:[8,3,1,""],ndim:[8,3,1,""],num_m0:[8,3,1,""],num_m_1_up:[8,3,1,""],num_m_zero_up:[8,3,1,""],sanity_check_gpu:[8,2,1,""],sanity_check_init:[8,2,1,""],sanity_check_traj:[8,2,1,""],sanity_check_viewing_angles:[8,2,1,""],special_index_map:[8,3,1,""],sum:[8,2,1,""],use_gpu:[8,3,1,""],waveform:[8,3,1,""],xp:[8,3,1,""]},"few.summation.interpolatedmodesum":{CubicSplineInterpolant:[8,1,1,""],InterpolatedModeSum:[8,1,1,""]},"few.summation.interpolatedmodesum.CubicSplineInterpolant":{__call__:[8,2,1,""],adjust_gpu_usage:[8,2,1,""],attributes_CubicSplineInterpolate:[8,2,1,""],attributes_ParallelModuleBase:[8,2,1,""],c1:[8,2,1,""],c2:[8,2,1,""],c3:[8,2,1,""],citation:[8,2,1,""],gpu_capability:[8,2,1,""],interp_array:[8,3,1,""],interpolate_arrays:[8,3,1,""],sanity_check_gpu:[8,2,1,""],use_gpu:[8,3,1,""],xp:[8,3,1,""],y:[8,2,1,""]},"few.summation.interpolatedmodesum.InterpolatedModeSum":{__call__:[8,2,1,""],adjust_gpu_usage:[8,2,1,""],attributes_InterpolatedModeSum:[8,2,1,""],attributes_ParallelModuleBase:[8,2,1,""],attributes_SchwarzschildEccentric:[8,2,1,""],attributes_SummationBase:[8,2,1,""],background:[8,3,1,""],citation:[8,2,1,""],descriptor:[8,3,1,""],get_waveform:[8,3,1,""],gpu_capability:[8,2,1,""],index_map:[8,3,1,""],inverse_lm:[8,3,1,""],lmn_indices:[8,3,1,""],m0mask:[8,3,1,""],m0sort:[8,3,1,""],m_zero_up_mask:[8,3,1,""],ndim:[8,3,1,""],num_m0:[8,3,1,""],num_m_1_up:[8,3,1,""],num_m_zero_up:[8,3,1,""],sanity_check_gpu:[8,2,1,""],sanity_check_init:[8,2,1,""],sanity_check_traj:[8,2,1,""],sanity_check_viewing_angles:[8,2,1,""],special_index_map:[8,3,1,""],sum:[8,2,1,""],use_gpu:[8,3,1,""],waveform:[8,3,1,""],xp:[8,3,1,""]},"few.trajectory":{inspiral:[9,0,0,"-"]},"few.trajectory.inspiral":{EMRIInspiral:[9,1,1,""]},"few.trajectory.inspiral.EMRIInspiral":{__call__:[9,2,1,""],attributes_EMRIInspiral:[9,2,1,""],background:[9,3,1,""],circular:[9,3,1,""],citation:[9,2,1,""],citations:[9,3,1,""],convert_Y:[9,3,1,""],enforce_schwarz_sep:[9,3,1,""],equatorial:[9,3,1,""],files:[9,3,1,""],func:[9,3,1,""],get_inspiral:[9,2,1,""],inspiral_generator:[9,3,1,"id0"],num_add_args:[9,3,1,""],specific_kwarg_keys:[9,3,1,"id1"]},"few.utils":{citations:[5,0,0,"-"],modeselector:[10,0,0,"-"],utility:[10,0,0,"-"],ylm:[10,0,0,"-"]},"few.utils.baseclasses":{ParallelModuleBase:[6,1,1,""],Pn5AAK:[6,1,1,""],SchwarzschildEccentric:[6,1,1,""],SummationBase:[8,1,1,""],TrajectoryBase:[9,1,1,""]},"few.utils.baseclasses.ParallelModuleBase":{__call__:[6,2,1,""],adjust_gpu_usage:[6,2,1,""],attributes_ParallelModuleBase:[6,2,1,""],citation:[6,2,1,""],gpu_capability:[6,3,1,""],sanity_check_gpu:[6,2,1,""],use_gpu:[6,3,1,""],xp:[6,3,1,""]},"few.utils.baseclasses.Pn5AAK":{attributes_Pn5AAK:[6,2,1,""],background:[6,3,1,""],citation:[6,2,1,""],descriptor:[6,3,1,""],needs_Y:[6,3,1,""],sanity_check_angles:[6,2,1,""],sanity_check_init:[6,2,1,""],sanity_check_traj:[6,2,1,""],xp:[6,3,1,""]},"few.utils.baseclasses.SchwarzschildEccentric":{__call__:[6,2,1,""],adjust_gpu_usage:[6,2,1,""],attributes_ParallelModuleBase:[6,2,1,""],attributes_SchwarzschildEccentric:[6,2,1,""],background:[6,3,1,""],citation:[6,2,1,""],descriptor:[6,3,1,""],gpu_capability:[6,2,1,""],index_map:[6,3,1,""],inverse_lm:[6,3,1,""],lmn_indices:[6,3,1,""],m0mask:[6,3,1,""],m0sort:[6,3,1,""],m_zero_up_mask:[6,3,1,""],ndim:[6,3,1,""],num_m0:[6,3,1,""],num_m_1_up:[6,3,1,""],num_m_zero_up:[6,3,1,""],sanity_check_gpu:[6,2,1,""],sanity_check_init:[6,2,1,""],sanity_check_traj:[6,2,1,""],sanity_check_viewing_angles:[6,2,1,""],special_index_map:[6,3,1,""],use_gpu:[6,3,1,""],xp:[6,3,1,""]},"few.utils.baseclasses.SummationBase":{__call__:[8,2,1,""],attributes_SummationBase:[8,2,1,""],citation:[8,2,1,""],sum:[8,2,1,""],waveform:[8,3,1,""]},"few.utils.baseclasses.TrajectoryBase":{__call__:[9,2,1,""],citation:[9,2,1,""],get_inspiral:[9,2,1,""]},"few.utils.modeselector":{ModeSelector:[10,1,1,""]},"few.utils.modeselector.ModeSelector":{__call__:[10,2,1,""],adjust_gpu_usage:[10,2,1,""],attributes_ModeSelector:[10,2,1,""],attributes_ParallelModuleBase:[10,2,1,""],citation:[10,2,1,""],gpu_capability:[10,2,1,""],num_m0:[10,3,1,""],num_m_1_up:[10,3,1,""],num_m_zero_up:[10,3,1,""],sanity_check_gpu:[10,2,1,""],sensitivity_fn:[10,3,1,""],use_gpu:[10,3,1,""],xp:[10,3,1,"id0"]},"few.utils.utility":{Y_to_xI:[10,4,1,""],check_for_file_download:[10,4,1,""],cuda_set_device:[10,4,1,""],get_at_t:[10,4,1,""],get_fundamental_frequencies:[10,4,1,""],get_kerr_geo_constants_of_motion:[10,4,1,""],get_mismatch:[10,4,1,""],get_mu_at_t:[10,4,1,""],get_ode_function_options:[10,4,1,""],get_overlap:[10,4,1,""],get_p_at_t:[10,4,1,""],get_separatrix:[10,4,1,""],omp_get_num_threads:[10,4,1,""],omp_set_num_threads:[10,4,1,""],p_to_y:[10,4,1,""],pointer_adjust:[10,4,1,""],wrapper:[10,4,1,""],xI_to_Y:[10,4,1,""]},"few.utils.ylm":{GetYlms:[10,1,1,""]},"few.utils.ylm.GetYlms":{__call__:[10,2,1,""],adjust_gpu_usage:[10,2,1,""],attributes_GetYlms:[10,2,1,""],attributes_ParallelModuleBase:[10,2,1,""],citation:[10,2,1,""],gpu_capability:[10,2,1,""],sanity_check_gpu:[10,2,1,""],use_gpu:[10,3,1,""],xp:[10,3,1,"id1"]},"few.waveform":{AAKWaveformBase:[6,1,1,""],FastSchwarzschildEccentricFlux:[6,1,1,""],GenerateEMRIWaveform:[6,1,1,""],Pn5AAKWaveform:[6,1,1,""],SchwarzschildEccentricWaveformBase:[6,1,1,""],SlowSchwarzschildEccentricFlux:[6,1,1,""]},"few.waveform.AAKWaveformBase":{__call__:[6,2,1,""],adjust_gpu_usage:[6,2,1,""],attributes_AAKWaveform:[6,2,1,""],attributes_ParallelModuleBase:[6,2,1,""],attributes_Pn5AAK:[6,2,1,""],background:[6,3,1,""],citation:[6,2,1,""],create_waveform:[6,3,1,""],descriptor:[6,3,1,""],gpu_capability:[6,2,1,""],inspiral_generator:[6,3,1,""],inspiral_kwargs:[6,3,1,""],needs_Y:[6,3,1,""],sanity_check_angles:[6,2,1,""],sanity_check_gpu:[6,2,1,""],sanity_check_init:[6,2,1,""],sanity_check_traj:[6,2,1,""],use_gpu:[6,3,1,""],xp:[6,3,1,"id23"]},"few.waveform.FastSchwarzschildEccentricFlux":{__call__:[6,2,1,""],adjust_gpu_usage:[6,2,1,""],allow_batching:[6,3,1,""],amplitude_generator:[6,3,1,""],attributes_FastSchwarzschildEccentricFlux:[6,2,1,""],attributes_ParallelModuleBase:[6,2,1,""],attributes_SchwarzschildEccentric:[6,2,1,""],attributes_SchwarzschildEccentricWaveformBase:[6,2,1,""],background:[6,3,1,""],citation:[6,2,1,""],create_waveform:[6,3,1,""],descriptor:[6,3,1,""],gpu_capability:[6,2,1,"id0"],index_map:[6,3,1,""],inspiral_generator:[6,3,1,""],inverse_lm:[6,3,1,""],lmn_indices:[6,3,1,""],m0mask:[6,3,1,""],m0sort:[6,3,1,""],m_zero_up_mask:[6,3,1,""],mode_selector:[6,3,1,""],ndim:[6,3,1,""],num_m0:[6,3,1,""],num_m_1_up:[6,3,1,""],num_m_zero_up:[6,3,1,""],num_modes_kept:[6,3,1,""],num_teuk_modes:[6,3,1,""],sanity_check_gpu:[6,2,1,""],sanity_check_init:[6,2,1,""],sanity_check_traj:[6,2,1,""],sanity_check_viewing_angles:[6,2,1,""],special_index_map:[6,3,1,""],use_gpu:[6,3,1,""],xp:[6,3,1,"id4"],ylm_gen:[6,3,1,"id3"]},"few.waveform.GenerateEMRIWaveform":{__call__:[6,2,1,""]},"few.waveform.Pn5AAKWaveform":{__call__:[6,2,1,""],adjust_gpu_usage:[6,2,1,""],attributes_AAKWaveform:[6,2,1,""],attributes_ParallelModuleBase:[6,2,1,""],attributes_Pn5AAK:[6,2,1,""],attributes_Pn5AAKWaveform:[6,2,1,""],background:[6,3,1,""],citation:[6,2,1,""],create_waveform:[6,3,1,"id12"],descriptor:[6,3,1,""],gpu_capability:[6,2,1,""],inspiral_generator:[6,3,1,"id11"],inspiral_kwargs:[6,3,1,"id13"],needs_Y:[6,3,1,""],sanity_check_angles:[6,2,1,""],sanity_check_gpu:[6,2,1,""],sanity_check_init:[6,2,1,""],sanity_check_traj:[6,2,1,""],use_gpu:[6,3,1,""],xp:[6,3,1,"id14"]},"few.waveform.SchwarzschildEccentricWaveformBase":{__call__:[6,2,1,""],adjust_gpu_usage:[6,2,1,""],amplitude_generator:[6,3,1,""],attributes_ParallelModuleBase:[6,2,1,""],attributes_SchwarzschildEccentric:[6,2,1,""],attributes_SchwarzschildEccentricWaveformBase:[6,2,1,""],background:[6,3,1,""],citation:[6,2,1,""],create_waveform:[6,3,1,""],descriptor:[6,3,1,""],gpu_capability:[6,2,1,""],index_map:[6,3,1,""],inspiral_generator:[6,3,1,""],inverse_lm:[6,3,1,""],lmn_indices:[6,3,1,""],m0mask:[6,3,1,""],m0sort:[6,3,1,""],m_zero_up_mask:[6,3,1,""],mode_selector:[6,3,1,""],ndim:[6,3,1,""],num_m0:[6,3,1,""],num_m_1_up:[6,3,1,""],num_m_zero_up:[6,3,1,""],num_modes_kept:[6,3,1,""],num_teuk_modes:[6,3,1,""],sanity_check_gpu:[6,2,1,""],sanity_check_init:[6,2,1,""],sanity_check_traj:[6,2,1,""],sanity_check_viewing_angles:[6,2,1,""],special_index_map:[6,3,1,""],use_gpu:[6,3,1,""],xp:[6,3,1,"id17"],ylm_gen:[6,3,1,"id15"]},"few.waveform.SlowSchwarzschildEccentricFlux":{__call__:[6,2,1,""],adjust_gpu_usage:[6,2,1,""],allow_batching:[6,3,1,""],amplitude_generator:[6,3,1,""],attributes_ParallelModuleBase:[6,2,1,""],attributes_SchwarzschildEccentric:[6,2,1,""],attributes_SchwarzschildEccentricWaveformBase:[6,2,1,""],attributes_SlowSchwarzschildEccentricFlux:[6,2,1,""],background:[6,3,1,""],citation:[6,2,1,""],create_waveform:[6,3,1,""],descriptor:[6,3,1,""],gpu_capability:[6,3,1,"id5"],index_map:[6,3,1,""],inspiral_generator:[6,3,1,""],inverse_lm:[6,3,1,""],lmn_indices:[6,3,1,""],m0mask:[6,3,1,""],m0sort:[6,3,1,""],m_zero_up_mask:[6,3,1,""],mode_selector:[6,3,1,""],ndim:[6,3,1,""],num_m0:[6,3,1,""],num_m_1_up:[6,3,1,""],num_m_zero_up:[6,3,1,""],num_modes_kept:[6,3,1,""],num_teuk_modes:[6,3,1,""],sanity_check_gpu:[6,2,1,""],sanity_check_init:[6,2,1,""],sanity_check_traj:[6,2,1,""],sanity_check_viewing_angles:[6,2,1,""],special_index_map:[6,3,1,""],use_gpu:[6,3,1,""],xp:[6,3,1,"id8"],ylm_gen:[6,3,1,"id7"]},few:{amplitude:[4,0,0,"-"],summation:[8,0,0,"-"],trajectory:[9,0,0,"-"],utils:[10,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","attribute","Python attribute"],"4":["py","function","Python function"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method","3":"py:attribute","4":"py:function"},terms:{"00000000e":3,"001":3,"0011803979666251685":[],"0011803979666252795":[],"0011803979666253905":[],"0012120661717398562":3,"0012120732249263355":[],"001212091031457807":[],"001340224043205":[],"0013402240432097":[],"005":3,"01369217100466":[],"01422809e":[],"01600":[],"01731413":3,"01810703":3,"01888732":3,"01965064":3,"01j":3,"02039181":3,"02110469":3,"02178189":3,"02241441":3,"02299122":3,"02349858":3,"024005":[],"02545863":3,"025467504554124":[],"025654709582184":[],"02626744":3,"0264":3,"02700838":3,"02789444":3,"02861065":3,"02958068":3,"03026855":3,"0310125":3,"03133003":3,"03198567":3,"0331469":3,"03376608":3,"03503633":3,"03561442":3,"03700405":3,"03753599":3,"03905666":3,"039423945656564985j":3,"03953685":3,"0412017":3,"04162395":3,"04259":3,"04344785":3,"044005":3,"04582":[0,1,2,3],"04836198716639939":[],"04836198716639961":3,"04836413926836425":[],"04836413926836447":[],"0488073":3,"04990":[],"051102":3,"05491":3,"059790473435857":3,"0607007":[],"06071":[0,1,2,3],"06245":[3,8],"064005":3,"064007":3,"073e03":[],"07609":[3,6],"082005":3,"0948017":[0,2],"09509066":3,"09911687e":3,"0_lmax_10_nmax_30_new":3,"0x1074c8ad0":[],"0x159ec68d0":[],"0x159f94d50":[],"0x15a172d10":[],"0x15a380a90":[],"0x15a7d0d90":[],"0x15faafa90":[],"0x15fac6650":[],"0x1602a12d0":[],"0x1603698d0":[],"0x160c31490":[],"0x7f87f8ea9350":[],"0x7f87f92fd090":[],"0x7f87fc867a10":[],"0x7f881a25a750":[],"0x7f8858200650":[],"0x7f8859e16c10":[],"0x7f895a936550":[],"0x7f895aa90710":[],"0x7f895b045ed0":[],"0x7f895b25a710":[],"0x7f895c848650":[],"0x7f895c848fd0":[],"0x7f8cbbd9d610":[],"0x7f8cbc1b5a90":[],"0x7f8ccbf5a410":[],"0x7f8cce7144d0":[],"0x7f8cddda86d0":[],"0x7f8cddf0ae90":[],"0x7f8d0d678d50":[],"0x7f8d1008ec90":[],"0x7f8dcc2bb490":[],"0x7f8dcc4f09d0":[],"0x7f8dcc522b10":[],"0x7f8de607f790":[],"0x7f8de6781e50":[],"0x7f8de91e7150":[],"0x7f8ec31d1a90":[],"0x7f8ecf884a10":[],"0x7f8ecf9dc290":[],"0x7f8fc5c39510":[],"0x7f8fc5d27e90":[],"0x7f9bbf219990":[],"0x7f9bbf357fd0":[],"0x7f9bc0619910":[],"0x7f9bcbe276d0":[],"0x7f9bd08a8e10":[],"0x7f9c5a4b52d0":[],"0x7f9c5fb6d990":[],"0x7f9cc1c32dd0":[],"0x7f9cc1d32510":[],"0x7f9cc3222bd0":[],"0x7f9cc335b2d0":[],"0x7f9cca681490":[],"0x7f9cd3334490":[],"0x7f9cd3374d50":[],"0x7f9ce01000d0":[],"0x7f9ce8b56b10":[],"0x7f9d4bd3cc10":[],"0x7f9d4f40a9d0":[],"0x7f9d4f6d5d50":[],"0x7f9d4f81de50":[],"0x7f9d4fcde890":[],"0x7f9d59d77750":[],"0x7f9dc5c46350":[],"0x7f9dc5d35710":[],"0x7f9e5931b690":[],"0x7f9e5939db90":[],"0x7f9e5bfbcf10":[],"0x7f9e72ede950":[],"0x7f9e736766d0":[],"0x7f9e760ceb10":[],"0x7fa423f71810":[],"0x7fa4245b8e10":[],"0x7fa42c755f50":[],"0x7fa4313dead0":[],"0x7fa4442a7510":[],"0x7fa46078d250":[],"0x7fa4607c52d0":[],"0x7fa529d0a490":[],"0x7fa53df6bc10":[],"0x7fad5616c810":[],"0x7fad58cabdd0":[],"0x7fad5c3e6a50":[],"0x7fad62e8ea50":[],"0x7fad63045b90":[],"0x7fad64531e50":[],"0x7fad65473b50":[],"0x7fad66de6590":[],"0x7fad68535b90":[],"0x7fad821e8450":[],"0x7fad8268dad0":[],"0x7fae0587bbd0":[],"0x7fae61cf8290":[],"0x7fae61e3e050":[],"0x7fae647ed3d0":[],"0x7fae6626fc10":[],"0x7fae665bbf90":[],"0x7fae6680af50":[],"0x7fae669305d0":[],"0x7fae66d85d10":[],"0x7fae680b4f50":[],"0x7fae7e88b690":[],"0x7fae7f14cc50":[],"0x7fbc1121ce10":[],"0x7fbc112727d0":[],"0x7fbc18392850":[],"0x7fbc1eac00d0":[],"0x7fbc229cc150":[],"0x7fbc7abd9c50":[],"0x7fbcb035b750":[],"0x7fbd13c416d0":[],"0x7fbd13d36b50":[],"0x7fbf65218050":[],"0x7fbf65356bd0":[],"0x7fbf65a13810":[],"0x7fbf7168dd10":[],"0x7fbf757b5c10":[],"0x7fbf964ab410":[],"0x7fbf964d0450":[],"0x7fc067c419d0":[],"0x7fc067d33fd0":[],"0x7fc396add790":[],"0x7fc398e93490":[],"0x7fc39ce29c50":[],"0x7fc3a3665b90":[],"0x7fc3a4c46c50":[],"0x7fc3a68b7550":[],"0x7fc3a7dd1d90":[],"0x7fc4a6a9c7d0":[],"0x7fc4a6d26e10":[],"0x7fc4c0828410":[],"0x7fc4c38f3e50":[],"0x7fc4c417bc10":[],"0x7fd885c22d90":[],"0x7fd886231f90":[],"0x7fd88a45e550":[],"0x7fd88a7ba950":[],"0x7fd8af3afa50":[],"0x7fd8eb243750":[],"0x7fd8eb275810":[],"0x7fd9866bedd0":[],"0x7fd9a4114850":[],"0x7fdb05a40a90":[],"0x7fdb086f7710":[],"0x7fdb0871edd0":[],"0x7fdb157e7f10":[],"0x7fdb1801e290":[],"0x7fdb27759b90":[],"0x7fdb2776ee10":[],"0x7fdc15dc3890":[],"0x7fdc15f09a90":[],"0x7fdc15f84590":[],"0x7fdc166661d0":[],"0x7fdc2d76a750":[],"0x7fde0ef0b710":3,"0x7fde127498d0":3,"0x7fde7dee78d0":3,"0x7fde7e4c0410":3,"0x7fde7e508c10":3,"0x7fde7e85a810":3,"0x7fde83246a10":3,"0x7fdf7eef21d0":3,"0x7fdf821e0050":3,"0x7fdf842a6410":3,"0x7fdf97ef99d0":3,"0x7fdf9853f850":3,"0x7ff33b5af990":[],"0x7ff3414be810":[],"0x7ff360888d10":[],"0x7ff3608acf50":[],"0x7ff360e907d0":[],"0x7ff36d908950":[],"0x7ff43aec5bd0":[],"0x7ff43fee29d0":[],"0x7ff43ffd9e50":[],"0x7ff450266bd0":[],"0x7ff454b7ea90":[],"0x7ffd0384ef50":[],"0x7ffd03aa8ad0":[],"0x7ffd0ab42c50":[],"0x7ffd0f6e3550":[],"0x7ffd22d85650":[],"0x7ffd6a9e9a90":[],"0x7ffd6aa030d0":[],"0x7ffe04414b90":[],"0x7ffe0450d8d0":[],"0xb1b847c90":[],"0xb1be97290":[],"0xb1c028310":[],"0xb2161c2d0":[],"100":[3,6,9],"1000":[3,4,9],"10000":3,"100mb":[0,2],"101":[3,10],"102":3,"105":[],"10520":3,"1088":3,"1093":[],"10mb":[0,2],"1103":3,"11111111":3,"120":3,"12119256904280647":3,"12119256904280648j":3,"122":3,"126":3,"133":[],"135":[],"13554":[3,6],"136":[],"137":[],"138":[],"139":[],"141":[],"1421481":3,"14493312":3,"1505":[],"1510":[3,8],"156":3,"157785":3,"16326464550817543j":3,"16j":3,"1705":3,"1726183986132194e":3,"17261840e":3,"1811":3,"182":[],"188":[],"1899692":3,"1912":[3,6],"1922":3,"196":[],"197":[],"198":3,"1e1":3,"1e12":[],"1e2":3,"1e3":[3,10],"1e4":3,"1e5":3,"1e6":3,"1e7":3,"1st":4,"200":3,"2000":3,"2002":[3,6,10],"2003fp":3,"2004":3,"2006":1,"2006uv":[],"2007":[],"2008":[0,1,2,3,6],"2015":3,"2015mua":3,"2015rpa":[],"2017":3,"2017ujo":3,"2018woh":3,"2019":3,"2019buj":3,"2020":[3,6,10],"2020stf":3,"2020zxe":3,"2021":3,"2021yft":3,"2099116870819398j":3,"2104":[0,1,2,3],"211101":3,"21268793":3,"220":3,"220446049250313e":[],"22222222":3,"232002":3,"2357279936951819":3,"23572799369518194j":3,"23572799369518196j":[],"23854433":3,"23856751e":3,"2429268700601641e":3,"242926870060164e":3,"24292687e":3,"24444444":3,"24669208642519044":3,"2466920864251905j":3,"249":3,"2500":3,"26237401e":3,"263":[],"266":[],"26666667":3,"271":[],"28086888":3,"2853383784425917e":3,"28533838e":3,"28786454":3,"28888889":3,"2897056515173922":3,"292":3,"29972126":3,"2e_0":[4,6,8],"2nd":[3,4],"2z_":1,"30254435033953":3,"30254435170025":[],"304":[],"308998233380155e":[],"308998239264337e":3,"309036390513164e":[],"309036390524266e":[],"3090363905464706e":[],"309036390568675e":[],"3090363905908795e":[],"31083559":3,"31111111":3,"32195073":3,"32222222":3,"33306659":3,"33333333":3,"33792152":3,"3441831":3,"34444444":3,"34863504":3,"35481551090908514j":3,"3553002":3,"35555556":3,"36641781":3,"36666667":3,"3775359":3,"37777778":3,"3843":3,"38865439":3,"38870748":3,"38888889":3,"398":[],"39977325":3,"3m_":[],"400":3,"4005001":3,"405":[],"413":[],"4140204429035754e":3,"4152404":3,"420776":[],"422":[],"42306262975536":[],"42306262975538":[],"42326579011929":[],"425":[],"426":[],"427":[],"44021512":3,"44444444":3,"447":3,"451":3,"452":[],"457":[],"458304662672944e":[],"458304662783966e":[],"45838752716599e":3,"458387527610078e":[],"464362":[],"464363":3,"464369":[],"46692086e":3,"48001664":3,"48887306e":[],"492":[],"49243756":3,"5000":3,"505":[],"506":[],"507":[],"508":[],"509":[],"513":[],"5281":3,"529679786509501":3,"5305654242757605":[],"54235943":3,"54810537e":[],"54815511e":3,"549939628878317":[],"549942327110178":3,"550":[],"551":[],"552":[],"553":[],"554":[],"55555556":3,"56609646e":3,"584":[],"5d7b5c6b6b66":[],"5e1":3,"5pn":[1,2,8,9],"600":[],"6000":3,"60171749":3,"6132":[],"640":3,"65758381":3,"659":[],"66666667":3,"679":[],"69505105":3,"6m_":[],"70948848":3,"71503552":3,"723":[],"725":[],"727":[],"728":[],"73483518":3,"740":3,"75450582":3,"762":[],"768":3,"77394323":3,"77777778":3,"780":[],"783":3,"79322634":3,"804088097128368":3,"81236455":3,"83136527":3,"8502349":3,"85300":3,"85330":[],"85429":[],"86727763":3,"874":3,"881784197001252e":[3,10],"88888889":3,"932708770516795":3,"9327224689881282":[],"9327224766401472":[],"9327224766401473":[],"9327224766403277":[],"9327225389937235":[],"9381":3,"94869805":3,"95009671":3,"95151386":3,"95294475":3,"95438558":3,"95583338":3,"95728578":3,"95874089":3,"96019724":3,"96165365":3,"98131638158063":[],"981316381580632":[],"9868716459940732":[],"997076276775717e":3,"9985244571758316":[],"9986497050904085":3,"999999":3,"abstract":3,"case":[2,9,10],"class":[2,3,4,5,8,9,10],"default":[0,2,3,4,6,8,9,10],"final":[1,3,6,8,9,10],"float":10,"function":[1,2,4,6,8,10],"import":[0,2,3,5,6,9,10],"int":[3,4,6,8,9,10],"long":[3,6,8],"new":[0,1,2,8,10],"public":2,"return":[1,3,4,6,8,9,10],"short":[4,6,8],"switch":4,"true":[3,4,6,8,9,10],"void":3,"while":3,Added:[1,4,8,9],For:[0,1,2,3,4,6],Its:4,ODE:[2,9,10],ODEs:3,One:3,That:[],The:[0,1,2,3,4,6,8,9,10],Then:10,There:[0,2],These:[3,6,9,10],With:3,__call__:[3,4,6,8,9,10],__deriv__:[3,9],__init__:3,__version__:10,_circular:3,_citat:3,_equatori:3,_file:3,_num_add_arg:3,_spinless:3,aak:[1,2],aak_out:3,aak_wav:[],aaksumm:[3,8],aakwav:[3,8],aakwaveformbas:[3,6],abc:[6,8,9],abil:1,about:[3,4],abov:[3,6,8],abs:[3,6,8],absolut:[4,10],acceler:[3,6,8],accept:[3,6,8,10],access:[0,1,2,9],accor:[4,6,8],accord:[6,10],accordingli:[4,10],accur:[0,2,6],accuraci:[3,6,10],across:3,activ:[0,2,4],actual:[3,6,9],add:[0,1,2,3,5,6,8],add_arg:6,added:[0,1,2,3],adding:3,addit:[1,3,6,9],addition:[3,9,10],additional_arg:[3,9],adiabat:[3,4,8],adjust:[1,3,4,6,8,9,10],adjust_gpu_usag:[4,6,8,10],affect:[3,9,10],after:[3,6,8],against:[3,6],agnost:10,aid:1,albeit:10,align:3,all:[0,1,2,3,4,5,6,8,10],allclos:[3,10],alloc:[1,3,6,9],allow:[3,4,6,8,9],allow_batch:[3,6],alon:6,along:[3,6,10],alpha:[3,6],alreadi:3,also:[0,2,3,6,9,10],alvin:[0,2,3],amongst:3,amp2:3,amp:3,amp_norm:[],amp_vec_norm_interp:3,amplitud:[0,1,2,6,8,10],amplitude_gener:[4,6],amplitude_kwarg:[3,6],amplitude_modul:6,amplitudebas:4,amplitudevectornorm:3,anaconda3:3,anaconda:[0,2],analysi:[2,3,6],analyt:[2,6,8],analyz:[3,8,9],angl:[1,3,4,6,8,10],angular:[1,3,4,6,8],ani:[0,2,3,4,6,8,9],anyth:3,append:3,appli:[9,10],approach:[],approx:[],approxim:[3,6,8,9],apt:[],arang:3,arbitrari:6,architectur:1,archiveprefix:3,arg:[3,4,6,8,9,10],argsort:[],argument:[0,1,2,3,4,6,8,9,10],arr:[],arrai:[3,4,6,8,9,10],articl:3,artifici:[3,4],arxiv:[0,1,2,3,6,8],asarrai:3,asd:3,aspect:[3,4,8],assign:3,associ:[1,8,9,10],assum:[0,2,3],assume_positive_m:[3,10],astro:3,attain:3,attent:3,attribut:[3,5,6,10],attributes_aakwaveform:6,attributes_amplitudeaak:8,attributes_cubicsplineinterpol:8,attributes_emriinspir:9,attributes_fastschwarzschildeccentricflux:6,attributes_getylm:10,attributes_gpumodulebas:[],attributes_interp2damplitud:4,attributes_interpolatedmodesum:8,attributes_modeselector:10,attributes_parallelmodulebas:[4,6,8,10],attributes_pn5aak:[6,8],attributes_pn5aakwaveform:6,attributes_romanamplitud:4,attributes_runkerrgenericpn5inspir:[],attributes_runschwarzeccfluxinspir:[],attributes_schwarzschildeccentr:[4,6,8],attributes_schwarzschildeccentricwaveformbas:6,attributes_slowschwarzschildeccentricflux:6,attributes_summationbas:8,attributes_waveformbas:[],aug:3,augment:[2,6,8],author:3,automat:[0,2,6],auxillari:9,avail:[0,2,3,4,6,9,10],availabel:3,averag:[],avoid:[0,2],axes:3,axi:[],azimuth:[1,3,4,6,8,10],babak:[],back:[3,4,6,8],backend:3,background:[3,4,6,8,9],backward:1,bad:3,barack:3,base:[1,2,4,8,9,10],baseclass:[3,4,6,8,9,10],basi:[3,4,6,8],basic:[2,4,6,8],batch:[3,6],batch_siz:[3,6],becaus:[3,6,10],becom:[],been:10,befor:[],begin:[3,8],behavior:3,behind:3,below:[0,1,2,3,4,8,9],benchmark:1,better:[],between:[4,6,8,10],beyond:3,bia:4,bicub:[0,2,4],binari:[0,2],bird:[0,2],black:[0,2,4,6,8,9,10],blackholeperturbationtoolkit:[0,2,3,8],blank:3,blob:8,blow:9,blue:[],bodi:[],bool:[4,6,8,9,10],both:[0,2,3],bottleneck:3,bottom:[],bound:[3,6,8,10],boundari:8,brand:3,break_index:4,brent:10,brentq:10,brew:[],brief:1,broken:[],buffer:[3,4],bug:1,build:[2,6],built:[1,3,6,10],calcul:[1,3,4,6,8,10],calibr:[4,6,8],call:[3,4,6,8,9,10],calul:10,can:[0,1,2,3,6,8,9,10],capabilit:[4,6,8,10],capabl:[0,2,3,4,6,8,10],captur:3,care:[3,10],carri:[3,6],carrier:[],cast:[8,10],categori:[0,2],caus:[],cbla:4,ccbin:[0,1,2],certain:[3,6],chad:3,chang:[2,4,6,8,10],chapman:[0,2],chateaubriand:[0,2],check:[3,4,6,8,10],check_for_file_download:10,child:[6,8,9],choic:[],chosen:[0,2,3,6,8],chosent:6,christian:[0,2],christoph:3,chua:[0,2,3],circular:[3,9],citat:[1,2,3,4,6,8,9,10],cite:[0,2],clang_osx:[0,2],clangxx_osx:[0,2],classmethod:[6,8,9],clone:[0,2],code:[0,1,2,3,6,8,9,10],coeffici:[3,4,8],collabor:3,collect:5,colorbar:3,column:4,com:[0,2,8],combin:[0,2,3,6,8,10],come:[],command:[0,2],common:[3,4,6,8],compact:[3,4,6,8,9],compar:2,compil:[0,2],complet:[1,6],complex128:[4,6,8,10],complex:[1,3,4,6,8,10],compon:3,comput:[0,2,3,4,6,10],concaten:3,concern:6,conda:[0,2,3],condit:8,conduct:[0,2],confirm:[4,6,8,10],conj:3,conjug:3,consider:10,constant:[1,2,8,10],constitu:[3,4,6,8,10],constrain:3,construct:[3,6,10],constructor:[3,9],contact:3,contain:[0,2,3,4,6,8,10],content:3,contour:3,contourf:3,contribut:10,control:6,convers:[1,10],convert:[2,6,8,10],convert_i:[3,9],coordin:[6,8,9,10],coordinate_tim:[],copi:3,core:[],correct:[0,1,2,3],correl:10,correspond:[3,4,8],cos:[3,6,8,9,10],cosin:[1,6,10],cost:10,cours:8,cpu:[0,2,3,4,6,8],creat:[0,1,2,4,6,8,10],create_waveform:6,creation:[3,8,9],cubic:[2,6,8,9],cubicsplin:[8,9],cubicsplineinterpol:[3,8],cubla:4,cuda92:[0,2],cuda:[0,1,2,8,10],cuda_arch:1,cuda_set_devic:[3,10],cudahom:[0,2],cumsum:[],cupi:[0,2,3,4,6,8,10],current:[0,1,2,3],curt:3,curv:[3,10],custom:[3,8],cut:3,cutler:3,cython:[0,2,3,10],dat:3,data:[0,2,3,4,6,10],dataset:10,deal:[1,4,8],dealloc:3,deconstructor:3,decor:[3,9,10],decreas:9,dedt8h_5pne10:3,def:3,defin:[2,9],definit:[6,8],delai:3,delet:3,dens:[2,6,9],dense_sampl:6,dense_step:[3,9],dense_traj:3,densiti:[3,10],depend:[6,10],deriv:[1,3,6,8,9,10],deriv_func:[3,9],deriv_ord:8,describ:[3,6,10],descript:[1,4,6,8],descriptor:[4,6,8],design:10,desir:[2,4,6,9,10],destructor:[3,9],detail:[0,1,2,3,6,9,10],detect:3,detector:[3,6],determin:[3,4,6,8,9,10],dev:10,deviat:[],devic:[1,2,10],dge:[0,2],diagram:[],dict:[3,4,6,8,9,10],dictionari:[3,4,6,8,10],did:3,differ:[3,4,6,8,9,10],dim1:4,dim2:4,dimens:[4,8],dimension:[3,4,6,8],dimensionless:[2,4,6,8,9,10],direct:[1,2,10],direct_mode_sum:3,directli:[3,4,6,8],directmodesum:[3,6,8],directori:[0,2,4,10],discov:[0,2],discuss:[3,6,8,9],dist:[3,6,8],distanc:[1,2,6,8],distribut:[],divd:4,doc:3,document:[0,2,3,4,6,8,9,10],doe:[3,4,6,8,9,10],doi:3,domain:[3,8],done:3,dop853:3,doubl:[3,4,6,8,9,10],down:[3,10],download:[0,2,3,10],dpdt8h_5pne10:3,dpi:3,dps:3,drasco:1,driven:3,dtype:3,due:[3,6],duplic:[3,10],durat:[2,10],dure:[4,6],dydt8h_5pne10:3,dydt:3,e_0:[3,4,6,8],e_al:3,e_out:3,each:[3,4,6,8,9,10],easili:3,eccentr:[1,2,8,9,10],eclipt:[6,8],edg:[3,8,10],edot:[3,9],edotpn:3,effect:6,effici:[3,6,8],egg:3,either:[0,2,4,6,8,9,10],elisa:3,ellip:3,ellipk:3,ellippi1:3,ellippi2:3,ellippi:3,ellipt:3,els:3,embassi:[0,2],emploi:[3,6],empti:10,emri:[1,6,9],emriinspir:[3,9],end:[0,1,2,3,8],enforc:9,enforce_schwarz_sep:[3,9],ensur:3,enter:10,entir:3,entri:[3,4],enumer:3,env:3,environ:[0,2,3],eprint:3,eps:[3,6,10],epsilon:[3,9],equat:[1,3,6],equatori:[3,9,10],equatorti:6,equiv:[3,6,8,10],equival:[1,6],err:9,erratum:[],errno:[],error:[1,6],estim:3,etc:3,eval:3,evalu:[1,3,4,8],even:9,everi:3,everyth:[0,2,3],evolut:[1,3],evolv:[3,6],exact:[6,9],exactli:3,examin:3,exampl:[0,1,2,3,6,8,9,10],except:[3,4],excess:[3,9],exclud:8,execut:3,exihibt:3,exist:[6,10],exit:[0,2],expand:[4,6,8],expect:[4,9],explicitli:3,extra:[3,6],extract:3,extrem:[0,2,3],facil:[0,2],factor:[4,10],fail:9,fall:[0,2],fals:[3,6,8,9,10],fang:[],fast:1,fast_wav:3,fastemriwaveform:[0,2,3,4,8,10],faster:[0,2],fastest:6,fastschwarzschildeccentricflux:[0,1,2,6],fastschwarzschildeccentricpn:3,favorit:3,fed:1,feed:4,fellowship:[0,2],few:[1,3,4,5,6,8,9,10],few_bas:3,few_dir:[3,4,10],few_env:[0,2,3],few_noise_weight:3,fiduci:[],fig:3,figur:4,file:[0,1,2,3,4,9,10],filenotfounderror:[],filer:10,fill:[3,8],filter:[2,6],find:[1,3,10],fine:3,finish:6,first:[0,2,3,4,6,8,9,10],fit:[3,8],fix:[1,3,6],fix_t:[3,9],flatten:[3,4,8],flexibl:[3,4,8,9],float64:3,flux1:[],flux2:[],flux:[1,2,3,9],flux_gener:[],flux_norm:9,fluxnewminuspnscaled_fixed_y_ord:3,folder:[],follow:3,fontsiz:3,forg:[0,2],form:[0,2,3,6],format:3,formul:6,found:[0,1,2,3,6,8,9],foundat:[0,2],four:[0,2,3],fourier:8,foward:4,fraction:[6,10],frame:[2,6],framework:[0,2,3],franc:[0,2],freedom:[1,3,6],frequenc:[1,2,6,8,10],from:[0,1,2,4,6,8,10],front:3,fujita:[0,2,3,6],full:[2,4,6,8],fulli:3,func:[3,8,9,10],functionnam:3,fund_freq_arg:[3,10],fundament:[1,2,6,10],further:[0,2],futur:[4,8],gair:3,gallei:3,gamma:[3,6],gamma_:10,gcc:[0,2],gcc_linux:[0,2],gen_wav:3,gener:[0,1,2,4,10],generateemriwaveform:[3,6],genfromtxt:3,geodes:[1,10],geq0:[4,6,8,10],geq1:[4,6,8,10],geq5:[],get:[9,10],get_amplitud:4,get_at_t:[1,10],get_fundamental_frequ:[3,10],get_inspi:3,get_inspir:[3,9],get_kerr_geo_constants_of_mot:[3,10],get_mismatch:[3,10],get_mu_at_t:[3,10],get_ode_function_lines_nam:[],get_ode_function_opt:[3,9,10],get_overlap:[3,10],get_p_at_t:[3,10],get_separatrix:[3,10],get_waveform:8,getfil:[],getylm:[3,10],git:[0,1,2],github:[0,2,8],give:[3,6,9,10],given:[1,2,6,8,9,10],glampedaki:[],global:[6,10],gnu:[0,2],goe:3,gold:[],good:[3,6,10],gpc:[3,6,8],gpu:[0,1,2,3,4,8,10],gpu_cap:[3,4,6,8,10],gpumodulebas:[],grail:[0,2],grant:[0,2],grav:3,gravit:[1,3],greater:[6,9],grid:4,gsl:[0,2,3,9],gsl_includ:[0,2],gsl_lib:[0,2],guard:3,guid:[],gxx_linu:[0,2],gxx_linux:[0,2],h5py:[0,2],h_p:[3,6],h_x:[3,6,8],hackarmon:10,half:10,handl:[3,6],handler:1,hardwar:[6,8],harmon:[1,2,6,8],has:[3,4,6,8,9,10],have:[0,2,3,4,6,8,9,10],hcross:[6,8],hdf5:[0,2,3],header:[0,2],help:[0,2,3,6,9],here:[0,2,3,6,10],heta:8,high:[0,2,6],higher:9,highli:[0,2],highlight:10,hii:[6,8],histori:1,hold:[3,4,8],hole:[0,2,4,6,8,9,10],hope:8,host:[0,2],hour:[],hous:[3,4,8,9],how:3,howev:[0,2,3,4,6,8,9],hplu:[6,8],http:[0,2,3,6,8],hua:[],hugh:[0,1,2,3,4],identifi:3,ignor:3,ih_c:3,ih_x:1,ihx:6,imag:3,imaginari:[3,4],implement:[1,2,6,8,9],improv:[2,6,10],in_coordinate_tim:[3,9],inclin:[1,3,6,8,10],includ:[0,1,2,3,6,8,9,10],include_minus_m:[3,6],increas:[3,4,10],ind:3,independ:[],index:[3,4,6,8,10],index_map:[4,6,8],index_of_:[3,10],index_of_a:[3,10],index_of_interest:10,index_of_mu:[3,10],index_of_p:[3,10],index_of_x:[3,10],indic:[1,3,4,6,8,9,10],individu:[],inds_keep:[],inds_sort:[],infer:3,info:3,inform:[0,1,2,3,4,6,8,10],inherit:[3,6,8],init:3,init_len:[],initi:[1,3,4,6,8,9],inlin:3,inner:10,input:[3,4,6,8,9,10],insert:10,inspir:[0,1,2,3,6,8,10],inspiral_gener:[6,9],inspiral_kwarg:[3,6],inspiral_modul:6,instal:9,instanti:[3,6,10],instead:1,instruct:[0,2],integ:1,integr:[1,3,9],intel:[],interest:[3,8],interfac:[1,2,4,6,8,9],interferometri:3,interp2damplitud:[3,4,6],interp2dcubicsplin:[3,4,6],interp:3,interp_arrai:[3,8],interp_in2:3,interp_in:3,interp_param:3,interpol:[0,1,2,6,9],interpolat:4,interpolate_arrai:8,interpolate_mode_sum:3,interpolatedmodesum:[3,6,8],interpolatemodesum:3,introduct:6,invers:[4,6,8],inverse_lm:[3,4,6,8],iota0:3,iota:[3,6,8,9,10],iota_0:3,ipython:[0,2],isoyama:[0,2],issu:[0,1,2,9,10],its:[3,9,10],jonathan:3,journal:3,jupyt:[0,2],just:3,katz:[0,2,3],keep:10,keep_mod:3,kei:3,kept:3,kernel:[3,8],kerr:[2,9,10],kerr_separatrix:3,kerrgeoconstantsofmot:1,kerrgeocoordinatefrequ:3,keyword:[3,4,8,9,10],kludg:[2,6,8],knot:8,know:9,kosta:[],kwarg:[3,4,6,8,9,10],kwargs_list:[],l_1:6,l_2:6,l_arr:[3,4,6,8,10],l_in:10,l_z:6,label:3,lapack:[0,1,2],lapack_includ:[0,2],lapack_lib:[0,2],larg:[3,6,10],larger:[0,2,3,6],last:[3,4],latu:[3,4,6,8,9],layer:4,ldc:1,ldot:3,ldotpn:3,leak:1,left:[3,6],legend:3,len:[3,4,8],length:[3,4,8,9,10],leo:3,leor:3,leq0:[4,6,8],leq16:6,leq1:[6,8],leq:[4,6,8],less:6,let:[3,9],lett:3,level:6,leverag:[3,6],lib:[0,2,3],librari:[0,2,3],lie:[],like:[0,2,3,6,9],limit:[1,3,4,6,9,10],line2d:3,line:[0,2,3,9],linear:8,link:[0,2],linspac:3,lisa:3,list:[3,4,6,8,9,10],lmax:[4,6,8],lmkn:[1,3,4],lmn:[3,4,6],lmn_indic:[4,6,8],load_and_interpolate_amp_vec_norm_data:3,load_and_interpolate_flux_data:3,local:[],locat:[1,3,4,6,8],log:[2,3],logspac:[],longer:10,look:3,lorenzo:[0,2,3],loss:10,lower:[3,6,10],lpa:3,lpha:[],luminos:[6,8],m0mask:[3,4,6,8,10],m0sort:[4,6,8],m_1:6,m_2:6,m_arr:[3,4,6,8,10],m_in:10,m_zero_up_mask:[4,6,8],macosx:[0,2,3],mai:[0,2,6,10],main:[0,2],mainli:[3,6],major:[1,4,10],make:[0,2,4,6,8],mani:3,map:[3,4,6,8],masaru:3,mask:[4,6,8,10],mass:[0,1,2,3,4,6,8,9,10],massiv:[4,6,8,9,10],master:8,match:1,math:[6,8],mathematica:3,matplotlib:[0,2,3],matric:4,matrix:[3,4],max:3,max_init_len:[3,4,9],max_mu:[],max_num:4,max_p:[],maxim:[3,6],maximum:[3,4,6,8,9,10],mayb:[],mean:[3,8],memori:[1,3,4,9],meshgrid:3,messag:[0,2],method:[3,4,6,8,9,10],methodoligi:[3,6],methodolog:3,mich:[3,6,8],michael:[0,2,3],michael_l_katz_2020_4005001:3,michaelkatz:3,michel:3,midig:9,mikekatz04:[],millihertz:3,min:3,min_len:[],min_mu:[],min_p:[],minimum:10,minumum:[],mirror:3,mismatch:[3,10],mkn:1,mode:[1,2,4,6,8],mode_select:[3,6],mode_selector:[3,6],mode_selector_kwarg:[3,6],mode_selector_noise_weight:3,modeind:[3,10],model:[1,2,4,8,9,10],modes1:3,modes2:3,modeselector:[3,6,10],modul:[0,1,2,4,5,8,9,10],modular:[0,2],momentum:1,month:3,moor:3,more:[1,3,4,6,8,9,10],most:[3,6,8],motion:[2,10],move:3,mpmath:3,msec:3,mtsun_si:3,mu_new:3,multipl:[6,8],must:[0,2,3,6,8,9,10],n_1:6,n_2:6,n_arr:[3,4,6,8,10],name:[3,6,9,10],nan:1,nation:[0,2],nbsphinx:[],ndarrai:[4,6,8,9,10],ndim:[4,6,8],necessari:[0,2,3,6,8,9,10],need:[0,2,9,10],needs_i:[6,8],neg:3,network:[2,3],neural:[3,4],neural_lay:4,neuron:[3,4],new_t:[3,9],new_teuk_mod:3,newaxi:[],newpn5aakwaveform:3,newtonian:2,niel:[0,2,3],ninterp:[3,8],nmax:[4,6,8],nmode:[6,8],no_omp:[0,2],nois:2,noise_weighted_mode_selector_kwarg:3,none:[3,4,6,8,9,10],norichika:[],normal:[3,6,10],normalize_amp:6,northwestern:[0,2],note:[0,2,3,6,8,9,10],notebook:[0,2],notic:3,notimplementederror:[8,9],now:[1,3,6],num:[3,8,10],num_add_arg:[3,9],num_lay:4,num_left_right:[],num_m0:[3,4,6,8,10],num_m_1_up:[3,4,6,8,10],num_m_zero_up:[4,6,8,10],num_mod:[4,6,8],num_modes_kept:[3,6],num_mu:[],num_p:[],num_pt:[],num_teuk_mod:[4,6,8],num_thread:[3,6,10],number:[3,4,6,8,9,10],numer:9,numpi:[0,2,3,4,6,8,10],nvcc:[0,2],nvidia:[0,2],obj:[4,6,8,9,10],object:[3,4,6,8,9,10],observ:[3,6,8,9,10],occur:9,ode:[9,10],ode_bas:[3,9],ode_prepar:[],odot:3,off:2,offic:[0,2],offici:3,oldest:1,omega:1,omega_:1,omega_phi:[3,9],omega_r:[1,3,9],omega_theta:[3,9],omegaphi:[3,10],omegar:[3,10],omegatheta:[3,10],omp:[1,3],omp_get_num_thread:[3,10],omp_num_thread:[2,6,10],omp_set_num_thread:[3,10],onc:1,one:[3,10],ones_lik:3,onli:[0,2,3,6,10],onlin:6,onto:4,open:3,openmp:[0,2,3,6,10],oper:[3,4,6,9,10],opt:[],option:[0,1,2,4,6,8,9,10],orang:[],orbit:[1,3,4,6,8,9,10],order:[3,4,8,10],org:[0,1,2,3,6,8],orient:3,origin:[3,4,8],other:[0,2,3,6,8,9],our:[0,2,3,6],out1:[],out2:[],out:[1,3,4,8],outer:[],output:[3,4,6,8,9,10],output_typ:8,outsid:[3,4,6,8],over:[1,3,4,8,9,10],overal:[2,4,8,9],overalp:6,overhaul:1,overlap:[3,10],overwritten:6,own:[0,2,3,9],p_0:[2,4,6,8],p_all:3,p_new:3,p_out:3,p_sep:3,p_to_i:10,packag:[0,2,3,5,6],pad:8,pad_output:[3,8],page:3,pai:3,pair:4,paper:[1,3,8],parallel:[2,6,10],parallelmodulebas:[3,4,6,8,10],param:9,paramet:[3,4,6,8,9,10],paramount:3,parent:[3,9],pariti:10,part:[0,2,3,4,6,8],particular:[3,6],particularli:6,pass:[0,2,3,6,9,10],past:[0,1,2],path:[0,2,4,10],patholog:3,pdf:3,pdot:[3,9],peopl:[],per:[],perform:[0,2,3,4,6,8,9,10],perturb:[0,2],phase:[1,3,4,6,8,9],phi:[1,3,4,6,8,9,10],phi_:[1,3,6,8,9],phi_phi0:[3,6,9],phi_phi1:3,phi_phi2:3,phi_phi:[3,8,9],phi_phi_dot:3,phi_phi_in:3,phi_phi_out:3,phi_r0:[3,6,9],phi_r1:3,phi_r2:3,phi_r:[1,3,6,8,9],phi_r_dot:3,phi_r_in:3,phi_r_out:3,phi_theta0:[3,6,9],phi_theta1:3,phi_theta2:3,phi_theta:[3,8,9],phik:[3,6,8],phy:3,physic:3,physrevd:3,physrevlett:3,piec:[1,3],pip:[0,2,3],place:[3,6],placehold:[4,6,8,9],plane:[3,6,10],pleas:[0,1,2,3,4,6,8,10],plot:[1,3],plt:3,plung:8,pn5:[1,3,6,9],pn5_citat:3,pn5_citation1:3,pn5_gener:[],pn5_y:3,pn5aak:[3,6,8,9],pn5aakwaveform:[3,6,8],pn_vs_flux:3,pntrajectori:3,point:[3,4,6,8,9,10],pointer:[3,10],pointer_adjust:10,pointeradjust:[],polar:[1,3,4,6,8,10],port:3,posit:3,possibl:3,post:2,pow:3,power:[2,6,10],pre:6,prebuilt:2,predefin:6,prefer:[4,6,8,10],preload:6,prepar:3,presum:10,pretti:3,previou:3,primaryclass:3,print:3,printf:[],probabl:[0,2],problem:3,process:[0,1,2],produc:[2,4,6,8],product:[3,10],progress:6,project:[0,1,2],proper:[3,10],properli:[0,2,3,4,10],properti:[3,4,6,8,9,10],protect:1,provid:[0,2,3,4,6,8,9,10],psd:[3,10],ptep:[],ptr:10,ptv092:[],publish:3,pull:[0,2],pure:[3,8],put:8,py3:3,pyamplitudegener:[],pyplot:3,python3:3,python:[0,1,2,3,8,10],qquad:[],quadrat:8,qualiti:[6,10],quant:3,quantiti:[3,6,8,9,10],quantitit:[3,6],quest:[0,2],quick:[0,2],radial:[1,8],radiat:[],rais:[4,6,8,9,10],randomli:1,rang:[3,4,6,8],rapid:3,rate:8,rather:[3,6,8,9,10],ratio:[0,2,3],ravel:3,reach:[3,6],reaction:[],read:[0,2,3],readlin:[],real:[3,4],realli:4,realloc:4,reason:3,receiv:[6,8],recent:[],recommend:[0,2,3,9],record:10,record_by_vers:10,rectum:[1,3,4,6,8,9,10],reduc:[3,4,6],refer:[1,3,6],region:[4,6,8],rel:10,relat:[3,6,10],relativist:[3,6,8,9],releas:[0,2,3],relev:9,relu:4,remain:3,remov:[0,1,2,3,6,10],renam:[],repositori:[0,2],repres:[3,6,9,10],request:[0,2,3,4,6,8,9,10],requir:[0,2,6,8,9],research:[0,2],reshap:3,resourc:[0,2,4,6,8,10],respect:[1,4,6,8],respons:[3,6,8],result:[0,2,3],return_list:6,rev:3,right:6,rk4:9,rk8:9,rom:4,roman:2,romanamplitud:[3,4,6],romannet:[3,4,6],root:[1,10],routin:10,rtol:[3,10],run:[1,4,6,8,9],run_relu_arr:4,runkerrgenericpn5inspir:[3,6],runschwarzeccfluxinspir:3,ryuichi:[0,2,3],sago:[],same:[3,6,8,10],sampl:[3,6,8],saniti:[3,4,6,8],sanity_check_angl:[6,8],sanity_check_gpu:[4,6,8,10],sanity_check_init:[4,6,8],sanity_check_traj:[4,6,8],sanity_check_viewing_angl:[4,6,8],savefig:3,scalar:[4,10],scale:[1,2],schecc:1,schemat:[],schmidt:[3,6,10],schwarzchild:9,schwarzeccflux:[3,9],schwarzeccflux_equatori:3,schwarzeccflux_file1:3,schwarzeccflux_num_add_arg:3,schwarzeccflux_spinless:3,schwarzschild:[1,2,8,9],schwarzschildeccentr:[3,4,6,8],schwarzschildeccentricinput:3,schwarzschildeccentricwaveformbas:[3,6],schwarzschildgeocoordinatefrequ:3,scienc:[0,2],scipi:[0,2,3,8,9,10],scope:3,scott:[0,2,3,4],script:[],search:10,second:[3,6,8,9,10],section:[3,6],see:[0,2,3,4,6,8,9,10],seem:[0,2],seen:8,select:[1,2,6],selector:6,self:[3,8],semi:[3,4,6,8,9],semilatu:[1,4,6,8,10],semver:[0,2],sennsit:10,sens_fn:3,sensit:[3,10],sensitivity_fn:[3,10],separ:[0,1,2,3,10],separatrix:[1,2,6,9,10],seri:10,set:[0,1,2,4,6,9,10],set_size_inch:3,set_vis:3,set_xlabel:3,set_ylabel:3,setup:[0,1,2,3,4],shape:[3,4,8,9,10],share:[1,6],shave:9,shibata:[3,6],shorten:10,shorter:[3,10],should:[3,6,9],show:[0,2,3,6],show_progress:6,shown:[0,2,3],signal:3,significantli:3,similar:8,simpli:3,simplifi:3,singl:[4,6,8,10],site:3,six:[],size:[3,6],size_t:10,sky:[3,6,8],slow:[0,2,3],slow_wav:3,slower:10,slowschwarzschildeccentricflux:[2,6],small:9,smaller:3,smoothli:[3,6],snapshot:[],snr:1,softwar:[0,2,3],soichiro:[0,2],solar:[4,6,8,9],sole:6,some:[4,6,10],sort:[4,6,8,10],sourc:[2,6,8],space:[3,4,8,9],spacetim:[3,4,6,8,9,10],span:[],spars:[3,6,8,10],special:[],special_index_map:[3,4,6,8],specif:[0,1,2,6,8,9,10],specific_kwarg_kei:9,specific_mod:[3,4],specific_modes_minus_m:3,specific_teuk_mod:3,spectral:[3,10],speed:[3,10],speri:[0,2,3],spheric:[1,2,6,8],spheroid:1,spin:[1,2,6,8,9],spine:[3,6],spline2:3,spline:[2,8,9],spline_kwarg:9,split:3,spot:[4,6,8],sqrt:[3,6,8,10],src:[3,8,9],ssb:3,stabl:3,staff:[0,2],stand:4,standard:6,stanislav:[],start:[3,6],state:[0,2],std:3,stein:[3,10],step:[1,2,4,8,9],stock:9,storag:2,store:[4,6],str:[4,6,8,9],strain:10,strict:3,string:[0,2,3,6,10],strongli:[],structur:1,subinfo:10,submit:[0,2],subpackag:6,subplot:3,subplots_adjust:3,substitut:[0,2],sucessfulli:3,suit:[3,6],sum:[3,6,8],sum_:1,sum_kwarg:[3,6],sum_modul:6,summat:[0,1,2,6,10],summationbas:8,suppli:10,support:[0,2],sure:[0,2,3,4,6,8],symmetri:3,sys:3,t_new:3,t_out:[3,10],t_window:8,tag:[0,2],take:[1,3,4,6,8,9,10],targ:10,target:10,tdi:[3,6,8],technolog:[0,2],tell:10,temp2:3,temp:3,temp_mat:4,templat:3,temporari:4,term:[3,4,6,8,9],termin:[0,2],tesla:[],test:6,teuk_amps_a0:3,teuk_mod:[3,8,10],teuk_modes_in:3,teukolski:[1,3,4,6,8,10],text:3,tfinterpolatedmodesum:[],than:[3,6,8,9,10],thei:[0,2,3,4,6,8,10],them:10,theme:3,therefor:[0,2,3,6,10],theta:[1,3,4,6,8,9,10],thi:[0,1,2,4,5,6,8,9,10],thing:3,those:[0,2,3,6],though:[3,9],thread:[1,3,6,10],three:[3,10],threshold:[],through:[0,2,3,6,9,10],thrown:[3,4],thte:[4,6,8],time:[0,1,2,6,8,9,10],time_series_1:10,time_series_2:10,times10:[],timestep:[3,9],titl:3,tkwarg:10,tnew:8,todo:2,toler:[3,9,10],tomegaphi:3,tomegar:3,tomegatheta:3,too:9,tool:[2,3],toolkit:[0,2],top:[],total:[0,2,3,4,6,8,9,10],toward:[],tqdm:[0,2,6],traceback:[],train:[3,4],trait:6,traj2:3,traj:[3,9],traj_arg:[3,10],traj_kwarg:[3,10],traj_modul:[3,10],trajecotri:9,trajectori:[0,1,2,4,8,10],trajectory_pn_vs_flux:3,trajectorybas:[3,6,9],tranfer:8,tranform:4,transfer:[4,9],transform:[3,4,6],transform_factor_inv:4,transform_matrix:4,transform_output:4,treatment:[],trjectori:[],truncat:3,tsec:3,tseparatrix:3,tuekolski:4,tupl:[3,4,6,8,9,10],turn:[2,9],tutori:[2,9],tvec:8,twice:[3,10],two:[0,1,2,10],txt:3,type:[3,4,6,8,9,10],unaccess:[],under:[0,2,3,6],underli:3,union:[],uniqu:[4,6,8],unique_l:[3,4,6,8],unique_m:[3,4,6,8],unit:[0,2,9],unittest:[0,2],univers:[0,2],unless:10,unlik:8,unnecessari:6,until:[3,6],updat:1,upping:1,upsampl:[3,9],url:3,usag:[0,2,4,6,8,10],use:[0,2,3,4,6,8,9,10],use_gpu:[3,4,6,8,10],use_rk4:9,used:[3,4,5,6,8,9,10],usel:10,user:[3,4,6,8,9,10],userwarn:3,uses:[3,4,9,10],using:[0,2,3,5,6,8,9,10],usr:[],usual:[3,10],util:[0,1,2,4,5,6,8,9],v100:[],valid:[3,4,6,8],vallisneri:3,valu:[3,4,6,8,9,10],valueerror:[4,6,8,9,10],vari:[3,6],variabl:[0,2,3,6,9,10],varieti:[0,2],variou:[0,1,2,4,6,8,9],varphi:[],vastli:[3,6],vector:[2,4],veri:3,version:[3,10],version_str:10,via:10,view:[0,1,2,3,4,6,8,10],virtual:[0,2],visibl:[],volum:3,wai:[3,8],wall:[],want:[0,2,3,4,6,8,10],warburton:[0,2,3,10],warn:[3,4,6,8,10],wave1:3,wave2:3,wave:[1,2],wave_22:3,wave_22_minus_m:3,wave_22_pos_m:3,wave_aak:3,wave_bas:3,wave_gener:3,wave_weight:3,waveform1:3,waveform2:3,waveform:[1,4,9,10],waveform_class:6,waveform_gener:8,waveform_lw:3,waveformbas:[],wavefrom:6,wavelength:[3,6,8],wavelet:8,weight:[1,2,4,6,8],well:[3,6,8],were:[3,4],wget:[0,1,2],what:10,when:[0,1,2,3,4,6,8,10],where:[1,3,9,10],whether:[3,4],which:[1,3,4,6,8,9,10],whole:3,window:[0,2],within:[0,2,3,4,6,8],without:[0,2,6],work:[3,6],worst:[],would:[0,2],wrap:[4,6,8,9],wrapper:10,wrong:1,wspace:3,x86_64:3,x_i:[1,2,6,8,9,10],x_new:3,xdot:[3,9],xeon:[],xi_to_i:[3,10],xlab:3,xlabel:3,xtol:[3,10],y_0:[6,8],y_all:8,y_to_xi:[1,3,10],ydot:3,year:[3,6,8,9],ylab:3,ylabel:3,ylm:[3,6,8,10],ylm_gen:[3,6],ylm_kwarg:[3,6],ylmkeep:3,ylms_in:3,you:[0,2,3,10],your:[0,2],ypn:3,yrsid_si:3,zenodo:[0,2,3,10],zero:[1,3,6,8],zeros_lik:3,zip:[0,2,3]},titles:["few: Fast EMRI Waveforms","FastEMRIWaveforms Publications","few: Fast EMRI Waveforms","Fast and Accurate EMRI Waveforms Tutorial","Amplitude Package","Citations","Overall Waveform Models","Pointer Adjustment","Summation Package","Trajectory Package","Utilities"],titleterms:{"5pn":[3,6],"case":3,"class":6,"function":[3,9],"new":3,"public":1,ODE:3,aak:[3,6,8],accur:3,acknowledg:[0,2],adiabat:[],adjust:7,amplitud:[3,4],analysi:10,analyt:3,augment:3,author:[0,2],base:[3,6],basic:3,bicub:3,build:3,chang:[1,3],citat:5,cite:3,compar:3,constant:3,contibutor:[0,2],contribut:[0,2,3],convert:3,creat:3,cubic:[3,4],cuda:3,defin:3,dens:3,desir:3,devic:3,dimensionless:3,direct:[3,8],distanc:3,document:[],durat:3,eccentr:[3,4,6],emri:[0,2,3],fast:[0,2,3,6],fastemriwaveform:1,fastschwarzschildeccentricflux:3,few:[0,2],filter:10,flux:6,frame:3,frequenc:3,from:[3,9],full:3,fundament:3,gener:[3,6,8,9],get:[0,2,3],given:3,gpu:6,harmon:[3,10],implement:3,improv:3,inform:[],inspir:9,instal:[0,2,3],interfac:3,interpol:[3,4,8],kerr:[3,6],kludg:3,licens:[0,2],log:1,make:3,mode:[3,10],model:[3,6],modul:[3,6],motion:3,need:3,network:4,newtonian:3,nois:3,off:3,omp_num_thread:3,option:3,other:10,overal:6,p_0:3,packag:[1,4,8,9],parallel:3,pointer:7,post:3,power:3,prebuilt:6,prerequisit:[0,2],produc:3,requir:3,roman:[3,4],run:[0,2,3],scale:3,schwarzschild:[3,4,6],select:3,separatrix:3,set:3,slow:6,slowschwarzschildeccentricflux:3,sourc:3,specif:3,spheric:[3,10],spin:[3,10],spline:[3,4],start:[0,2],step:3,storag:3,summat:[3,8],test:[0,2,3],thi:3,time:3,todo:1,tool:10,trajectori:[3,6,9],turn:3,tutori:3,two:3,util:[3,10],vector:3,version:[0,2],wave:3,waveform:[0,2,3,6,8],weight:[3,10],without:3,x_i:3,your:3}}) \ No newline at end of file +Search.setIndex({docnames:["README","general/docs_main","index","tutorial/FastEMRIWaveforms_tutorial","user/amp","user/cite","user/main","user/pointer","user/sum","user/traj","user/util"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":1,nbsphinx:3,sphinx:56},filenames:["README.rst","general/docs_main.rst","index.rst","tutorial/FastEMRIWaveforms_tutorial.ipynb","user/amp.rst","user/cite.rst","user/main.rst","user/pointer.rst","user/sum.rst","user/traj.rst","user/util.rst"],objects:{"few.amplitude":{interp2dcubicspline:[4,0,0,"-"],romannet:[4,0,0,"-"]},"few.amplitude.interp2dcubicspline":{Interp2DAmplitude:[4,1,1,""]},"few.amplitude.interp2dcubicspline.Interp2DAmplitude":{__call__:[4,2,1,""],adjust_gpu_usage:[4,2,1,""],amplitude_generator:[4,3,1,""],attributes_Interp2DAmplitude:[4,2,1,""],attributes_ParallelModuleBase:[4,2,1,""],attributes_SchwarzschildEccentric:[4,2,1,""],background:[4,3,1,""],citation:[4,2,1,""],descriptor:[4,3,1,""],get_amplitudes:[4,2,1,""],gpu_capability:[4,2,1,""],index_map:[4,3,1,""],inverse_lm:[4,3,1,""],lmn_indices:[4,3,1,""],m0mask:[4,3,1,""],m0sort:[4,3,1,""],m_zero_up_mask:[4,3,1,""],ndim:[4,3,1,""],num_m0:[4,3,1,""],num_m_1_up:[4,3,1,""],num_m_zero_up:[4,3,1,""],sanity_check_gpu:[4,2,1,""],sanity_check_init:[4,2,1,""],sanity_check_traj:[4,2,1,""],sanity_check_viewing_angles:[4,2,1,""],special_index_map:[4,3,1,""],use_gpu:[4,3,1,""],xp:[4,3,1,""]},"few.amplitude.romannet":{RomanAmplitude:[4,1,1,""]},"few.amplitude.romannet.RomanAmplitude":{__call__:[4,2,1,""],adjust_gpu_usage:[4,2,1,""],attributes_ParallelModuleBase:[4,2,1,""],attributes_RomanAmplitude:[4,2,1,""],attributes_SchwarzschildEccentric:[4,2,1,""],background:[4,3,1,""],bias:[4,3,1,""],break_index:[4,3,1,""],citation:[4,2,1,""],descriptor:[4,3,1,""],dim1:[4,3,1,""],dim2:[4,3,1,""],few_dir:[4,3,1,""],get_amplitudes:[4,2,1,""],gpu_capability:[4,2,1,""],index_map:[4,3,1,""],inverse_lm:[4,3,1,""],lmn_indices:[4,3,1,""],m0mask:[4,3,1,""],m0sort:[4,3,1,""],m_zero_up_mask:[4,3,1,""],max_init_len:[4,3,1,""],max_num:[4,3,1,""],ndim:[4,3,1,""],neural_layer:[4,3,1,""],num_layers:[4,3,1,""],num_m0:[4,3,1,""],num_m_1_up:[4,3,1,""],num_m_zero_up:[4,3,1,""],num_teuk_modes:[4,3,1,""],run_relu_arr:[4,3,1,""],sanity_check_gpu:[4,2,1,""],sanity_check_init:[4,2,1,""],sanity_check_traj:[4,2,1,""],sanity_check_viewing_angles:[4,2,1,""],special_index_map:[4,3,1,""],temp_mats:[4,3,1,""],transform_factor_inv:[4,3,1,""],transform_matrix:[4,3,1,""],transform_output:[4,3,1,""],use_gpu:[4,3,1,"id0"],weights:[4,3,1,""],xp:[4,3,1,""]},"few.summation":{aakwave:[8,0,0,"-"],directmodesum:[8,0,0,"-"],interpolatedmodesum:[8,0,0,"-"]},"few.summation.aakwave":{AAKSummation:[8,1,1,""]},"few.summation.aakwave.AAKSummation":{__call__:[8,2,1,""],adjust_gpu_usage:[8,2,1,""],attributes_AmplitudeAAK:[8,2,1,""],attributes_ParallelModuleBase:[8,2,1,""],attributes_Pn5AAK:[8,2,1,""],attributes_SummationBase:[8,2,1,""],background:[8,3,1,""],citation:[8,2,1,""],descriptor:[8,3,1,""],gpu_capability:[8,3,1,""],needs_Y:[8,3,1,""],sanity_check_angles:[8,2,1,""],sanity_check_gpu:[8,2,1,""],sanity_check_init:[8,2,1,""],sanity_check_traj:[8,2,1,""],spline:[8,3,1,""],sum:[8,2,1,""],use_gpu:[8,3,1,""],waveform:[8,3,1,""],waveform_generator:[8,3,1,""],xp:[8,3,1,"id0"]},"few.summation.directmodesum":{DirectModeSum:[8,1,1,""]},"few.summation.directmodesum.DirectModeSum":{__call__:[8,2,1,""],adjust_gpu_usage:[8,2,1,""],attributes_ParallelModuleBase:[8,2,1,""],attributes_SchwarzschildEccentric:[8,2,1,""],attributes_SummationBase:[8,2,1,""],background:[8,3,1,""],citation:[8,2,1,""],descriptor:[8,3,1,""],gpu_capability:[8,2,1,""],index_map:[8,3,1,""],inverse_lm:[8,3,1,""],lmn_indices:[8,3,1,""],m0mask:[8,3,1,""],m0sort:[8,3,1,""],m_zero_up_mask:[8,3,1,""],ndim:[8,3,1,""],num_m0:[8,3,1,""],num_m_1_up:[8,3,1,""],num_m_zero_up:[8,3,1,""],sanity_check_gpu:[8,2,1,""],sanity_check_init:[8,2,1,""],sanity_check_traj:[8,2,1,""],sanity_check_viewing_angles:[8,2,1,""],special_index_map:[8,3,1,""],sum:[8,2,1,""],use_gpu:[8,3,1,""],waveform:[8,3,1,""],xp:[8,3,1,""]},"few.summation.interpolatedmodesum":{CubicSplineInterpolant:[8,1,1,""],InterpolatedModeSum:[8,1,1,""]},"few.summation.interpolatedmodesum.CubicSplineInterpolant":{__call__:[8,2,1,""],adjust_gpu_usage:[8,2,1,""],attributes_CubicSplineInterpolate:[8,2,1,""],attributes_ParallelModuleBase:[8,2,1,""],c1:[8,2,1,""],c2:[8,2,1,""],c3:[8,2,1,""],citation:[8,2,1,""],gpu_capability:[8,2,1,""],interp_array:[8,3,1,""],interpolate_arrays:[8,3,1,""],sanity_check_gpu:[8,2,1,""],use_gpu:[8,3,1,""],xp:[8,3,1,""],y:[8,2,1,""]},"few.summation.interpolatedmodesum.InterpolatedModeSum":{__call__:[8,2,1,""],adjust_gpu_usage:[8,2,1,""],attributes_InterpolatedModeSum:[8,2,1,""],attributes_ParallelModuleBase:[8,2,1,""],attributes_SchwarzschildEccentric:[8,2,1,""],attributes_SummationBase:[8,2,1,""],background:[8,3,1,""],citation:[8,2,1,""],descriptor:[8,3,1,""],get_waveform:[8,3,1,""],gpu_capability:[8,2,1,""],index_map:[8,3,1,""],inverse_lm:[8,3,1,""],lmn_indices:[8,3,1,""],m0mask:[8,3,1,""],m0sort:[8,3,1,""],m_zero_up_mask:[8,3,1,""],ndim:[8,3,1,""],num_m0:[8,3,1,""],num_m_1_up:[8,3,1,""],num_m_zero_up:[8,3,1,""],sanity_check_gpu:[8,2,1,""],sanity_check_init:[8,2,1,""],sanity_check_traj:[8,2,1,""],sanity_check_viewing_angles:[8,2,1,""],special_index_map:[8,3,1,""],sum:[8,2,1,""],use_gpu:[8,3,1,""],waveform:[8,3,1,""],xp:[8,3,1,""]},"few.trajectory":{inspiral:[9,0,0,"-"]},"few.trajectory.inspiral":{EMRIInspiral:[9,1,1,""]},"few.trajectory.inspiral.EMRIInspiral":{__call__:[9,2,1,""],attributes_EMRIInspiral:[9,2,1,""],background:[9,3,1,""],circular:[9,3,1,""],citation:[9,2,1,""],citations:[9,3,1,""],convert_Y:[9,3,1,""],enforce_schwarz_sep:[9,3,1,""],equatorial:[9,3,1,""],files:[9,3,1,""],func:[9,3,1,""],get_inspiral:[9,2,1,""],inspiral_generator:[9,3,1,"id0"],num_add_args:[9,3,1,""],specific_kwarg_keys:[9,3,1,"id1"]},"few.utils":{citations:[5,0,0,"-"],modeselector:[10,0,0,"-"],utility:[10,0,0,"-"],ylm:[10,0,0,"-"]},"few.utils.baseclasses":{ParallelModuleBase:[6,1,1,""],Pn5AAK:[6,1,1,""],SchwarzschildEccentric:[6,1,1,""],SummationBase:[8,1,1,""],TrajectoryBase:[9,1,1,""]},"few.utils.baseclasses.ParallelModuleBase":{__call__:[6,2,1,""],adjust_gpu_usage:[6,2,1,""],attributes_ParallelModuleBase:[6,2,1,""],citation:[6,2,1,""],gpu_capability:[6,3,1,""],sanity_check_gpu:[6,2,1,""],use_gpu:[6,3,1,""],xp:[6,3,1,""]},"few.utils.baseclasses.Pn5AAK":{attributes_Pn5AAK:[6,2,1,""],background:[6,3,1,""],citation:[6,2,1,""],descriptor:[6,3,1,""],needs_Y:[6,3,1,""],sanity_check_angles:[6,2,1,""],sanity_check_init:[6,2,1,""],sanity_check_traj:[6,2,1,""],xp:[6,3,1,""]},"few.utils.baseclasses.SchwarzschildEccentric":{__call__:[6,2,1,""],adjust_gpu_usage:[6,2,1,""],attributes_ParallelModuleBase:[6,2,1,""],attributes_SchwarzschildEccentric:[6,2,1,""],background:[6,3,1,""],citation:[6,2,1,""],descriptor:[6,3,1,""],gpu_capability:[6,2,1,""],index_map:[6,3,1,""],inverse_lm:[6,3,1,""],lmn_indices:[6,3,1,""],m0mask:[6,3,1,""],m0sort:[6,3,1,""],m_zero_up_mask:[6,3,1,""],ndim:[6,3,1,""],num_m0:[6,3,1,""],num_m_1_up:[6,3,1,""],num_m_zero_up:[6,3,1,""],sanity_check_gpu:[6,2,1,""],sanity_check_init:[6,2,1,""],sanity_check_traj:[6,2,1,""],sanity_check_viewing_angles:[6,2,1,""],special_index_map:[6,3,1,""],use_gpu:[6,3,1,""],xp:[6,3,1,""]},"few.utils.baseclasses.SummationBase":{__call__:[8,2,1,""],attributes_SummationBase:[8,2,1,""],citation:[8,2,1,""],sum:[8,2,1,""],waveform:[8,3,1,""]},"few.utils.baseclasses.TrajectoryBase":{__call__:[9,2,1,""],citation:[9,2,1,""],get_inspiral:[9,2,1,""]},"few.utils.modeselector":{ModeSelector:[10,1,1,""]},"few.utils.modeselector.ModeSelector":{__call__:[10,2,1,""],adjust_gpu_usage:[10,2,1,""],attributes_ModeSelector:[10,2,1,""],attributes_ParallelModuleBase:[10,2,1,""],citation:[10,2,1,""],gpu_capability:[10,2,1,""],num_m0:[10,3,1,""],num_m_1_up:[10,3,1,""],num_m_zero_up:[10,3,1,""],sanity_check_gpu:[10,2,1,""],sensitivity_fn:[10,3,1,""],use_gpu:[10,3,1,""],xp:[10,3,1,"id0"]},"few.utils.utility":{Y_to_xI:[10,4,1,""],check_for_file_download:[10,4,1,""],cuda_set_device:[10,4,1,""],get_at_t:[10,4,1,""],get_fundamental_frequencies:[10,4,1,""],get_kerr_geo_constants_of_motion:[10,4,1,""],get_mismatch:[10,4,1,""],get_mu_at_t:[10,4,1,""],get_ode_function_options:[10,4,1,""],get_overlap:[10,4,1,""],get_p_at_t:[10,4,1,""],get_separatrix:[10,4,1,""],omp_get_num_threads:[10,4,1,""],omp_set_num_threads:[10,4,1,""],p_to_y:[10,4,1,""],pointer_adjust:[10,4,1,""],wrapper:[10,4,1,""],xI_to_Y:[10,4,1,""]},"few.utils.ylm":{GetYlms:[10,1,1,""]},"few.utils.ylm.GetYlms":{__call__:[10,2,1,""],adjust_gpu_usage:[10,2,1,""],attributes_GetYlms:[10,2,1,""],attributes_ParallelModuleBase:[10,2,1,""],citation:[10,2,1,""],gpu_capability:[10,2,1,""],sanity_check_gpu:[10,2,1,""],use_gpu:[10,3,1,""],xp:[10,3,1,"id1"]},"few.waveform":{AAKWaveformBase:[6,1,1,""],FastSchwarzschildEccentricFlux:[6,1,1,""],GenerateEMRIWaveform:[6,1,1,""],Pn5AAKWaveform:[6,1,1,""],SchwarzschildEccentricWaveformBase:[6,1,1,""],SlowSchwarzschildEccentricFlux:[6,1,1,""]},"few.waveform.AAKWaveformBase":{__call__:[6,2,1,""],adjust_gpu_usage:[6,2,1,""],attributes_AAKWaveform:[6,2,1,""],attributes_ParallelModuleBase:[6,2,1,""],attributes_Pn5AAK:[6,2,1,""],background:[6,3,1,""],citation:[6,2,1,""],create_waveform:[6,3,1,""],descriptor:[6,3,1,""],gpu_capability:[6,2,1,""],inspiral_generator:[6,3,1,""],inspiral_kwargs:[6,3,1,""],needs_Y:[6,3,1,""],sanity_check_angles:[6,2,1,""],sanity_check_gpu:[6,2,1,""],sanity_check_init:[6,2,1,""],sanity_check_traj:[6,2,1,""],use_gpu:[6,3,1,""],xp:[6,3,1,"id23"]},"few.waveform.FastSchwarzschildEccentricFlux":{__call__:[6,2,1,""],adjust_gpu_usage:[6,2,1,""],allow_batching:[6,3,1,""],amplitude_generator:[6,3,1,""],attributes_FastSchwarzschildEccentricFlux:[6,2,1,""],attributes_ParallelModuleBase:[6,2,1,""],attributes_SchwarzschildEccentric:[6,2,1,""],attributes_SchwarzschildEccentricWaveformBase:[6,2,1,""],background:[6,3,1,""],citation:[6,2,1,""],create_waveform:[6,3,1,""],descriptor:[6,3,1,""],gpu_capability:[6,2,1,"id0"],index_map:[6,3,1,""],inspiral_generator:[6,3,1,""],inverse_lm:[6,3,1,""],lmn_indices:[6,3,1,""],m0mask:[6,3,1,""],m0sort:[6,3,1,""],m_zero_up_mask:[6,3,1,""],mode_selector:[6,3,1,""],ndim:[6,3,1,""],num_m0:[6,3,1,""],num_m_1_up:[6,3,1,""],num_m_zero_up:[6,3,1,""],num_modes_kept:[6,3,1,""],num_teuk_modes:[6,3,1,""],sanity_check_gpu:[6,2,1,""],sanity_check_init:[6,2,1,""],sanity_check_traj:[6,2,1,""],sanity_check_viewing_angles:[6,2,1,""],special_index_map:[6,3,1,""],use_gpu:[6,3,1,""],xp:[6,3,1,"id4"],ylm_gen:[6,3,1,"id3"]},"few.waveform.GenerateEMRIWaveform":{__call__:[6,2,1,""]},"few.waveform.Pn5AAKWaveform":{__call__:[6,2,1,""],adjust_gpu_usage:[6,2,1,""],attributes_AAKWaveform:[6,2,1,""],attributes_ParallelModuleBase:[6,2,1,""],attributes_Pn5AAK:[6,2,1,""],attributes_Pn5AAKWaveform:[6,2,1,""],background:[6,3,1,""],citation:[6,2,1,""],create_waveform:[6,3,1,"id12"],descriptor:[6,3,1,""],gpu_capability:[6,2,1,""],inspiral_generator:[6,3,1,"id11"],inspiral_kwargs:[6,3,1,"id13"],needs_Y:[6,3,1,""],sanity_check_angles:[6,2,1,""],sanity_check_gpu:[6,2,1,""],sanity_check_init:[6,2,1,""],sanity_check_traj:[6,2,1,""],use_gpu:[6,3,1,""],xp:[6,3,1,"id14"]},"few.waveform.SchwarzschildEccentricWaveformBase":{__call__:[6,2,1,""],adjust_gpu_usage:[6,2,1,""],amplitude_generator:[6,3,1,""],attributes_ParallelModuleBase:[6,2,1,""],attributes_SchwarzschildEccentric:[6,2,1,""],attributes_SchwarzschildEccentricWaveformBase:[6,2,1,""],background:[6,3,1,""],citation:[6,2,1,""],create_waveform:[6,3,1,""],descriptor:[6,3,1,""],gpu_capability:[6,2,1,""],index_map:[6,3,1,""],inspiral_generator:[6,3,1,""],inverse_lm:[6,3,1,""],lmn_indices:[6,3,1,""],m0mask:[6,3,1,""],m0sort:[6,3,1,""],m_zero_up_mask:[6,3,1,""],mode_selector:[6,3,1,""],ndim:[6,3,1,""],num_m0:[6,3,1,""],num_m_1_up:[6,3,1,""],num_m_zero_up:[6,3,1,""],num_modes_kept:[6,3,1,""],num_teuk_modes:[6,3,1,""],sanity_check_gpu:[6,2,1,""],sanity_check_init:[6,2,1,""],sanity_check_traj:[6,2,1,""],sanity_check_viewing_angles:[6,2,1,""],special_index_map:[6,3,1,""],use_gpu:[6,3,1,""],xp:[6,3,1,"id17"],ylm_gen:[6,3,1,"id15"]},"few.waveform.SlowSchwarzschildEccentricFlux":{__call__:[6,2,1,""],adjust_gpu_usage:[6,2,1,""],allow_batching:[6,3,1,""],amplitude_generator:[6,3,1,""],attributes_ParallelModuleBase:[6,2,1,""],attributes_SchwarzschildEccentric:[6,2,1,""],attributes_SchwarzschildEccentricWaveformBase:[6,2,1,""],attributes_SlowSchwarzschildEccentricFlux:[6,2,1,""],background:[6,3,1,""],citation:[6,2,1,""],create_waveform:[6,3,1,""],descriptor:[6,3,1,""],gpu_capability:[6,3,1,"id5"],index_map:[6,3,1,""],inspiral_generator:[6,3,1,""],inverse_lm:[6,3,1,""],lmn_indices:[6,3,1,""],m0mask:[6,3,1,""],m0sort:[6,3,1,""],m_zero_up_mask:[6,3,1,""],mode_selector:[6,3,1,""],ndim:[6,3,1,""],num_m0:[6,3,1,""],num_m_1_up:[6,3,1,""],num_m_zero_up:[6,3,1,""],num_modes_kept:[6,3,1,""],num_teuk_modes:[6,3,1,""],sanity_check_gpu:[6,2,1,""],sanity_check_init:[6,2,1,""],sanity_check_traj:[6,2,1,""],sanity_check_viewing_angles:[6,2,1,""],special_index_map:[6,3,1,""],use_gpu:[6,3,1,""],xp:[6,3,1,"id8"],ylm_gen:[6,3,1,"id7"]},few:{amplitude:[4,0,0,"-"],summation:[8,0,0,"-"],trajectory:[9,0,0,"-"],utils:[10,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","attribute","Python attribute"],"4":["py","function","Python function"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method","3":"py:attribute","4":"py:function"},terms:{"00000000e":3,"001":3,"0011803979666251685":[],"0011803979666252795":[],"0011803979666253905":[],"0012120661717398562":3,"0012120732249263355":[],"001212091031457807":[],"001340224043205":[],"0013402240432097":[],"005":3,"01369217100466":[],"01422809e":[],"01600":[],"01731413":3,"01810703":3,"01888732":3,"01965064":3,"01j":3,"02039181":3,"02110469":3,"02178189":3,"02241441":3,"02299122":3,"02349858":3,"024005":[],"02545863":3,"025467504554124":[],"025654709582184":[],"02626744":3,"0264":3,"02700838":3,"02789444":3,"02861065":3,"02958068":3,"03026855":3,"0310125":3,"03133003":3,"03198567":3,"0331469":3,"03376608":3,"03503633":3,"03561442":3,"03700405":3,"03753599":3,"03905666":3,"039423945656564985j":3,"03953685":3,"0412017":3,"04162395":3,"04259":3,"04344785":3,"044005":3,"04582":[0,1,2,3],"04836198716639939":[],"04836198716639961":3,"04836413926836425":[],"04836413926836447":[],"0488073":3,"04990":[],"051102":3,"05491":3,"059790473435857":3,"0607007":[],"06071":[0,1,2,3],"06245":[3,8],"064005":3,"064007":3,"073e03":[],"07609":[3,6],"082005":3,"0948017":[0,2],"09509066":3,"09911687e":3,"0_lmax_10_nmax_30_new":3,"0x1074c8ad0":[],"0x159ec68d0":[],"0x159f94d50":[],"0x15a172d10":[],"0x15a380a90":[],"0x15a7d0d90":[],"0x15faafa90":[],"0x15fac6650":[],"0x1602a12d0":[],"0x1603698d0":[],"0x160c31490":[],"0x7f87f8ea9350":[],"0x7f87f92fd090":[],"0x7f87fc867a10":[],"0x7f881a25a750":[],"0x7f8858200650":[],"0x7f8859e16c10":[],"0x7f895a936550":[],"0x7f895aa90710":[],"0x7f895b045ed0":[],"0x7f895b25a710":[],"0x7f895c848650":[],"0x7f895c848fd0":[],"0x7f8cbbd9d610":[],"0x7f8cbc1b5a90":[],"0x7f8ccbf5a410":[],"0x7f8cce7144d0":[],"0x7f8cddda86d0":[],"0x7f8cddf0ae90":[],"0x7f8d0d678d50":[],"0x7f8d1008ec90":[],"0x7f8dcc2bb490":[],"0x7f8dcc4f09d0":[],"0x7f8dcc522b10":[],"0x7f8de607f790":[],"0x7f8de6781e50":[],"0x7f8de91e7150":[],"0x7f8ec31d1a90":[],"0x7f8ecf884a10":[],"0x7f8ecf9dc290":[],"0x7f8fc5c39510":[],"0x7f8fc5d27e90":[],"0x7f9bbf219990":[],"0x7f9bbf357fd0":[],"0x7f9bc0619910":[],"0x7f9bcbe276d0":[],"0x7f9bd08a8e10":[],"0x7f9c5a4b52d0":[],"0x7f9c5fb6d990":[],"0x7f9cc1c32dd0":[],"0x7f9cc1d32510":[],"0x7f9cc3222bd0":[],"0x7f9cc335b2d0":[],"0x7f9cca681490":[],"0x7f9cd3334490":[],"0x7f9cd3374d50":[],"0x7f9ce01000d0":[],"0x7f9ce8b56b10":[],"0x7f9d4bd3cc10":[],"0x7f9d4f40a9d0":[],"0x7f9d4f6d5d50":[],"0x7f9d4f81de50":[],"0x7f9d4fcde890":[],"0x7f9d59d77750":[],"0x7f9dc5c46350":[],"0x7f9dc5d35710":[],"0x7f9e5931b690":[],"0x7f9e5939db90":[],"0x7f9e5bfbcf10":[],"0x7f9e72ede950":[],"0x7f9e736766d0":[],"0x7f9e760ceb10":[],"0x7fa423f71810":[],"0x7fa4245b8e10":[],"0x7fa42c755f50":[],"0x7fa4313dead0":[],"0x7fa4442a7510":[],"0x7fa46078d250":[],"0x7fa4607c52d0":[],"0x7fa529d0a490":[],"0x7fa53df6bc10":[],"0x7fad5616c810":[],"0x7fad58cabdd0":[],"0x7fad5c3e6a50":[],"0x7fad62e8ea50":[],"0x7fad63045b90":[],"0x7fad64531e50":[],"0x7fad65473b50":[],"0x7fad66de6590":[],"0x7fad68535b90":[],"0x7fad821e8450":[],"0x7fad8268dad0":[],"0x7fae0587bbd0":[],"0x7fae61cf8290":[],"0x7fae61e3e050":[],"0x7fae647ed3d0":[],"0x7fae6626fc10":[],"0x7fae665bbf90":[],"0x7fae6680af50":[],"0x7fae669305d0":[],"0x7fae66d85d10":[],"0x7fae680b4f50":[],"0x7fae7e88b690":[],"0x7fae7f14cc50":[],"0x7fbc1121ce10":[],"0x7fbc112727d0":[],"0x7fbc18392850":[],"0x7fbc1eac00d0":[],"0x7fbc229cc150":[],"0x7fbc7abd9c50":[],"0x7fbcb035b750":[],"0x7fbd13c416d0":[],"0x7fbd13d36b50":[],"0x7fbf65218050":[],"0x7fbf65356bd0":[],"0x7fbf65a13810":[],"0x7fbf7168dd10":[],"0x7fbf757b5c10":[],"0x7fbf964ab410":[],"0x7fbf964d0450":[],"0x7fc067c419d0":[],"0x7fc067d33fd0":[],"0x7fc396add790":[],"0x7fc398e93490":[],"0x7fc39ce29c50":[],"0x7fc3a3665b90":[],"0x7fc3a4c46c50":[],"0x7fc3a68b7550":[],"0x7fc3a7dd1d90":[],"0x7fc4a6a9c7d0":[],"0x7fc4a6d26e10":[],"0x7fc4c0828410":[],"0x7fc4c38f3e50":[],"0x7fc4c417bc10":[],"0x7fd885c22d90":[],"0x7fd886231f90":[],"0x7fd88a45e550":[],"0x7fd88a7ba950":[],"0x7fd8af3afa50":[],"0x7fd8eb243750":[],"0x7fd8eb275810":[],"0x7fd9866bedd0":[],"0x7fd9a4114850":[],"0x7fdb05a40a90":[],"0x7fdb086f7710":[],"0x7fdb0871edd0":[],"0x7fdb157e7f10":[],"0x7fdb1801e290":[],"0x7fdb27759b90":[],"0x7fdb2776ee10":[],"0x7fdc15dc3890":[],"0x7fdc15f09a90":[],"0x7fdc15f84590":[],"0x7fdc166661d0":[],"0x7fdc2d76a750":[],"0x7fde0ef0b710":3,"0x7fde127498d0":3,"0x7fde7dee78d0":3,"0x7fde7e4c0410":3,"0x7fde7e508c10":3,"0x7fde7e85a810":3,"0x7fde83246a10":3,"0x7fdf7eef21d0":3,"0x7fdf821e0050":3,"0x7fdf842a6410":3,"0x7fdf97ef99d0":3,"0x7fdf9853f850":3,"0x7ff33b5af990":[],"0x7ff3414be810":[],"0x7ff360888d10":[],"0x7ff3608acf50":[],"0x7ff360e907d0":[],"0x7ff36d908950":[],"0x7ff43aec5bd0":[],"0x7ff43fee29d0":[],"0x7ff43ffd9e50":[],"0x7ff450266bd0":[],"0x7ff454b7ea90":[],"0x7ffd0384ef50":[],"0x7ffd03aa8ad0":[],"0x7ffd0ab42c50":[],"0x7ffd0f6e3550":[],"0x7ffd22d85650":[],"0x7ffd6a9e9a90":[],"0x7ffd6aa030d0":[],"0x7ffe04414b90":[],"0x7ffe0450d8d0":[],"0xb1b847c90":[],"0xb1be97290":[],"0xb1c028310":[],"0xb2161c2d0":[],"100":[3,6,9],"1000":[3,4,9],"10000":3,"100mb":[0,2],"101":[3,10],"102":3,"105":[],"10520":3,"1088":3,"1093":[],"10mb":[0,2],"1103":3,"11111111":3,"120":3,"12119256904280647":3,"12119256904280648j":3,"122":3,"126":3,"133":[],"135":[],"13554":[3,6],"136":[],"137":[],"138":[],"139":[],"141":[],"1421481":3,"14493312":3,"1505":[],"1510":[3,8],"156":3,"157785":3,"16326464550817543j":3,"16j":3,"1705":3,"1726183986132194e":3,"17261840e":3,"1811":3,"182":[],"188":[],"1899692":3,"1912":[3,6],"1922":3,"196":[],"197":[],"198":3,"1e1":3,"1e12":[],"1e2":3,"1e3":[3,10],"1e4":3,"1e5":3,"1e6":3,"1e7":3,"1st":4,"200":3,"2000":3,"2002":[3,6,10],"2003fp":3,"2004":3,"2006":1,"2006uv":[],"2007":[],"2008":[0,1,2,3,6],"2015":3,"2015mua":3,"2015rpa":[],"2017":3,"2017ujo":3,"2018woh":3,"2019":3,"2019buj":3,"2020":[3,6,10],"2020stf":3,"2020zxe":3,"2021":3,"2021yft":3,"2099116870819398j":3,"2104":[0,1,2,3],"211101":3,"21268793":3,"220":3,"220446049250313e":[],"22222222":3,"232002":3,"2357279936951819":3,"23572799369518194j":3,"23572799369518196j":[],"23854433":3,"23856751e":3,"2429268700601641e":3,"242926870060164e":3,"24292687e":3,"24444444":3,"24669208642519044":3,"2466920864251905j":3,"249":3,"2500":3,"26237401e":3,"263":[],"266":[],"26666667":3,"271":[],"28086888":3,"2853383784425917e":3,"28533838e":3,"28786454":3,"28888889":3,"2897056515173922":3,"292":3,"29972126":3,"2e_0":[4,6,8],"2nd":[3,4],"2z_":1,"30254435033953":3,"30254435170025":[],"304":[],"308998233380155e":[],"308998239264337e":3,"309036390513164e":[],"309036390524266e":[],"3090363905464706e":[],"309036390568675e":[],"3090363905908795e":[],"31083559":3,"31111111":3,"32195073":3,"32222222":3,"33306659":3,"33333333":3,"33792152":3,"3441831":3,"34444444":3,"34863504":3,"35481551090908514j":3,"3553002":3,"35555556":3,"36641781":3,"36666667":3,"3775359":3,"37777778":3,"3843":3,"38865439":3,"38870748":3,"38888889":3,"398":[],"39977325":3,"3m_":[],"400":3,"4005001":3,"405":[],"413":[],"4140204429035754e":3,"4152404":3,"420776":[],"422":[],"42306262975536":[],"42306262975538":[],"42326579011929":[],"425":[],"426":[],"427":[],"44021512":3,"44444444":3,"447":3,"451":3,"452":[],"457":[],"458304662672944e":[],"458304662783966e":[],"45838752716599e":3,"458387527610078e":[],"464362":[],"464363":3,"464369":[],"46692086e":3,"48001664":3,"48887306e":[],"492":[],"49243756":3,"5000":3,"505":[],"506":[],"507":[],"508":[],"509":[],"513":[],"5281":3,"529679786509501":3,"5305654242757605":[],"54235943":3,"54810537e":[],"54815511e":3,"549939628878317":[],"549942327110178":3,"550":[],"551":[],"552":[],"553":[],"554":[],"55555556":3,"56609646e":3,"584":[],"5d7b5c6b6b66":[],"5e1":3,"5pn":[1,2,8,9],"600":[],"6000":3,"60171749":3,"6132":[],"640":3,"65758381":3,"659":[],"66666667":3,"679":[],"69505105":3,"6m_":[],"70948848":3,"71503552":3,"723":[],"725":[],"727":[],"728":[],"73483518":3,"740":3,"75450582":3,"762":[],"768":3,"77394323":3,"77777778":3,"780":[],"783":3,"79322634":3,"804088097128368":3,"81236455":3,"83136527":3,"8502349":3,"85300":3,"85330":[],"85429":[],"86727763":3,"874":3,"881784197001252e":[3,10],"88888889":3,"932708770516795":3,"9327224689881282":[],"9327224766401472":[],"9327224766401473":[],"9327224766403277":[],"9327225389937235":[],"9381":3,"94869805":3,"95009671":3,"95151386":3,"95294475":3,"95438558":3,"95583338":3,"95728578":3,"95874089":3,"96019724":3,"96165365":3,"98131638158063":[],"981316381580632":[],"9868716459940732":[],"997076276775717e":3,"9985244571758316":[],"9986497050904085":3,"999999":3,"abstract":3,"case":[2,9,10],"class":[2,3,4,5,8,9,10],"default":[0,2,3,4,6,8,9,10],"final":[1,3,6,8,9,10],"float":10,"function":[1,2,4,6,8,10],"import":[0,2,3,5,6,9,10],"int":[3,4,6,8,9,10],"long":[3,6,8],"new":[0,1,2,8,10],"public":[2,3],"return":[1,3,4,6,8,9,10],"short":[4,6,8],"switch":4,"true":[3,4,6,8,9,10],"void":3,"while":3,Added:[1,4,8,9],For:[0,1,2,3,4,6],Its:4,ODE:[1,2,9,10],ODEs:3,One:3,That:[],The:[0,1,2,3,4,6,8,9,10],Then:10,There:[0,2],These:[3,6,9,10],Used:3,With:3,__call__:[3,4,6,8,9,10],__deriv__:[3,9],__init__:3,__version__:10,_circular:3,_citat:3,_equatori:3,_file:3,_num_add_arg:3,_spinless:3,aak:[1,2],aak_out:3,aak_wav:[],aaksumm:[3,8],aakwav:[3,8],aakwaveformbas:[3,6],abc:[6,8,9],abil:1,about:[3,4],abov:[3,6,8],abs:[3,6,8],absolut:[4,10],acceler:[3,6,8],accept:[3,6,8,10],access:[0,1,2,9],accor:[4,6,8],accord:[6,10],accordingli:[4,10],accur:[0,2,6],accuraci:[3,6,10],across:3,activ:[0,2,4],actual:[3,6,9],add:[0,1,2,3,5,6,8],add_arg:6,added:[0,1,2,3],adding:3,addit:[1,3,6,9],addition:[3,9,10],additional_arg:[3,9],adiabat:[3,4,8],adjust:[1,3,4,6,8,9,10],adjust_gpu_usag:[4,6,8,10],affect:[3,9,10],after:[3,6,8],against:[3,6],agnost:10,aid:1,albeit:10,align:3,all:[0,1,2,3,4,5,6,8,10],allclos:[3,10],alloc:[1,3,6,9],allow:[3,4,6,8,9],allow_batch:[3,6],alon:6,along:[3,6,10],alpha:[3,6],alreadi:3,also:[0,2,3,6,9,10],alvin:[0,2,3],amongst:3,amp2:3,amp:3,amp_norm:[],amp_vec_norm_interp:3,amplitud:[0,1,2,6,8,10],amplitude_gener:[4,6],amplitude_kwarg:[3,6],amplitude_modul:6,amplitudebas:4,amplitudevectornorm:3,anaconda3:3,anaconda:[0,2],analysi:[2,3,6],analyt:[2,6,8],analyz:[3,8,9],angl:[1,3,4,6,8,10],angular:[1,3,4,6,8],ani:[0,2,3,4,6,8,9],anyth:3,append:3,appli:[9,10],approach:[],approx:[],approxim:[3,6,8,9],apt:[],arang:3,arbitrari:6,architectur:1,archiveprefix:3,arg:[3,4,6,8,9,10],argsort:[],argument:[0,1,2,3,4,6,8,9,10],arr:[],arrai:[3,4,6,8,9,10],articl:3,artifici:[3,4],arxiv:[0,1,2,3,6,8],asarrai:3,asd:3,aspect:[3,4,8],assign:3,associ:[1,8,9,10],assum:[0,2,3],assume_positive_m:[3,10],astro:3,attain:3,attent:3,attribut:[3,5,6,10],attributes_aakwaveform:6,attributes_amplitudeaak:8,attributes_cubicsplineinterpol:8,attributes_emriinspir:9,attributes_fastschwarzschildeccentricflux:6,attributes_getylm:10,attributes_gpumodulebas:[],attributes_interp2damplitud:4,attributes_interpolatedmodesum:8,attributes_modeselector:10,attributes_parallelmodulebas:[4,6,8,10],attributes_pn5aak:[6,8],attributes_pn5aakwaveform:6,attributes_romanamplitud:4,attributes_runkerrgenericpn5inspir:[],attributes_runschwarzeccfluxinspir:[],attributes_schwarzschildeccentr:[4,6,8],attributes_schwarzschildeccentricwaveformbas:6,attributes_slowschwarzschildeccentricflux:6,attributes_summationbas:8,attributes_waveformbas:[],aug:3,augment:[2,6,8],author:3,automat:[0,2,6],auxillari:9,avail:[0,2,3,4,6,9,10],availabel:3,averag:[],avoid:[0,2],axes:3,axi:[],azimuth:[1,3,4,6,8,10],babak:[],back:[1,3,4,6,8],backend:3,background:[3,4,6,8,9],backward:1,bad:3,barack:3,base:[1,2,4,8,9,10],baseclass:[3,4,6,8,9,10],basi:[3,4,6,8],basic:[2,4,6,8],batch:[3,6],batch_siz:[3,6],becaus:[3,6,10],becom:[],been:10,befor:[],begin:[3,8],behavior:3,behind:3,below:[0,1,2,3,4,8,9],benchmark:1,better:[],between:[4,6,8,10],beyond:3,bia:4,bicub:[0,2,4],binari:[0,2],bird:[0,2],black:[0,2,4,6,8,9,10],blackholeperturbationtoolkit:[0,2,3,8],blank:3,blob:8,blow:9,blue:[],bodi:[],bool:[4,6,8,9,10],both:[0,2,3],bottleneck:3,bottom:[],bound:[3,6,8,10],boundari:8,brand:3,break_index:4,brent:10,brentq:10,brew:[],brief:1,broken:[],buffer:[3,4],bug:1,build:[2,6],built:[1,3,6,10],calcul:[1,3,4,6,8,10],calibr:[4,6,8],call:[3,4,6,8,9,10],calul:10,can:[0,1,2,3,6,8,9,10],capabilit:[4,6,8,10],capabl:[0,2,3,4,6,8,10],captur:3,care:[3,10],carri:[3,6],carrier:[],cast:[8,10],categori:[0,2],caus:[],cbla:4,ccbin:[0,1,2],certain:[3,6],chad:3,chang:[2,4,6,8,10],chapman:[0,2],chateaubriand:[0,2],check:[3,4,6,8,10],check_for_file_download:10,child:[6,8,9],choic:[],chosen:[0,2,3,6,8],chosent:6,christian:[0,2],christoph:3,chua:[0,2,3],circular:[3,9],citat:[1,2,3,4,6,8,9,10],cite:[0,2],clang_osx:[0,2],clangxx_osx:[0,2],classmethod:[6,8,9],clone:[0,2],code:[0,1,2,3,6,8,9,10],coeffici:[3,4,8],collabor:3,collect:5,colorbar:3,column:4,com:[0,2,8],combin:[0,2,3,6,8,10],come:[],command:[0,2],common:[3,4,6,8],compact:[3,4,6,8,9],compar:2,compil:[0,2],complet:[1,6],complex128:[4,6,8,10],complex:[1,3,4,6,8,10],compon:3,comput:[0,2,3,4,6,10],concaten:3,concern:6,conda:[0,2,3],condit:8,conduct:[0,2],confirm:[4,6,8,10],conj:3,conjug:3,consider:10,constant:[1,2,8,10],constitu:[3,4,6,8,10],constrain:3,construct:[3,6,10],constructor:[3,9],contact:3,contain:[0,2,3,4,6,8,10],content:3,contour:3,contourf:3,contribut:10,control:6,convers:[1,10],convert:[2,6,8,10],convert_i:[3,9],coordin:[6,8,9,10],coordinate_tim:[],copi:3,core:[],correct:[0,1,2,3],correl:10,correspond:[3,4,8],cos:[3,6,8,9,10],cosin:[1,6,10],cost:10,cours:8,cpu:[0,2,3,4,6,8],creat:[0,1,2,4,6,8,10],create_waveform:6,creation:[3,8,9],cubic:[2,6,8,9],cubicsplin:[8,9],cubicsplineinterpol:[3,8],cubla:4,cuda92:[0,2],cuda:[0,1,2,8,10],cuda_arch:1,cuda_set_devic:[3,10],cudahom:[0,2],cumsum:[],cupi:[0,2,3,4,6,8,10],current:[0,1,2,3],curt:3,curv:[3,10],custom:[3,8],cut:3,cutler:3,cython:[0,2,3,10],dat:3,data:[0,2,3,4,6,10],dataset:10,deal:[1,4,8],dealloc:3,deconstructor:3,decor:[3,9,10],decreas:9,dedt8h_5pne10:3,def:3,defin:[2,9],definit:[6,8],delai:3,delet:3,dens:[2,6,9],dense_sampl:6,dense_step:[3,9],dense_traj:3,densiti:[3,10],depend:[6,10],deriv:[1,3,6,8,9,10],deriv_func:[3,9],deriv_ord:8,describ:[3,6,10],descript:[1,4,6,8],descriptor:[4,6,8],design:10,desir:[2,4,6,9,10],destructor:[3,9],detail:[0,1,2,3,6,9,10],detect:3,detector:[3,6],determin:[3,4,6,8,9,10],dev:10,deviat:[],devic:[1,2,10],dge:[0,2],diagram:[],dict:[3,4,6,8,9,10],dictionari:[3,4,6,8,10],did:3,differ:[3,4,6,8,9,10],dim1:4,dim2:4,dimens:[4,8],dimension:[3,4,6,8],dimensionless:[2,4,6,8,9,10],direct:[1,2,10],direct_mode_sum:3,directli:[3,4,6,8],directmodesum:[3,6,8],directori:[0,2,3,4,10],discov:[0,2],discuss:[3,6,8,9],dist:[3,6,8],distanc:[1,2,6,8],distribut:[],divd:4,doc:3,document:[0,2,3,4,6,8,9,10],doe:[3,4,6,8,9,10],doi:3,domain:[3,8],done:3,dop853:3,doubl:[3,4,6,8,9,10],down:[3,10],download:[0,2,3,10],dpdt8h_5pne10:3,dpi:3,dps:3,drasco:1,driven:3,dtype:3,due:[3,6],duplic:[3,10],durat:[2,10],dure:[4,6],dydt8h_5pne10:3,dydt:3,e_0:[3,4,6,8],e_al:3,e_out:3,each:[3,4,6,8,9,10],easili:3,eccentr:[1,2,8,9,10],eclipt:[6,8],edg:[3,8,10],edot:[3,9],edotpn:3,effect:6,effici:[3,6,8],egg:3,either:[0,2,4,6,8,9,10],elisa:3,ellip:3,ellipk:3,ellippi1:3,ellippi2:3,ellippi:3,ellipt:3,els:3,embassi:[0,2],emploi:[3,6],empti:10,emri:[1,6,9],emriinspir:[3,9],end:[0,1,2,3,8],enforc:9,enforce_schwarz_sep:[3,9],ensur:3,enter:10,entir:3,entri:[3,4],enumer:3,env:3,environ:[0,2,3],eprint:3,eps:[3,6,10],epsilon:[3,9],equat:[1,3,6],equatori:[3,9,10],equatorti:6,equiv:[3,6,8,10],equival:[1,6],err:9,erratum:[],errno:[],error:[1,6],estim:3,etc:3,eval:3,evalu:[1,3,4,8],even:9,everi:3,everyth:[0,2,3],evolut:[1,3],evolv:[3,6],exact:[6,9],exactli:3,examin:3,exampl:[0,1,2,3,6,8,9,10],except:[3,4],excess:[3,9],exclud:8,execut:3,exihibt:3,exist:[6,10],exit:[0,2],expand:[4,6,8],expect:[4,9],explicitli:3,extra:[3,6],extract:3,extrem:[0,2,3],facil:[0,2],factor:[4,10],fail:9,fall:[0,2],fals:[3,6,8,9,10],fang:[],fast:1,fast_wav:3,fastemriwaveform:[0,2,3,4,8,10],faster:[0,2],fastest:6,fastschwarzschildeccentricflux:[0,1,2,6],fastschwarzschildeccentricpn:3,favorit:3,fed:1,feed:4,fellowship:[0,2],few:[1,3,4,5,6,8,9,10],few_bas:3,few_dir:[3,4,10],few_env:[0,2,3],few_noise_weight:3,fiduci:[],fig:3,figur:4,file:[0,1,2,3,4,9,10],filenotfounderror:[],filer:10,fill:[3,8],filter:[2,6],find:[1,3,10],fine:3,finish:6,first:[0,2,3,4,6,8,9,10],fit:[3,8],fix:[1,3,6],fix_t:[3,9],flatten:[3,4,8],flexibl:[3,4,8,9],float64:3,flux1:[],flux2:[],flux:[1,2,3,9],flux_gener:[],flux_norm:9,fluxnewminuspnscaled_fixed_y_ord:3,folder:[],follow:3,fontsiz:3,forg:[0,2],form:[0,2,3,6],format:3,formul:6,found:[0,1,2,3,6,8,9],foundat:[0,2],four:[0,2,3],fourier:8,foward:4,fraction:[6,10],frame:[2,6],framework:[0,2,3],franc:[0,2],freedom:[1,3,6],frequenc:[1,2,6,8,10],from:[0,1,2,4,6,8,10],front:3,fujita:[0,2,3,6],full:[2,4,6,8],fulli:3,func:[3,8,9,10],functionnam:3,fund_freq_arg:[3,10],fundament:[1,2,6,10],further:[0,2],futur:[4,8],gair:3,gallei:3,gamma:[3,6],gamma_:10,gcc:[0,2],gcc_linux:[0,2],gen_wav:3,gener:[0,1,2,4,10],generateemriwaveform:[3,6],genfromtxt:3,geodes:[1,10],geq0:[4,6,8,10],geq1:[4,6,8,10],geq5:[],get:[9,10],get_amplitud:4,get_at_t:[1,10],get_fundamental_frequ:[3,10],get_inspi:3,get_inspir:[3,9],get_kerr_geo_constants_of_mot:[3,10],get_mismatch:[3,10],get_mu_at_t:[3,10],get_ode_function_lines_nam:[],get_ode_function_opt:[3,9,10],get_overlap:[3,10],get_p_at_t:[3,10],get_separatrix:[3,10],get_waveform:8,getfil:[],getylm:[3,10],git:[0,1,2],github:[0,2,8],give:[3,6,9,10],given:[1,2,6,8,9,10],glampedaki:[],global:[6,10],gnu:[0,2],goe:3,gold:[],good:[3,6,10],gpc:[3,6,8],gpu:[0,1,2,3,4,8,10],gpu_cap:[3,4,6,8,10],gpumodulebas:[],grail:[0,2],grant:[0,2],grav:3,gravit:[1,3],greater:[6,9],grid:4,gsl:[0,2,3,9],gsl_includ:[0,2],gsl_lib:[0,2],guard:3,guid:[],gxx_linu:[0,2],gxx_linux:[0,2],h5py:[0,2],h_p:[3,6],h_x:[3,6,8],hackarmon:10,half:10,handl:[3,6],handler:1,hardwar:[6,8],harmon:[1,2,6,8],has:[3,4,6,8,9,10],have:[0,2,3,4,6,8,9,10],hcross:[6,8],hdf5:[0,2,3],header:[0,2,3],help:[0,2,3,6,9],here:[0,2,3,6,10],heta:8,high:[0,2,6],higher:9,highli:[0,2],highlight:10,hii:[6,8],histori:1,hold:[3,4,8],hole:[0,2,4,6,8,9,10],hope:8,host:[0,2],hour:[],hous:[3,4,8,9],how:3,howev:[0,2,3,4,6,8,9],hplu:[6,8],http:[0,2,3,6,8],hua:[],hugh:[0,1,2,3,4],identifi:3,ignor:3,ih_c:3,ih_x:1,ihx:6,imag:3,imaginari:[3,4],implement:[1,2,6,8,9],improv:[2,6,10],in_coordinate_tim:[3,9],inclin:[1,3,6,8,10],includ:[0,1,2,3,6,8,9,10],include_minus_m:[3,6],increas:[3,4,10],ind:3,independ:[],index:[3,4,6,8,10],index_map:[4,6,8],index_of_:[3,10],index_of_a:[3,10],index_of_interest:10,index_of_mu:[3,10],index_of_p:[3,10],index_of_x:[3,10],indic:[1,3,4,6,8,9,10],individu:[],inds_keep:[],inds_sort:[],infer:3,info:3,inform:[0,1,2,3,4,6,8,10],inherit:[3,6,8],init:3,init_len:[],initi:[1,3,4,6,8,9],inlin:3,inner:10,input:[3,4,6,8,9,10],insert:10,inspir:[0,1,2,3,6,8,10],inspiral_gener:[6,9],inspiral_kwarg:[3,6],inspiral_modul:6,instal:9,instanti:[3,6,10],instead:1,instruct:[0,2],integ:1,integr:[1,3,9],intel:[],interest:[3,8],interfac:[1,2,4,6,8,9],interferometri:3,interp2damplitud:[3,4,6],interp2dcubicsplin:[3,4,6],interp:3,interp_arrai:[3,8],interp_in2:3,interp_in:3,interp_param:3,interpol:[0,1,2,6,9],interpolat:4,interpolate_arrai:8,interpolate_mode_sum:3,interpolatedmodesum:[3,6,8],interpolatemodesum:3,introduct:6,invers:[4,6,8],inverse_lm:[3,4,6,8],iota0:3,iota:[3,6,8,9,10],iota_0:3,ipython:[0,2],isoyama:[0,2],issu:[0,1,2,9,10],its:[3,9,10],jonathan:3,journal:3,jupyt:[0,2],just:3,katz:[0,2,3],keep:10,keep_mod:3,kei:3,kept:3,kernel:[3,8],kerr:[2,9,10],kerr_separatrix:3,kerrgeoconstantsofmot:1,kerrgeocoordinatefrequ:3,keyword:[3,4,8,9,10],kludg:[2,6,8],knot:8,know:9,kosta:[],kwarg:[3,4,6,8,9,10],kwargs_list:[],l_1:6,l_2:6,l_arr:[3,4,6,8,10],l_in:10,l_z:6,label:3,lapack:[0,1,2],lapack_includ:[0,2],lapack_lib:[0,2],larg:[3,6,10],larger:[0,2,3,6],last:[3,4],latu:[3,4,6,8,9],layer:4,ldc:1,ldot:3,ldotpn:3,leak:1,left:[3,6],legend:3,len:[3,4,8],length:[3,4,8,9,10],leo:3,leor:3,leq0:[4,6,8],leq16:6,leq1:[6,8],leq:[4,6,8],less:6,let:[3,9],lett:3,level:6,leverag:[3,6],lib:[0,2,3],librari:[0,2,3],lie:[],like:[0,2,3,6,9],limit:[1,3,4,6,9,10],line2d:3,line:[0,2,3,9],linear:8,link:[0,2],linspac:3,lisa:3,list:[3,4,6,8,9,10],lmax:[4,6,8],lmkn:[1,3,4],lmn:[3,4,6],lmn_indic:[4,6,8],load_and_interpolate_amp_vec_norm_data:3,load_and_interpolate_flux_data:3,local:[],locat:[1,3,4,6,8],log:[2,3],logspac:[],longer:10,look:3,lorenzo:[0,2,3],loss:10,lower:[3,6,10],lpa:3,lpha:[],luminos:[6,8],m0mask:[3,4,6,8,10],m0sort:[4,6,8],m_1:6,m_2:6,m_arr:[3,4,6,8,10],m_in:10,m_zero_up_mask:[4,6,8],macosx:[0,2,3],mai:[0,2,6,10],main:[0,2],mainli:[3,6],major:[1,4,10],make:[0,2,4,6,8],mani:3,map:[3,4,6,8],masaru:3,mask:[4,6,8,10],mass:[0,1,2,3,4,6,8,9,10],massiv:[4,6,8,9,10],master:8,match:1,math:[6,8],mathematica:3,matplotlib:[0,2,3],matric:4,matrix:[3,4],max:3,max_init_len:[3,4,9],max_mu:[],max_num:4,max_p:[],maxim:[3,6],maximum:[3,4,6,8,9,10],mayb:[],mean:[3,8],memori:[1,3,4,9],meshgrid:3,messag:[0,2],method:[3,4,6,8,9,10],methodoligi:[3,6],methodolog:3,mich:[3,6,8],michael:[0,2,3],michael_l_katz_2020_4005001:3,michaelkatz:3,michel:3,midig:9,mikekatz04:[],millihertz:3,min:3,min_len:[],min_mu:[],min_p:[],minimum:10,minumum:[],mirror:3,mismatch:[3,10],mkn:1,mode:[1,2,4,6,8],mode_select:[3,6],mode_selector:[3,6],mode_selector_kwarg:[3,6],mode_selector_noise_weight:3,modeind:[3,10],model:[1,2,4,8,9,10],modes1:3,modes2:3,modeselector:[3,6,10],modul:[0,1,2,4,5,8,9,10],modular:[0,2],momentum:1,month:3,moor:3,more:[1,3,4,6,8,9,10],most:[3,6,8],motion:[2,10],move:3,mpmath:3,msec:3,mtsun_si:3,mu_new:3,multipl:[6,8],must:[0,2,3,6,8,9,10],n_1:6,n_2:6,n_arr:[3,4,6,8,10],name:[3,6,9,10],nan:1,nation:[0,2],nbsphinx:[],ndarrai:[4,6,8,9,10],ndim:[4,6,8],necessari:[0,2,3,6,8,9,10],need:[0,2,9,10],needs_i:[6,8],neg:3,network:[2,3],neural:[3,4],neural_lay:4,neuron:[3,4],new_t:[3,9],new_teuk_mod:3,newaxi:[],newpn5aakwaveform:3,newtonian:2,niel:[0,2,3],ninterp:[3,8],nmax:[4,6,8],nmode:[6,8],no_omp:[0,2],nois:2,noise_weighted_mode_selector_kwarg:3,none:[3,4,6,8,9,10],norichika:[],normal:[3,6,10],normalize_amp:6,northwestern:[0,2],note:[0,2,3,6,8,9,10],notebook:[0,2],notic:3,notimplementederror:[8,9],now:[1,3,6],num:[3,8,10],num_add_arg:[3,9],num_lay:4,num_left_right:[],num_m0:[3,4,6,8,10],num_m_1_up:[3,4,6,8,10],num_m_zero_up:[4,6,8,10],num_mod:[4,6,8],num_modes_kept:[3,6],num_mu:[],num_p:[],num_pt:[],num_teuk_mod:[4,6,8],num_thread:[3,6,10],number:[3,4,6,8,9,10],numer:9,numpi:[0,2,3,4,6,8,10],nvcc:[0,2],nvidia:[0,2],obj:[4,6,8,9,10],object:[3,4,6,8,9,10],observ:[3,6,8,9,10],occur:9,ode:[9,10],ode_bas:[1,3,9],ode_base_exampl:3,ode_prepar:[],odot:3,off:2,offic:[0,2],offici:3,oldest:1,omega:1,omega_:1,omega_phi:[3,9],omega_r:[1,3,9],omega_theta:[3,9],omegaphi:[3,10],omegar:[3,10],omegatheta:[3,10],omp:[1,3],omp_get_num_thread:[3,10],omp_num_thread:[2,6,10],omp_set_num_thread:[3,10],onc:1,one:[3,10],ones_lik:3,onli:[0,2,3,6,10],onlin:6,onto:4,open:3,openmp:[0,2,3,6,10],oper:[3,4,6,9,10],opt:[],option:[0,1,2,4,6,8,9,10],orang:[],orbit:[1,3,4,6,8,9,10],order:[3,4,8,10],org:[0,1,2,3,6,8],orient:3,origin:[3,4,8],other:[0,2,3,6,8,9],our:[0,2,3,6],out1:[],out2:[],out:[1,3,4,8],outer:[],output:[3,4,6,8,9,10],output_typ:8,outsid:[3,4,6,8],over:[1,3,4,8,9,10],overal:[2,4,8,9],overalp:6,overhaul:1,overlap:[3,10],overwritten:6,own:[0,2,3,9],p_0:[2,4,6,8],p_all:3,p_new:3,p_out:3,p_sep:3,p_to_i:10,packag:[0,2,3,5,6],pad:8,pad_output:[3,8],page:3,pai:3,pair:4,paper:[1,3,8],parallel:[2,6,10],parallelmodulebas:[3,4,6,8,10],param:9,paramet:[3,4,6,8,9,10],paramount:3,parent:[3,9],pariti:10,part:[0,2,3,4,6,8],particular:[3,6],particularli:6,pass:[0,2,3,6,9,10],past:[0,1,2],path:[0,2,4,10],patholog:3,pdf:3,pdot:[3,9],peopl:[],per:[],perform:[0,2,3,4,6,8,9,10],perturb:[0,2],phase:[1,3,4,6,8,9],phi:[1,3,4,6,8,9,10],phi_:[1,3,6,8,9],phi_phi0:[3,6,9],phi_phi1:3,phi_phi2:3,phi_phi:[3,8,9],phi_phi_dot:3,phi_phi_in:3,phi_phi_out:3,phi_r0:[3,6,9],phi_r1:3,phi_r2:3,phi_r:[1,3,6,8,9],phi_r_dot:3,phi_r_in:3,phi_r_out:3,phi_theta0:[3,6,9],phi_theta1:3,phi_theta2:3,phi_theta:[3,8,9],phik:[3,6,8],phy:3,physic:3,physrevd:3,physrevlett:3,piec:[1,3],pip:[0,2,3],place:[3,6],placehold:[4,6,8,9],plane:[3,6,10],pleas:[0,1,2,3,4,6,8,10],plot:[1,3],plt:3,plung:8,pn5:[1,3,6,9],pn5_citat:3,pn5_citation1:3,pn5_gener:[],pn5_y:3,pn5aak:[3,6,8,9],pn5aakwaveform:[3,6,8],pn_vs_flux:3,pntrajectori:3,point:[3,4,6,8,9,10],pointer:[3,10],pointer_adjust:10,pointeradjust:[],polar:[1,3,4,6,8,10],port:3,posit:3,possibl:3,post:2,pow:3,power:[2,6,10],pre:6,prebuilt:2,predefin:6,prefer:[4,6,8,10],preload:6,prepar:3,presum:10,pretti:3,previou:3,primaryclass:3,print:3,printf:[],probabl:[0,2],problem:3,process:[0,1,2],produc:[2,4,6,8],product:[3,10],progress:6,project:[0,1,2],proper:[3,10],properli:[0,2,3,4,10],properti:[3,4,6,8,9,10],protect:1,provid:[0,2,3,4,6,8,9,10],psd:[3,10],ptep:[],ptr:10,ptv092:[],publish:3,pull:[0,1,2],pure:[3,8],put:8,py3:3,pyamplitudegener:[],pyplot:3,python3:3,python:[0,1,2,3,8,10],qquad:[],quadrat:8,qualiti:[6,10],quant:3,quantiti:[3,6,8,9,10],quantitit:[3,6],quest:[0,2],quick:[0,2],radial:[1,8],radiat:[],rais:[4,6,8,9,10],randomli:1,rang:[3,4,6,8],rapid:3,rate:8,rather:[3,6,8,9,10],ratio:[0,2,3],ravel:3,reach:[3,6],reaction:[],read:[0,2,3],readlin:[],real:[3,4],realli:4,realloc:4,reason:3,receiv:[6,8],recent:[],recommend:[0,2,3,9],record:10,record_by_vers:10,rectum:[1,3,4,6,8,9,10],reduc:[3,4,6],refer:[1,3,6],region:[4,6,8],rel:10,relat:[3,6,10],relativist:[3,6,8,9],releas:[0,2,3],relev:9,relu:4,remain:3,remov:[0,1,2,3,6,10],renam:[],repositori:[0,2],repres:[3,6,9,10],request:[0,2,3,4,6,8,9,10],requir:[0,2,6,8,9],research:[0,2],reshap:3,resourc:[0,2,4,6,8,10],respect:[1,4,6,8],respons:[3,6,8],result:[0,2,3],return_list:6,rev:3,right:6,rk4:9,rk8:9,rom:4,roman:2,romanamplitud:[3,4,6],romannet:[3,4,6],root:[1,10],routin:10,rtol:[3,10],run:[1,4,6,8,9],run_relu_arr:4,runkerrgenericpn5inspir:[3,6],runschwarzeccfluxinspir:3,ryuichi:[0,2,3],sago:[],same:[3,6,8,10],sampl:[3,6,8],saniti:[3,4,6,8],sanity_check_angl:[6,8],sanity_check_gpu:[4,6,8,10],sanity_check_init:[4,6,8],sanity_check_traj:[4,6,8],sanity_check_viewing_angl:[4,6,8],savefig:3,scalar:[4,10],scale:[1,2],schecc:1,schemat:[],schmidt:[3,6,10],schwarzchild:9,schwarzeccflux:[3,9],schwarzeccflux_equatori:3,schwarzeccflux_file1:3,schwarzeccflux_num_add_arg:3,schwarzeccflux_spinless:3,schwarzschild:[1,2,8,9],schwarzschildeccentr:[3,4,6,8],schwarzschildeccentricinput:3,schwarzschildeccentricwaveformbas:[3,6],schwarzschildgeocoordinatefrequ:3,scienc:[0,2],scipi:[0,2,3,8,9,10],scope:3,scott:[0,2,3,4],script:[],search:10,second:[3,6,8,9,10],section:[3,6],see:[0,2,3,4,6,8,9,10],seem:[0,2],seen:8,select:[1,2,6],selector:6,self:[3,8],semi:[3,4,6,8,9],semilatu:[1,4,6,8,10],semver:[0,2],sennsit:10,sens_fn:3,sensit:[3,10],sensitivity_fn:[3,10],separ:[0,1,2,3,10],separatrix:[1,2,6,9,10],seri:10,set:[0,1,2,4,6,9,10],set_size_inch:3,set_vis:3,set_xlabel:3,set_ylabel:3,setup:[0,1,2,3,4],shape:[3,4,8,9,10],share:[1,6],shave:9,shibata:[3,6],shorten:10,shorter:[3,10],should:[3,6,9],show:[0,2,3,6],show_progress:6,shown:[0,2,3],signal:3,significantli:3,similar:8,simpli:3,simplifi:3,singl:[4,6,8,10],site:3,six:[],size:[3,6],size_t:10,sky:[3,6,8],slow:[0,2,3],slow_wav:3,slower:10,slowschwarzschildeccentricflux:[2,6],small:9,smaller:3,smoothli:[3,6],snapshot:[],snr:1,softwar:[0,2,3],soichiro:[0,2],solar:[4,6,8,9],sole:6,solver:3,some:[4,6,10],sort:[4,6,8,10],sourc:[2,6,8],space:[3,4,8,9],spacetim:[3,4,6,8,9,10],span:[],spars:[3,6,8,10],special:[],special_index_map:[3,4,6,8],specif:[0,1,2,6,8,9,10],specific_kwarg_kei:9,specific_mod:[3,4],specific_modes_minus_m:3,specific_teuk_mod:3,spectral:[3,10],speed:[3,10],speri:[0,2,3],spheric:[1,2,6,8],spheroid:1,spin:[1,2,6,8,9],spine:[3,6],spline2:3,spline:[2,8,9],spline_kwarg:9,split:3,spot:[4,6,8],sqrt:[3,6,8,10],src:[3,8,9],ssb:3,stabl:3,staff:[0,2],stand:4,standard:6,stanislav:[],start:[3,6],state:[0,2],std:3,stein:[3,10],step:[1,2,4,8,9],stock:9,storag:2,store:[4,6],str:[4,6,8,9],strain:10,strict:3,string:[0,2,3,6,10],strongli:[],struct:3,structur:1,subinfo:10,submit:[0,2],subpackag:6,subplot:3,subplots_adjust:3,substitut:[0,2],sucessfulli:3,suit:[3,6],sum:[3,6,8],sum_:1,sum_kwarg:[3,6],sum_modul:6,summat:[0,1,2,6,10],summationbas:8,suppli:10,support:[0,2],sure:[0,2,3,4,6,8],symmetri:3,sys:3,t_new:3,t_out:[3,10],t_window:8,tag:[0,2],take:[1,3,4,6,8,9,10],targ:10,target:10,tdi:[3,6,8],technolog:[0,2],tell:10,temp2:3,temp:3,temp_mat:4,templat:3,temporari:4,term:[3,4,6,8,9],termin:[0,2],tesla:[],test:6,teuk_amps_a0:3,teuk_mod:[3,8,10],teuk_modes_in:3,teukolski:[1,3,4,6,8,10],text:3,tfinterpolatedmodesum:[],than:[3,6,8,9,10],thei:[0,2,3,4,6,8,10],them:10,theme:3,therefor:[0,2,3,6,10],theta:[1,3,4,6,8,9,10],thi:[0,1,2,4,5,6,8,9,10],thing:3,those:[0,2,3,6],though:[3,9],thread:[1,3,6,10],three:[3,10],threshold:[],through:[0,2,3,6,9,10],thrown:[3,4],thte:[4,6,8],time:[0,1,2,6,8,9,10],time_series_1:10,time_series_2:10,times10:[],timestep:[3,9],titl:3,tkwarg:10,tnew:8,todo:2,toler:[3,9,10],tomegaphi:3,tomegar:3,tomegatheta:3,too:9,tool:[2,3],toolkit:[0,2],top:[],total:[0,2,3,4,6,8,9,10],toward:[],tqdm:[0,2,6],traceback:[],train:[3,4],trait:6,traj2:3,traj:[3,9],traj_arg:[3,10],traj_kwarg:[3,10],traj_modul:[3,10],trajecotri:9,trajectori:[0,1,2,4,8,10],trajectory_pn_vs_flux:3,trajectorybas:[3,6,9],tranfer:8,tranform:4,transfer:[4,9],transform:[3,4,6],transform_factor_inv:4,transform_matrix:4,transform_output:4,treatment:[],trjectori:[],truncat:3,tsec:3,tseparatrix:3,tuekolski:4,tupl:[3,4,6,8,9,10],turn:[2,9],tutori:[2,9],tvec:8,twice:[3,10],two:[0,1,2,10],txt:3,type:[3,4,6,8,9,10],unaccess:[],under:[0,2,3,6],underli:3,union:[],uniqu:[4,6,8],unique_l:[3,4,6,8],unique_m:[3,4,6,8],unit:[0,2,9],unittest:[0,2],univers:[0,2],unless:10,unlik:8,unnecessari:6,until:[3,6],updat:1,upping:1,upsampl:[3,9],url:3,usag:[0,2,4,6,8,10],use:[0,2,3,4,6,8,9,10],use_gpu:[3,4,6,8,10],use_rk4:9,used:[3,4,5,6,8,9,10],usel:10,user:[3,4,6,8,9,10],userwarn:3,uses:[3,4,9,10],using:[0,2,3,5,6,8,9,10],usr:[],usual:[3,10],util:[0,1,2,4,5,6,8,9],v100:[],valid:[3,4,6,8],vallisneri:3,valu:[3,4,6,8,9,10],valueerror:[4,6,8,9,10],vari:[3,6],variabl:[0,2,3,6,9,10],varieti:[0,2],variou:[0,1,2,4,6,8,9],varphi:[],vastli:[3,6],vector:[2,4],veri:3,version:[3,10],version_str:10,via:10,view:[0,1,2,3,4,6,8,10],virtual:[0,2],visibl:[],volum:3,wai:[3,8],wall:[],want:[0,2,3,4,6,8,10],warburton:[0,2,3,10],warn:[3,4,6,8,10],wave1:3,wave2:3,wave:[1,2],wave_22:3,wave_22_minus_m:3,wave_22_pos_m:3,wave_aak:3,wave_bas:3,wave_gener:3,wave_weight:3,waveform1:3,waveform2:3,waveform:[1,4,9,10],waveform_class:6,waveform_gener:8,waveform_lw:3,waveformbas:[],wavefrom:6,wavelength:[3,6,8],wavelet:8,weight:[1,2,4,6,8],well:[3,6,8],were:[3,4],wget:[0,1,2],what:[3,10],when:[0,1,2,3,4,6,8,10],where:[1,3,9,10],whether:[3,4],which:[1,3,4,6,8,9,10],whole:3,window:[0,2],within:[0,2,3,4,6,8],without:[0,2,6],work:[3,6],worst:[],would:[0,2],wrap:[4,6,8,9],wrapper:10,wrong:1,wspace:3,x86_64:3,x_i:[1,2,6,8,9,10],x_new:3,xdot:[3,9],xeon:[],xi_to_i:[3,10],xlab:3,xlabel:3,xtol:[3,10],y_0:[6,8],y_all:8,y_to_xi:[1,3,10],ydot:3,year:[3,6,8,9],ylab:3,ylabel:3,ylm:[3,6,8,10],ylm_gen:[3,6],ylm_kwarg:[3,6],ylmkeep:3,ylms_in:3,you:[0,2,3,10],your:[0,2],ypn:3,yrsid_si:3,zenodo:[0,2,3,10],zero:[1,3,6,8],zeros_lik:3,zip:[0,2,3]},titles:["few: Fast EMRI Waveforms","FastEMRIWaveforms Publications","few: Fast EMRI Waveforms","Fast and Accurate EMRI Waveforms Tutorial","Amplitude Package","Citations","Overall Waveform Models","Pointer Adjustment","Summation Package","Trajectory Package","Utilities"],titleterms:{"5pn":[3,6],"case":3,"class":6,"function":[3,9],"new":3,"public":1,ODE:3,aak:[3,6,8],accur:3,acknowledg:[0,2],adiabat:[],adjust:7,amplitud:[3,4],analysi:10,analyt:3,augment:3,author:[0,2],base:[3,6],basic:3,bicub:3,build:3,chang:[1,3],citat:5,cite:3,compar:3,constant:3,contibutor:[0,2],contribut:[0,2,3],convert:3,creat:3,cubic:[3,4],cuda:3,defin:3,dens:3,desir:3,devic:3,dimensionless:3,direct:[3,8],distanc:3,document:[],durat:3,eccentr:[3,4,6],emri:[0,2,3],fast:[0,2,3,6],fastemriwaveform:1,fastschwarzschildeccentricflux:3,few:[0,2],filter:10,flux:6,frame:3,frequenc:3,from:[3,9],full:3,fundament:3,gener:[3,6,8,9],get:[0,2,3],given:3,gpu:6,harmon:[3,10],implement:3,improv:3,inform:[],inspir:9,instal:[0,2,3],interfac:3,interpol:[3,4,8],kerr:[3,6],kludg:3,licens:[0,2],log:1,make:3,mode:[3,10],model:[3,6],modul:[3,6],motion:3,need:3,network:4,newtonian:3,nois:3,off:3,omp_num_thread:3,option:3,other:10,overal:6,p_0:3,packag:[1,4,8,9],parallel:3,pointer:7,post:3,power:3,prebuilt:6,prerequisit:[0,2],produc:3,requir:3,roman:[3,4],run:[0,2,3],scale:3,schwarzschild:[3,4,6],select:3,separatrix:3,set:3,slow:6,slowschwarzschildeccentricflux:3,sourc:3,specif:3,spheric:[3,10],spin:[3,10],spline:[3,4],start:[0,2],step:3,storag:3,summat:[3,8],test:[0,2,3],thi:3,time:3,todo:1,tool:10,trajectori:[3,6,9],turn:3,tutori:3,two:3,util:[3,10],vector:3,version:[0,2],wave:3,waveform:[0,2,3,6,8],weight:[3,10],without:3,x_i:3,your:3}}) \ No newline at end of file diff --git a/docs/html/tutorial/FastEMRIWaveforms_tutorial.html b/docs/html/tutorial/FastEMRIWaveforms_tutorial.html index 2532c6af..da1e16b9 100644 --- a/docs/html/tutorial/FastEMRIWaveforms_tutorial.html +++ b/docs/html/tutorial/FastEMRIWaveforms_tutorial.html @@ -2622,7 +2622,8 @@

Test your trajectory

Implement ODE in C/C++

-

If you want to implement a set of ODE equations in C/C++, you can add your function to src/ode_base.cc. When you run python setup install, the installer will build a full file of ODEs and take care of all of the backend aspects to the integration. You only have to implement the ODE. You identify the ODE functions with __deriv__ decorator. #define is then used to give extra necessary information on the function. Options are:

+

If you want to implement a set of ODE equations in C/C++, you can add your function to src/ode_base.cc. You have to create the file if you have not already. Make sure it is in the src/ directory. When you run python setup install, the installer will build a full file of ODEs and take care of all of the backend aspects to the integration. You only have to implement the ODE. You identify the ODE functions with __deriv__ decorator. #define is then used to give extra +necessary information on the function. Options are:

@@ -2947,7 +2973,7 @@

Augmented Analytic Kludge with 5PN trajectory

-../_images/tutorial_FastEMRIWaveforms_tutorial_134_1.png +../_images/tutorial_FastEMRIWaveforms_tutorial_135_1.png

We can also assume a long-wavelength LISA response by setting mich=True. Please note this is not Time-delay interferometry (TDI).

@@ -2984,7 +3010,7 @@

Augmented Analytic Kludge with 5PN trajectory
-../_images/tutorial_FastEMRIWaveforms_tutorial_137_1.png +../_images/tutorial_FastEMRIWaveforms_tutorial_138_1.png
-../_images/tutorial_FastEMRIWaveforms_tutorial_142_0.png +../_images/tutorial_FastEMRIWaveforms_tutorial_143_0.png

With the PN trajectory, we need to be careful at smaller \(p\), larger \(a\), and larger \(e\). This trajectory can exihibt pathological behavior near these extremes. Therefore, we provide the option to truncate the trajectory at the Schwarzschild (\(a=0\)) separatrix, \(6 + 2e\). To do this, you provide the keyword enforce_schwarz_sep=True to the initialization of the class.

@@ -3138,7 +3164,7 @@

5PN Trajectory
-../_images/tutorial_FastEMRIWaveforms_tutorial_146_0.png +../_images/tutorial_FastEMRIWaveforms_tutorial_147_0.png
@@ -3226,7 +3252,7 @@

Building an AAK waveform from a given trajectory (in this case the 5PN traje
-../_images/tutorial_FastEMRIWaveforms_tutorial_150_1.png +../_images/tutorial_FastEMRIWaveforms_tutorial_151_1.png
@@ -3252,7 +3278,7 @@

Building an AAK waveform from a given trajectory (in this case the 5PN traje
-../_images/tutorial_FastEMRIWaveforms_tutorial_151_1.png +../_images/tutorial_FastEMRIWaveforms_tutorial_152_1.png

@@ -3319,7 +3345,7 @@

Generating the new AAK with the generic waveform generator
-../_images/tutorial_FastEMRIWaveforms_tutorial_153_1.png +../_images/tutorial_FastEMRIWaveforms_tutorial_154_1.png
diff --git a/docs/html/tutorial/FastEMRIWaveforms_tutorial.ipynb b/docs/html/tutorial/FastEMRIWaveforms_tutorial.ipynb index c10ab855..1ce171a1 100644 --- a/docs/html/tutorial/FastEMRIWaveforms_tutorial.ipynb +++ b/docs/html/tutorial/FastEMRIWaveforms_tutorial.ipynb @@ -2608,7 +2608,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "If you want to implement a set of ODE equations in C/C++, you can add your function to `src/ode_base.cc`. When you run `python setup install`, the installer will build a full file of ODEs and take care of all of the backend aspects to the integration. **You only have to implement the ODE**. You identify the ODE functions with `__deriv__` decorator. `#define` is then used to give extra necessary information on the function. Options are:\n", + "If you want to implement a set of ODE equations in C/C++, you can add your function to `src/ode_base.cc`. You have to create the file if you have not already. Make sure it is in the `src/` directory. When you run `python setup install`, the installer will build a full file of ODEs and take care of all of the backend aspects to the integration. **You only have to implement the ODE**. You identify the ODE functions with `__deriv__` decorator. `#define` is then used to give extra necessary information on the function. Options are:\n", "\n", "* `#define {waveform function name}_num_add_args {number of added args}`: Number of additional arguments beyond the required arguments. \n", "* `#define {waveform function name}_spinless`: Indicated Schwarzschild background. \n", @@ -2640,18 +2640,22 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "If the ODE is purely analytic, a function will work. Here is an example with the 5PN trajectory:\n", + "If the ODE is purely analytic, a function will work. Here is an example with the 5PN trajectory (see`include/ode_base_example.cc`):\n", "\n", "````\n", "#define pn5_Y\n", "#define pn5_citation1 pn5_citation\n", "__deriv__\n", "void pn5(double* pdot, double* edot, double* Ydot,\n", - " double Omega_phi, double Omega_theta, double Omega_r,\n", + " double* Omega_phi, double* Omega_theta, double* Omega_r,\n", " double epsilon, double a, double p, double e, double Y, double* additional_args)\n", "{\n", " // evaluate ODEs\n", "\n", + " // the frequency variables are pointers!\n", + " double x = Y_to_xI(a, p, e, Y);\n", + " KerrGeoCoordinateFrequencies(Omega_phi, Omega_theta, Omega_r, a, p, e, x);\n", + "\n", "\tint Nv = 10;\n", " int ne = 10;\n", " *pdot = epsilon * dpdt8H_5PNe10 (a, p, e, Y, Nv, ne);\n", @@ -2663,11 +2667,7 @@ "\n", " Nv = 7;\n", " ne = 10;\n", - " *Ydot = -epsilon * dYdt8H_5PNe10 (a, p, e, Y, Nv, ne);\n", - "\n", - " // convert to proper inclination input to fundamental frequencies\n", - " double xI = Y_to_xI(a, p, e, Y);\n", - " KerrGeoCoordinateFrequencies(Omega_phi, Omega_theta, Omega_r, a, p, e, xI);\n", + " *Ydot = epsilon * dYdt8H_5PNe10 (a, p, e, Y, Nv, ne);\n", "\n", "}\n", "````\n", @@ -2689,7 +2689,7 @@ "If your function requires the storage of files or interpolants, you can also build your ODE as a class. In this case, \n", "it must have a constructor, destructor, and method called `deriv_func` with the ODEs.\n", "\n", - "Here is the implementation for the flux driven trajectory:\n", + "Here is the implementation for the flux driven trajectory (see`include/ode_base_example.cc`):\n", "\n", "````\n", "\n", @@ -2713,7 +2713,7 @@ "#define SchwarzEccFlux_file1 FluxNewMinusPNScaled_fixed_y_order.dat\n", "__deriv__\n", "void SchwarzEccFlux::deriv_func(double* pdot, double* edot, double* xdot,\n", - " double Omega_phi, double Omega_theta, double Omega_r,\n", + " double* Omega_phi, double* Omega_theta, double* Omega_r,\n", " double epsilon, double a, double p, double e, double x, double* additional_args)\n", "{\n", " if ((6.0 + 2. * e) > p)\n", @@ -2721,16 +2721,17 @@ " *pdot = 0.0;\n", " *edot = 0.0;\n", " *xdot = 0.0;\n", - "\n", " return;\n", " }\n", + "\n", + " SchwarzschildGeoCoordinateFrequencies(Omega_phi, Omega_r, p, e);\n", + " *Omega_theta = *Omega_phi;\n", + "\n", " double y1 = log((p -2.*e - 2.1));\n", "\n", " // evaluate ODEs, starting with PN contribution, then interpolating over remaining flux contribution\n", "\n", - " SchwarzschildGeoCoordinateFrequencies(Omega_phi, Omega_r, p, e);\n", - "\n", - "\tdouble yPN = pow((Omega_phi),2./3.);\n", + "\tdouble yPN = pow((*Omega_phi),2./3.);\n", "\n", "\tdouble EdotPN = (96 + 292*Power(e,2) + 37*Power(e,4))/(15.*Power(1 - Power(e,2),3.5)) * pow(yPN, 5);\n", "\tdouble LdotPN = (4*(8 + 7*Power(e,2)))/(5.*Power(-1 + Power(e,2),2)) * pow(yPN, 7./2.);\n", @@ -2757,7 +2758,6 @@ " *xdot = 0.0;\n", "}\n", "\n", - "\n", "// When interfacing with cython, it helps to have dealloc function to explicitly call\n", "// rather than the deconstructor\n", "SchwarzEccFlux::~SchwarzEccFlux()\n", @@ -2773,6 +2773,39 @@ "````" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this case, where the functions are implemented in a class, you will have to add the class to the header file: `include/ode_base.hh`. You do not need to add anything to the header file if you are working with functions and not classes. You will need to create this file if you have not already. Make sure it is in the `include/` directory. Here is an example of what is placed in the header file when working with classes (see `include/ode_base_example.hh`):\n", + "\n", + "````\n", + "#include \"Interpolant.h\"\n", + "\n", + "// Used to pass the interpolants to the ODE solver\n", + "struct interp_params{\n", + "\tdouble epsilon;\n", + "\tInterpolant *Edot;\n", + "\tInterpolant *Ldot;\n", + "};\n", + "\n", + "class SchwarzEccFlux{\n", + "public:\n", + " interp_params *interps;\n", + " Interpolant *amp_vec_norm_interp;\n", + " double test;\n", + "\n", + " SchwarzEccFlux(std::string few_dir);\n", + "\n", + " void deriv_func(double* pdot, double* edot, double* Ydot,\n", + " double* Omega_phi, double* Omega_theta, double* Omega_r,\n", + " double epsilon, double a, double p, double e, double Y, double* additional_args);\n", + " ~SchwarzEccFlux();\n", + "};\n", + "\n", + "````" + ] + }, { "cell_type": "markdown", "metadata": {}, diff --git a/docs/source/README.rst b/docs/source/README.rst index 0dfad98d..6c69c018 100644 --- a/docs/source/README.rst +++ b/docs/source/README.rst @@ -199,7 +199,7 @@ We use `SemVer `__ for versioning. For the versions available, see the `tags on this repository `__. -Current Version: 1.4.3 +Current Version: 1.4.4 Authors ------- diff --git a/docs/source/general/docs_main.rst b/docs/source/general/docs_main.rst index 1691d6d7..e10c77b3 100644 --- a/docs/source/general/docs_main.rst +++ b/docs/source/general/docs_main.rst @@ -34,6 +34,7 @@ Package TODOs Change Log =========== +- 1.4.4: Bug fix at zero eccentricity. Frequencies back in ODE. Fix for git pull issue with ode_base files. - 1.4.3: Bug fixes for additional arguments in SchEcc waveform base. - 1.4.2: Bug fixes for additional arguments in AAK waveform. - 1.4.1: Bug fixes. diff --git a/docs/source/tutorial/FastEMRIWaveforms_tutorial.ipynb b/docs/source/tutorial/FastEMRIWaveforms_tutorial.ipynb index c10ab855..1ce171a1 100644 --- a/docs/source/tutorial/FastEMRIWaveforms_tutorial.ipynb +++ b/docs/source/tutorial/FastEMRIWaveforms_tutorial.ipynb @@ -2608,7 +2608,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "If you want to implement a set of ODE equations in C/C++, you can add your function to `src/ode_base.cc`. When you run `python setup install`, the installer will build a full file of ODEs and take care of all of the backend aspects to the integration. **You only have to implement the ODE**. You identify the ODE functions with `__deriv__` decorator. `#define` is then used to give extra necessary information on the function. Options are:\n", + "If you want to implement a set of ODE equations in C/C++, you can add your function to `src/ode_base.cc`. You have to create the file if you have not already. Make sure it is in the `src/` directory. When you run `python setup install`, the installer will build a full file of ODEs and take care of all of the backend aspects to the integration. **You only have to implement the ODE**. You identify the ODE functions with `__deriv__` decorator. `#define` is then used to give extra necessary information on the function. Options are:\n", "\n", "* `#define {waveform function name}_num_add_args {number of added args}`: Number of additional arguments beyond the required arguments. \n", "* `#define {waveform function name}_spinless`: Indicated Schwarzschild background. \n", @@ -2640,18 +2640,22 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "If the ODE is purely analytic, a function will work. Here is an example with the 5PN trajectory:\n", + "If the ODE is purely analytic, a function will work. Here is an example with the 5PN trajectory (see`include/ode_base_example.cc`):\n", "\n", "````\n", "#define pn5_Y\n", "#define pn5_citation1 pn5_citation\n", "__deriv__\n", "void pn5(double* pdot, double* edot, double* Ydot,\n", - " double Omega_phi, double Omega_theta, double Omega_r,\n", + " double* Omega_phi, double* Omega_theta, double* Omega_r,\n", " double epsilon, double a, double p, double e, double Y, double* additional_args)\n", "{\n", " // evaluate ODEs\n", "\n", + " // the frequency variables are pointers!\n", + " double x = Y_to_xI(a, p, e, Y);\n", + " KerrGeoCoordinateFrequencies(Omega_phi, Omega_theta, Omega_r, a, p, e, x);\n", + "\n", "\tint Nv = 10;\n", " int ne = 10;\n", " *pdot = epsilon * dpdt8H_5PNe10 (a, p, e, Y, Nv, ne);\n", @@ -2663,11 +2667,7 @@ "\n", " Nv = 7;\n", " ne = 10;\n", - " *Ydot = -epsilon * dYdt8H_5PNe10 (a, p, e, Y, Nv, ne);\n", - "\n", - " // convert to proper inclination input to fundamental frequencies\n", - " double xI = Y_to_xI(a, p, e, Y);\n", - " KerrGeoCoordinateFrequencies(Omega_phi, Omega_theta, Omega_r, a, p, e, xI);\n", + " *Ydot = epsilon * dYdt8H_5PNe10 (a, p, e, Y, Nv, ne);\n", "\n", "}\n", "````\n", @@ -2689,7 +2689,7 @@ "If your function requires the storage of files or interpolants, you can also build your ODE as a class. In this case, \n", "it must have a constructor, destructor, and method called `deriv_func` with the ODEs.\n", "\n", - "Here is the implementation for the flux driven trajectory:\n", + "Here is the implementation for the flux driven trajectory (see`include/ode_base_example.cc`):\n", "\n", "````\n", "\n", @@ -2713,7 +2713,7 @@ "#define SchwarzEccFlux_file1 FluxNewMinusPNScaled_fixed_y_order.dat\n", "__deriv__\n", "void SchwarzEccFlux::deriv_func(double* pdot, double* edot, double* xdot,\n", - " double Omega_phi, double Omega_theta, double Omega_r,\n", + " double* Omega_phi, double* Omega_theta, double* Omega_r,\n", " double epsilon, double a, double p, double e, double x, double* additional_args)\n", "{\n", " if ((6.0 + 2. * e) > p)\n", @@ -2721,16 +2721,17 @@ " *pdot = 0.0;\n", " *edot = 0.0;\n", " *xdot = 0.0;\n", - "\n", " return;\n", " }\n", + "\n", + " SchwarzschildGeoCoordinateFrequencies(Omega_phi, Omega_r, p, e);\n", + " *Omega_theta = *Omega_phi;\n", + "\n", " double y1 = log((p -2.*e - 2.1));\n", "\n", " // evaluate ODEs, starting with PN contribution, then interpolating over remaining flux contribution\n", "\n", - " SchwarzschildGeoCoordinateFrequencies(Omega_phi, Omega_r, p, e);\n", - "\n", - "\tdouble yPN = pow((Omega_phi),2./3.);\n", + "\tdouble yPN = pow((*Omega_phi),2./3.);\n", "\n", "\tdouble EdotPN = (96 + 292*Power(e,2) + 37*Power(e,4))/(15.*Power(1 - Power(e,2),3.5)) * pow(yPN, 5);\n", "\tdouble LdotPN = (4*(8 + 7*Power(e,2)))/(5.*Power(-1 + Power(e,2),2)) * pow(yPN, 7./2.);\n", @@ -2757,7 +2758,6 @@ " *xdot = 0.0;\n", "}\n", "\n", - "\n", "// When interfacing with cython, it helps to have dealloc function to explicitly call\n", "// rather than the deconstructor\n", "SchwarzEccFlux::~SchwarzEccFlux()\n", @@ -2773,6 +2773,39 @@ "````" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this case, where the functions are implemented in a class, you will have to add the class to the header file: `include/ode_base.hh`. You do not need to add anything to the header file if you are working with functions and not classes. You will need to create this file if you have not already. Make sure it is in the `include/` directory. Here is an example of what is placed in the header file when working with classes (see `include/ode_base_example.hh`):\n", + "\n", + "````\n", + "#include \"Interpolant.h\"\n", + "\n", + "// Used to pass the interpolants to the ODE solver\n", + "struct interp_params{\n", + "\tdouble epsilon;\n", + "\tInterpolant *Edot;\n", + "\tInterpolant *Ldot;\n", + "};\n", + "\n", + "class SchwarzEccFlux{\n", + "public:\n", + " interp_params *interps;\n", + " Interpolant *amp_vec_norm_interp;\n", + " double test;\n", + "\n", + " SchwarzEccFlux(std::string few_dir);\n", + "\n", + " void deriv_func(double* pdot, double* edot, double* Ydot,\n", + " double* Omega_phi, double* Omega_theta, double* Omega_r,\n", + " double epsilon, double a, double p, double e, double Y, double* additional_args);\n", + " ~SchwarzEccFlux();\n", + "};\n", + "\n", + "````" + ] + }, { "cell_type": "markdown", "metadata": {}, diff --git a/examples/FastEMRIWaveforms_tutorial.ipynb b/examples/FastEMRIWaveforms_tutorial.ipynb index c10ab855..1ce171a1 100644 --- a/examples/FastEMRIWaveforms_tutorial.ipynb +++ b/examples/FastEMRIWaveforms_tutorial.ipynb @@ -2608,7 +2608,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "If you want to implement a set of ODE equations in C/C++, you can add your function to `src/ode_base.cc`. When you run `python setup install`, the installer will build a full file of ODEs and take care of all of the backend aspects to the integration. **You only have to implement the ODE**. You identify the ODE functions with `__deriv__` decorator. `#define` is then used to give extra necessary information on the function. Options are:\n", + "If you want to implement a set of ODE equations in C/C++, you can add your function to `src/ode_base.cc`. You have to create the file if you have not already. Make sure it is in the `src/` directory. When you run `python setup install`, the installer will build a full file of ODEs and take care of all of the backend aspects to the integration. **You only have to implement the ODE**. You identify the ODE functions with `__deriv__` decorator. `#define` is then used to give extra necessary information on the function. Options are:\n", "\n", "* `#define {waveform function name}_num_add_args {number of added args}`: Number of additional arguments beyond the required arguments. \n", "* `#define {waveform function name}_spinless`: Indicated Schwarzschild background. \n", @@ -2640,18 +2640,22 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "If the ODE is purely analytic, a function will work. Here is an example with the 5PN trajectory:\n", + "If the ODE is purely analytic, a function will work. Here is an example with the 5PN trajectory (see`include/ode_base_example.cc`):\n", "\n", "````\n", "#define pn5_Y\n", "#define pn5_citation1 pn5_citation\n", "__deriv__\n", "void pn5(double* pdot, double* edot, double* Ydot,\n", - " double Omega_phi, double Omega_theta, double Omega_r,\n", + " double* Omega_phi, double* Omega_theta, double* Omega_r,\n", " double epsilon, double a, double p, double e, double Y, double* additional_args)\n", "{\n", " // evaluate ODEs\n", "\n", + " // the frequency variables are pointers!\n", + " double x = Y_to_xI(a, p, e, Y);\n", + " KerrGeoCoordinateFrequencies(Omega_phi, Omega_theta, Omega_r, a, p, e, x);\n", + "\n", "\tint Nv = 10;\n", " int ne = 10;\n", " *pdot = epsilon * dpdt8H_5PNe10 (a, p, e, Y, Nv, ne);\n", @@ -2663,11 +2667,7 @@ "\n", " Nv = 7;\n", " ne = 10;\n", - " *Ydot = -epsilon * dYdt8H_5PNe10 (a, p, e, Y, Nv, ne);\n", - "\n", - " // convert to proper inclination input to fundamental frequencies\n", - " double xI = Y_to_xI(a, p, e, Y);\n", - " KerrGeoCoordinateFrequencies(Omega_phi, Omega_theta, Omega_r, a, p, e, xI);\n", + " *Ydot = epsilon * dYdt8H_5PNe10 (a, p, e, Y, Nv, ne);\n", "\n", "}\n", "````\n", @@ -2689,7 +2689,7 @@ "If your function requires the storage of files or interpolants, you can also build your ODE as a class. In this case, \n", "it must have a constructor, destructor, and method called `deriv_func` with the ODEs.\n", "\n", - "Here is the implementation for the flux driven trajectory:\n", + "Here is the implementation for the flux driven trajectory (see`include/ode_base_example.cc`):\n", "\n", "````\n", "\n", @@ -2713,7 +2713,7 @@ "#define SchwarzEccFlux_file1 FluxNewMinusPNScaled_fixed_y_order.dat\n", "__deriv__\n", "void SchwarzEccFlux::deriv_func(double* pdot, double* edot, double* xdot,\n", - " double Omega_phi, double Omega_theta, double Omega_r,\n", + " double* Omega_phi, double* Omega_theta, double* Omega_r,\n", " double epsilon, double a, double p, double e, double x, double* additional_args)\n", "{\n", " if ((6.0 + 2. * e) > p)\n", @@ -2721,16 +2721,17 @@ " *pdot = 0.0;\n", " *edot = 0.0;\n", " *xdot = 0.0;\n", - "\n", " return;\n", " }\n", + "\n", + " SchwarzschildGeoCoordinateFrequencies(Omega_phi, Omega_r, p, e);\n", + " *Omega_theta = *Omega_phi;\n", + "\n", " double y1 = log((p -2.*e - 2.1));\n", "\n", " // evaluate ODEs, starting with PN contribution, then interpolating over remaining flux contribution\n", "\n", - " SchwarzschildGeoCoordinateFrequencies(Omega_phi, Omega_r, p, e);\n", - "\n", - "\tdouble yPN = pow((Omega_phi),2./3.);\n", + "\tdouble yPN = pow((*Omega_phi),2./3.);\n", "\n", "\tdouble EdotPN = (96 + 292*Power(e,2) + 37*Power(e,4))/(15.*Power(1 - Power(e,2),3.5)) * pow(yPN, 5);\n", "\tdouble LdotPN = (4*(8 + 7*Power(e,2)))/(5.*Power(-1 + Power(e,2),2)) * pow(yPN, 7./2.);\n", @@ -2757,7 +2758,6 @@ " *xdot = 0.0;\n", "}\n", "\n", - "\n", "// When interfacing with cython, it helps to have dealloc function to explicitly call\n", "// rather than the deconstructor\n", "SchwarzEccFlux::~SchwarzEccFlux()\n", @@ -2773,6 +2773,39 @@ "````" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this case, where the functions are implemented in a class, you will have to add the class to the header file: `include/ode_base.hh`. You do not need to add anything to the header file if you are working with functions and not classes. You will need to create this file if you have not already. Make sure it is in the `include/` directory. Here is an example of what is placed in the header file when working with classes (see `include/ode_base_example.hh`):\n", + "\n", + "````\n", + "#include \"Interpolant.h\"\n", + "\n", + "// Used to pass the interpolants to the ODE solver\n", + "struct interp_params{\n", + "\tdouble epsilon;\n", + "\tInterpolant *Edot;\n", + "\tInterpolant *Ldot;\n", + "};\n", + "\n", + "class SchwarzEccFlux{\n", + "public:\n", + " interp_params *interps;\n", + " Interpolant *amp_vec_norm_interp;\n", + " double test;\n", + "\n", + " SchwarzEccFlux(std::string few_dir);\n", + "\n", + " void deriv_func(double* pdot, double* edot, double* Ydot,\n", + " double* Omega_phi, double* Omega_theta, double* Omega_r,\n", + " double epsilon, double a, double p, double e, double Y, double* additional_args);\n", + " ~SchwarzEccFlux();\n", + "};\n", + "\n", + "````" + ] + }, { "cell_type": "markdown", "metadata": {}, diff --git a/few/utils/odeprepare.py b/few/utils/odeprepare.py index e5a9d819..a1f0d7b5 100644 --- a/few/utils/odeprepare.py +++ b/few/utils/odeprepare.py @@ -14,9 +14,13 @@ def get_ode_function_lines_names(): Second entry is dictionary with information on available ODE functions. """ - with open(dir_path + "/../../src/ode_base.cc", "r") as fp: + with open(dir_path + "/../../src/ode_base_example.cc", "r") as fp: lines = fp.readlines() + if "ode_base.cc" in os.listdir(dir_path + "/../../src/"): + with open(dir_path + "/../../src/ode_base.cc", "r") as fp: + lines += fp.readlines() + # find derivative functions and get info functions_info = {} for i in range(len(lines) - 1): @@ -102,7 +106,7 @@ def ode_prepare(): ) full += line - # build class for functions in ode_base.cc + # build class for functions in ode_base_example.cc for i, (func, info) in enumerate(functions_info.items()): if info["type"] == "func": full.replace("void " + func, "void " + func + "_base_func") @@ -113,7 +117,7 @@ def ode_prepare(): {0}::~{0}(){1}{2} void {0}::deriv_func(double* pdot, double* edot, double* Ydot, - double Omega_phi, double Omega_theta, double Omega_r, + double* Omega_phi, double* Omega_theta, double* Omega_r, double epsilon, double a, double p, double e, double Y, double* additional_args) {1} {0}_base_func(pdot, edot, Ydot, Omega_phi, Omega_theta, Omega_r, @@ -132,7 +136,7 @@ def ode_prepare(): few_dir = few_dir_; """ - # setup for all functions in ode_base.cc + # setup for all functions in ode_base_example.cc for i, (func, info) in enumerate(functions_info.items()): lead = "if" if i == 0 else "else if" @@ -164,7 +168,7 @@ def ode_prepare(): full += """ void ODECarrier::get_derivatives(double* pdot, double* edot, double* Ydot, - double Omega_phi, double Omega_theta, double Omega_r, + double* Omega_phi, double* Omega_theta, double* Omega_r, double epsilon, double a, double p, double e, double Y, double* additional_args) { """ @@ -233,13 +237,17 @@ def ode_prepare(): """ # write out to ode.cc - with open("src/ode.cc", "w") as fp: + with open(dir_path + "/../../src/ode.cc", "w") as fp: fp.write(full) - # get ode_base.hh - with open("include/ode_base.hh", "r") as fp: + # get ode_base_example.hh + with open(dir_path + "/../../include/ode_base_example.hh", "r") as fp: hh_lines = fp.read() + if "ode_base.hh" in os.listdir(dir_path + "/../../include/"): + with open(dir_path + "/../../include/ode_base.hh", "r") as fp: + hh_lines += fp.read() + full_hh = """ #ifndef __ODE__ #define __ODE__ @@ -266,7 +274,7 @@ class {0}{1} {0}(std::string few_dir); void deriv_func(double* pdot, double* edot, double* Ydot, - double Omega_phi, double Omega_theta, double Omega_r, + double* Omega_phi, double* Omega_theta, double* Omega_r, double epsilon, double a, double p, double e, double Y, double* additional_args); ~{0}(); {2}; @@ -286,7 +294,7 @@ class ODECarrier{ ODECarrier(std::string func_name_, std::string few_dir_); ~ODECarrier(); void get_derivatives(double* pdot, double* edot, double* Ydot, - double Omega_phi, double Omega_theta, double Omega_r, + double* Omega_phi, double* Omega_theta, double* Omega_r, double epsilon, double a, double p, double e, double Y, double* additional_args); }; diff --git a/few/utils/utility.py b/few/utils/utility.py index ee5b6542..998081ff 100644 --- a/few/utils/utility.py +++ b/few/utils/utility.py @@ -723,7 +723,7 @@ def get_mu_at_t( "1.4.1": 3981654, "1.4.2": 3981654, "1.4.3": 3981654, - + "1.4.4": 3981654, } diff --git a/include/ode_base.hh b/include/ode_base_example.hh similarity index 86% rename from include/ode_base.hh rename to include/ode_base_example.hh index 857b5706..0f2c7c36 100644 --- a/include/ode_base.hh +++ b/include/ode_base_example.hh @@ -16,7 +16,7 @@ public: SchwarzEccFlux(std::string few_dir); void deriv_func(double* pdot, double* edot, double* Ydot, - double Omega_phi, double Omega_theta, double Omega_r, + double* Omega_phi, double* Omega_theta, double* Omega_r, double epsilon, double a, double p, double e, double Y, double* additional_args); ~SchwarzEccFlux(); }; diff --git a/src/Inspiral.cc b/src/Inspiral.cc index b5a9adc4..a398595f 100644 --- a/src/Inspiral.cc +++ b/src/Inspiral.cc @@ -106,9 +106,8 @@ int func_ode_wrap (double t, const double y[], double f[], void *params){ double pdot, edot, xdot; double Omega_phi, Omega_theta, Omega_r; - KerrGeoCoordinateFrequencies(&Omega_phi, &Omega_theta, &Omega_r, a, p, e, x); params_in->func->get_derivatives(&pdot, &edot, &xdot, - Omega_phi, Omega_theta, Omega_r, + &Omega_phi, &Omega_theta, &Omega_r, epsilon, a, p, e, x, params_in->additional_args); f[0] = pdot; @@ -311,10 +310,9 @@ InspiralHolder InspiralCarrier::run_Inspiral(double t0, double M, double mu, dou { double pdot, edot, xdot, Omega_phi, Omega_theta, Omega_r; - KerrGeoCoordinateFrequencies(&Omega_phi, &Omega_theta, &Omega_r, a, p, e, x); // Same function in the integrator params_holder->func->get_derivatives(&pdot, &edot, &xdot, - Omega_phi, Omega_theta, Omega_r, + &Omega_phi, &Omega_theta, &Omega_r, params_holder->epsilon, a, p, e, x, params_holder->additional_args); // estimate the step to the breaking point and multiply by PERCENT_STEP diff --git a/src/ode_base.cc b/src/ode_base_example.cc similarity index 90% rename from src/ode_base.cc rename to src/ode_base_example.cc index 76318d4f..99af5eff 100644 --- a/src/ode_base.cc +++ b/src/ode_base_example.cc @@ -30,11 +30,15 @@ #define pn5_citation1 Pn5_citation __deriv__ void pn5(double* pdot, double* edot, double* Ydot, - double Omega_phi, double Omega_theta, double Omega_r, + double* Omega_phi, double* Omega_theta, double* Omega_r, double epsilon, double a, double p, double e, double Y, double* additional_args) { // evaluate ODEs + // the frequency variables are pointers! + double x = Y_to_xI(a, p, e, Y); + KerrGeoCoordinateFrequencies(Omega_phi, Omega_theta, Omega_r, a, p, e, x); + int Nv = 10; int ne = 10; *pdot = epsilon * dpdt8H_5PNe10 (a, p, e, Y, Nv, ne); @@ -115,7 +119,7 @@ SchwarzEccFlux::SchwarzEccFlux(std::string few_dir) #define SchwarzEccFlux_file1 FluxNewMinusPNScaled_fixed_y_order.dat __deriv__ void SchwarzEccFlux::deriv_func(double* pdot, double* edot, double* xdot, - double Omega_phi, double Omega_theta, double Omega_r, + double* Omega_phi, double* Omega_theta, double* Omega_r, double epsilon, double a, double p, double e, double x, double* additional_args) { if ((6.0 + 2. * e) > p) @@ -125,11 +129,15 @@ void SchwarzEccFlux::deriv_func(double* pdot, double* edot, double* xdot, *xdot = 0.0; return; } + + SchwarzschildGeoCoordinateFrequencies(Omega_phi, Omega_r, p, e); + *Omega_theta = *Omega_phi; + double y1 = log((p -2.*e - 2.1)); // evaluate ODEs, starting with PN contribution, then interpolating over remaining flux contribution - double yPN = pow((Omega_phi),2./3.); + double yPN = pow((*Omega_phi),2./3.); double EdotPN = (96 + 292*Power(e,2) + 37*Power(e,4))/(15.*Power(1 - Power(e,2),3.5)) * pow(yPN, 5); double LdotPN = (4*(8 + 7*Power(e,2)))/(5.*Power(-1 + Power(e,2),2)) * pow(yPN, 7./2.);