Trait signal_processing::analysis::SimZ

source ·
pub trait SimZ<X, XX>: System
where Self::Set: ComplexOp<X>, X: ComplexFloat<Real = <Self::Set as ComplexFloat>::Real> + Into<<Self::Set as ComplexOp<X>>::Output>, XX: Matrix<X>,
{ type Output: Lists<<Self::Set as ComplexOp<X>>::Output> + ListOrSingle<Vec<<Self::Set as ComplexOp<X>>::Output>>; // Required method fn sim_z<T, W>( self, t: T, x: XX, w: W, sampling_frequency: <Self::Set as ComplexFloat>::Real ) -> (Vec<<Self::Set as ComplexFloat>::Real>, Self::Output, Vec<Vec<<Self::Set as ComplexOp<X>>::Output>>) where T: TwoSidedRange<<Self::Set as ComplexFloat>::Real>, W: Maybe<Vec<<Self::Set as ComplexOp<X>>::Output>>; }

Required Associated Types§

source

type Output: Lists<<Self::Set as ComplexOp<X>>::Output> + ListOrSingle<Vec<<Self::Set as ComplexOp<X>>::Output>>

Required Methods§

source

fn sim_z<T, W>( self, t: T, x: XX, w: W, sampling_frequency: <Self::Set as ComplexFloat>::Real ) -> (Vec<<Self::Set as ComplexFloat>::Real>, Self::Output, Vec<Vec<<Self::Set as ComplexOp<X>>::Output>>)
where T: TwoSidedRange<<Self::Set as ComplexFloat>::Real>, W: Maybe<Vec<<Self::Set as ComplexOp<X>>::Output>>,

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<T, A, B, C, D, Y, X, XX> SimZ<X, XX> for Ss<T, A, B, C, D>
where T: ComplexOp<X, Output = Y> + ComplexFloat<Real: Into<Y>>, X: ComplexFloat<Real = T::Real> + Into<Y>, Y: ComplexFloat<Real = T::Real> + Mul<T::Real, Output = Y> + Lapack, A: SsAMatrix<T, B, C, D>, B: SsBMatrix<T, A, C, D>, C: SsCMatrix<T, A, B, D>, D: SsDMatrix<T, A, B, C>, XX: Matrix<X, Transpose: Matrix<X, RowOwned: MaybeLenEq<D::RowOwned, true> + MaybeLenEq<B::RowOwned, true>>> + Clone, Array2<Y>: SsAMatrix<Y, Array2<Y>, Array2<Y>, Array2<Y>> + SsBMatrix<Y, Array2<Y>, Array2<Y>, Array2<Y>> + SsCMatrix<Y, Array2<Y>, Array2<Y>, Array2<Y>> + SsDMatrix<Y, Array2<Y>, Array2<Y>, Array2<Y>>, D::RowsMapped<Vec<Y>>: Lists<Y> + OwnedListOrSingle<Vec<Y>, Length: StaticMaybe<usize, Opposite: Sized>>,

§

type Output = <D as MaybeLists<T>>::RowsMapped<Vec<Y>>

source§

impl<T, B, A, S, X, XX, Y> SimZ<X, XX> for Sos<T, B, A, S>
where T: ComplexFloat + ComplexOp<X, Output = Y>, B: Maybe<[T; 3]> + MaybeOwnedList<T>, A: Maybe<[T; 3]> + MaybeOwnedList<T>, S: MaybeList<Tf<T, B, A>>, X: ComplexFloat<Real = T::Real> + Into<Y>, Y: ComplexFloat, XX: List<X, Transpose: Lists<X>>, Self: System<Set = T> + ToSs<T, Array2<T>, Array2<T>, Array2<T>, Array2<T>>, Array2<T>: SsAMatrix<T, Array2<T>, Array2<T>, Array2<T>> + SsBMatrix<T, Array2<T>, Array2<T>, Array2<T>> + SsCMatrix<T, Array2<T>, Array2<T>, Array2<T>> + SsDMatrix<T, Array2<T>, Array2<T>, Array2<T>>, Ss<T, Array2<T>, Array2<T>, Array2<T>, Array2<T>>: System<Set = T> + SimZ<X, XX, Output = Vec<Vec<Y>>>,

§

type Output = Vec<Y>

source§

impl<T, B, A, X, XX, Y> SimZ<X, XX> for Tf<T, B, A>
where T: ComplexFloat + ComplexOp<X, Output = Y>, B: MaybeLists<T>, A: MaybeList<T>, X: ComplexFloat<Real = T::Real> + Into<Y>, XX: List<X, Transpose: MaybeLists<X>>, Self: System<Set = T> + ToSs<T, Array2<T>, Array2<T>, Array2<T>, Array2<T>>, Array2<T>: SsAMatrix<T, Array2<T>, Array2<T>, Array2<T>> + SsBMatrix<T, Array2<T>, Array2<T>, Array2<T>> + SsCMatrix<T, Array2<T>, Array2<T>, Array2<T>> + SsDMatrix<T, Array2<T>, Array2<T>, Array2<T>>, Ss<T, Array2<T>, Array2<T>, Array2<T>, Array2<T>>: SimZ<X, XX, Output = Vec<Vec<Y>>> + System<Set = T>, B::RowsMapped<Vec<Y>>: Lists<Y> + OwnedListOrSingle<Vec<Y>, Length: StaticMaybe<usize, Opposite: Sized>>,

§

type Output = <B as MaybeLists<T>>::RowsMapped<Vec<Y>>

source§

impl<T, Z, P, K, X, XX, Y> SimZ<X, XX> for Zpk<T, Z, P, K>
where T: ComplexFloat, Z: MaybeList<T>, P: MaybeList<T>, K: ComplexFloat<Real = T::Real> + ComplexOp<X, Output = Y>, X: ComplexFloat<Real = T::Real> + Into<Y>, XX: List<X, Transpose: Lists<X>>, Self: System<Set = K> + ToSs<K, Array2<K>, Array2<K>, Array2<K>, Array2<K>>, Array2<K>: SsAMatrix<K, Array2<K>, Array2<K>, Array2<K>> + SsBMatrix<K, Array2<K>, Array2<K>, Array2<K>> + SsCMatrix<K, Array2<K>, Array2<K>, Array2<K>> + SsDMatrix<K, Array2<K>, Array2<K>, Array2<K>>, Ss<K, Array2<K>, Array2<K>, Array2<K>, Array2<K>>: System<Set = K> + SimZ<X, XX, Output = Vec<Vec<Y>>>,

§

type Output = Vec<Y>