pub trait OrbitMatrix<'a, T, SC>where
T: Lapack + ComplexFloat,
SC: StructureConstraint + Clone + Display,
SlaterDeterminant<'a, T, SC>: SymmetryTransformable,{
// Required method
fn calc_matrix_element(
&self,
det_w: &SlaterDeterminant<'_, T, SC>,
det_x: &SlaterDeterminant<'_, T, SC>,
sao: &ArrayView2<'_, T>,
thresh_offdiag: <T as ComplexFloat>::Real,
thresh_zeroov: <T as ComplexFloat>::Real,
) -> Result<T, Error>;
// Provided methods
fn norm_preserving_scalar_map<'b, G>(
&self,
i: usize,
orbit_basis: &'b OrbitBasis<'b, G, SlaterDeterminant<'a, T, SC>>,
) -> Result<fn(T) -> T, Error>
where G: SymmetryGroupProperties + Clone,
'a: 'b { ... }
fn calc_orbit_matrix<'g, G>(
&self,
orbit_basis: &'g OrbitBasis<'g, G, SlaterDeterminant<'a, T, SC>>,
use_cayley_table: bool,
sao: &ArrayView2<'_, T>,
thresh_offdiag: <T as ComplexFloat>::Real,
thresh_zeroov: <T as ComplexFloat>::Real,
) -> Result<Array2<T>, Error>
where G: SymmetryGroupProperties + Clone,
T: Sync + Send,
<T as ComplexFloat>::Real: Sync,
SlaterDeterminant<'a, T, SC>: Sync,
Self: Sync,
'a: 'g { ... }
}
Required Methods§
fn calc_matrix_element( &self, det_w: &SlaterDeterminant<'_, T, SC>, det_x: &SlaterDeterminant<'_, T, SC>, sao: &ArrayView2<'_, T>, thresh_offdiag: <T as ComplexFloat>::Real, thresh_zeroov: <T as ComplexFloat>::Real, ) -> Result<T, Error>
Provided Methods§
fn norm_preserving_scalar_map<'b, G>(
&self,
i: usize,
orbit_basis: &'b OrbitBasis<'b, G, SlaterDeterminant<'a, T, SC>>,
) -> Result<fn(T) -> T, Error>where
G: SymmetryGroupProperties + Clone,
'a: 'b,
fn calc_orbit_matrix<'g, G>(
&self,
orbit_basis: &'g OrbitBasis<'g, G, SlaterDeterminant<'a, T, SC>>,
use_cayley_table: bool,
sao: &ArrayView2<'_, T>,
thresh_offdiag: <T as ComplexFloat>::Real,
thresh_zeroov: <T as ComplexFloat>::Real,
) -> Result<Array2<T>, Error>where
G: SymmetryGroupProperties + Clone,
T: Sync + Send,
<T as ComplexFloat>::Real: Sync,
SlaterDeterminant<'a, T, SC>: Sync,
Self: Sync,
'a: 'g,
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.