pub trait AdaptiveSampling<A: Scalar> {
// Required method
fn sample_range_adaptive<R: Rng>(
&self,
rel_tol: f64,
sample_size: usize,
rng: &mut R,
) -> Result<(Array2<A>, Vec<(usize, f64)>)>;
}Expand description
This trait defines the adaptive sampling of the range of an operator.
Required Methods§
Sourcefn sample_range_adaptive<R: Rng>(
&self,
rel_tol: f64,
sample_size: usize,
rng: &mut R,
) -> Result<(Array2<A>, Vec<(usize, f64)>)>
fn sample_range_adaptive<R: Rng>( &self, rel_tol: f64, sample_size: usize, rng: &mut R, ) -> Result<(Array2<A>, Vec<(usize, f64)>)>
Adaptively randomly sample the range of an operator up to a given tolerance.
§Arguments
rel_tol: The relative error tolerance. The error is checked probabilistically.sample_size: Number of samples drawn together in each iteration.rng: The random number generator.
Returns a tuple (q, residuals), where q is an ndarray containing the orthogonalized columns of
the range, and residuals is a vector of tuples of the form (rank, rel_res), where rel_res
is the estimated relative residual for the first rank columns of q.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.