qnm.schwarzschild.overtonesequence¶
Follow a Schwarzschild QNM sequence (s,l) from n=0 upwards.
The class SchwOvertoneSeq
makes it possible to find
successive overtones (n’s) of a QNM labeled by (s,l), in Schwarzschild
(a=0). See its documentation for more details.
Classes
SchwOvertoneSeq (*args, **kwargs) |
Object to follow a sequence of Schwarzschild overtones, starting from n=0. |
-
class
qnm.schwarzschild.overtonesequence.
SchwOvertoneSeq
(*args, **kwargs)[source]¶ Object to follow a sequence of Schwarzschild overtones, starting from n=0. First two overtone seeds come from approx.dolan_ottewill_expansion, and afterwards linear extrapolation on the solutions is used to seed the root finding for higher values of n. Uses
qnm.nearby.NearbyRootFinder
to actually perform the root-finding.Parameters: - n_max: int [default: 12]
Maximum overtone number to search for (must be positive).
- s: int [default: 2]
Spin weight of field of interest.
- [The m parameter is omitted because this is just for Schwarzschild.]
- l: int [default: 2]
The multipole number of a sequence starting from the analytically-known value at a=0 .
- tol: float [default: 1e-10]
Tolerance for root-finding.
- Nr: int [default: 300]
Truncation number of radial infinite continued fraction. Must be sufficiently large for convergence.
- r_N: complex [default: 0.j]
Seed value taken for truncation of infinite continued fraction.
Examples
Suppose you want the n=5 overtone for (s=-1, l=3):
>>> from qnm.schwarzschild.overtonesequence import SchwOvertoneSeq >>> seq = SchwOvertoneSeq(s=-1, l=3, n_max=5) >>> seq.find_sequence() >>> "{:.10f}".format(seq.omega[5]) '0.5039017454-1.1703558890j'
Later, you want to go out to n=8:
>>> seq.extend(n_max=8) >>> "{:.10f}".format(seq.omega[8]) '0.4227909294-1.9136575598j'
Attributes: - A: float
Value of the angular separation constant.
- n: array of int
Overtone numbers.
- omega: np.array of complex
The QNM frequencies along the overtone sequence, element i is overtone i.
- cf_err: np.array of float
Estimate of continued fraction truncation error in solving for QNM frequency.
- n_frac: np.array of int
Truncation number of continued fraction.
- solver: NearbyRootFinder
Instance of
qnm.nearby.NearbyRootFinder
that is used to find the QNMs.
Methods
extend
(self[, n_max])Extend the current overtone sequence to a greater n_max. find_sequence
(self)Alias for extend()
-
extend
(self, n_max=None)[source]¶ Extend the current overtone sequence to a greater n_max.
Parameters: - n_max: int, optional [default: None]
If is None, use the value of self.n_max . If given, set self.n_max to this new value and proceed.
Raises: - optimize.nonlin.NoConvergence
If a root can’t be found within a few [TODO make param?] attempted inversion numbers.