Struct rgsl::types::mathieu::MathieuWorkspace
[−]
[src]
pub struct MathieuWorkspace { // some fields omitted }
The Mathieu functions can be computed for a single order or for multiple orders, using array-based routines. The array-based routines require a preallocated workspace.
Methods
impl MathieuWorkspace
[src]
fn new(n: usize, qmax: f64) -> Option<MathieuWorkspace>
This function returns a workspace for the array versions of the Mathieu routines. The arguments n and qmax specify the maximum order and q-value of Mathieu functions which can be computed with this workspace.
fn mathieu_a(n: i32, q: f64) -> (Value, Result)
This routine computes the characteristic values a_n(q), b_n(q) of the Mathieu functions ce_n(q,x) and se_n(q,x), respectively.
fn mathieu_b(n: i32, q: f64) -> (Value, Result)
This routine computes the characteristic values a_n(q), b_n(q) of the Mathieu functions ce_n(q,x) and se_n(q,x), respectively.
fn mathieu_a_array(&self, order_min: i32, order_max: i32, q: f64, result_array: &mut [f64]) -> Value
This routine computes a series of Mathieu characteristic values a_n(q), b_n(q) for n from order_min to order_max inclusive, storing the results in the array result_array.
fn mathieu_b_array(&self, order_min: i32, order_max: i32, q: f64, result_array: &mut [f64]) -> Value
This routine computes a series of Mathieu characteristic values a_n(q), b_n(q) for n from order_min to order_max inclusive, storing the results in the array result_array.
fn mathieu_ce(n: i32, q: f64, x: f64) -> (Value, Result)
This routine computes the angular Mathieu functions ce_n(q,x) and se_n(q,x), respectively.
fn mathieu_se(n: i32, q: f64, x: f64) -> (Value, Result)
This routine computes the angular Mathieu functions ce_n(q,x) and se_n(q,x), respectively.
fn mathieu_ce_array(&self, nmin: i32, nmax: i32, q: f64, x: f64, result_array: &mut [f64]) -> Value
This routine computes a series of the angular Mathieu functions ce_n(q,x) and se_n(q,x) of order n from nmin to nmax inclusive, storing the results in the array result_array.
fn mathieu_se_array(&self, nmin: i32, nmax: i32, q: f64, x: f64, result_array: &mut [f64]) -> Value
This routine computes a series of the angular Mathieu functions ce_n(q,x) and se_n(q,x) of order n from nmin to nmax inclusive, storing the results in the array result_array.
fn mathieu_Mc(j: i32, n: i32, q: f64, x: f64) -> (Value, Result)
This routine computes the radial j-th kind Mathieu functions Mc_n{(j)}(q,x) and Ms_n{(j)}(q,x) of order n.
The allowed values of j are 1 and 2. The functions for j = 3,4 can be computed as M_n{(3)} = M_n{(1)} + iM_n{(2)} and M_n{(4)} = M_n{(1)} - iM_n{(2)}, where M_n{(j)} = Mc_n{(j)} or Ms_n{(j)}.
fn mathieu_Ms(j: i32, n: i32, q: f64, x: f64) -> (Value, Result)
This routine computes the radial j-th kind Mathieu functions Mc_n{(j)}(q,x) and Ms_n{(j)}(q,x) of order n.
The allowed values of j are 1 and 2. The functions for j = 3,4 can be computed as M_n{(3)} = M_n{(1)} + iM_n{(2)} and M_n{(4)} = M_n{(1)} - iM_n{(2)}, where M_n{(j)} = Mc_n{(j)} or Ms_n{(j)}.
fn mathieu_Mc_array(&self, j: i32, nmin: i32, nmax: i32, q: f64, x: f64, result_array: &mut [f64]) -> Value
This routine computes a series of the radial Mathieu functions of kind j, with order from nmin to nmax inclusive, storing the results in the array result_array.
fn mathieu_Ms_array(&self, j: i32, nmin: i32, nmax: i32, q: f64, x: f64, result_array: &mut [f64]) -> Value
This routine computes a series of the radial Mathieu functions of kind j, with order from nmin to nmax inclusive, storing the results in the array result_array.