pub trait Overlap<T, D>{
// Required methods
fn complex_symmetric(&self) -> bool;
fn overlap(
&self,
other: &Self,
metric: Option<&Array<T, D>>,
metric_h: Option<&Array<T, D>>,
) -> Result<T, Error>;
fn overlap_definition(&self) -> String;
}
Expand description
Trait for computing the inner product
$\langle \hat{\iota} \mathbf{v}_i, \mathbf{v}_j \rangle
$ between two linear-space quantities
$\mathbf{v}_i
$ and $\mathbf{v}_j
$. The involutory operator $\hat{\iota}
$ determines
whether the inner product is a sesquilinear form or a bilinear form.
Required Methods§
sourcefn complex_symmetric(&self) -> bool
fn complex_symmetric(&self) -> bool
If true
, the inner product is bilinear and $\hat{\iota} = \hat{\kappa}
$. If false
,
the inner product is sesquilinear and $\hat{\iota} = \mathrm{id}
$.
sourcefn overlap(
&self,
other: &Self,
metric: Option<&Array<T, D>>,
metric_h: Option<&Array<T, D>>,
) -> Result<T, Error>
fn overlap( &self, other: &Self, metric: Option<&Array<T, D>>, metric_h: Option<&Array<T, D>>, ) -> Result<T, Error>
Returns the overlap between self
and other
, with respect to a metric metric
(and
possibly its complex-symmetric version metric_h
) of the underlying basis in which self
and other
are expressed.
sourcefn overlap_definition(&self) -> String
fn overlap_definition(&self) -> String
Returns a string describing the mathematical definition of the overlap (i.e. the inner product) between two quantities of this type.