src/forward_model/bias.rs

branch
dev
changeset 37
c5d8bd1a7728
parent 35
b087e3eab191
child 44
03251c546744
equal deleted inserted replaced
36:fb911f72e698 37:c5d8bd1a7728
41 where 41 where
42 Domain : Space, 42 Domain : Space,
43 F : Float, 43 F : Float,
44 Z : Clone + Space + ClosedAdd, 44 Z : Clone + Space + ClosedAdd,
45 A : AdjointProductBoundedBy<Domain, D, FloatType=F, Codomain = Z>, 45 A : AdjointProductBoundedBy<Domain, D, FloatType=F, Codomain = Z>,
46 D : Linear<Domain>,
47 A::Codomain : ClosedAdd, 46 A::Codomain : ClosedAdd,
48 { 47 {
49 type FloatType = F; 48 type FloatType = F;
50 49
51 fn adjoint_product_pair_bound(&self, d : &D, _ : &IdOp<Z>) -> Option<(F, F)> { 50 fn adjoint_product_pair_bound(&self, d : &D, _ : &IdOp<Z>) -> Option<(F, F)> {
90 F::ZERO 89 F::ZERO
91 } 90 }
92 } 91 }
93 92
94 93
95 /// TODO: should assume `D` to be positive semi-definite and self-adjoint.
96 #[replace_float_literals(F::cast_from(literal))] 94 #[replace_float_literals(F::cast_from(literal))]
97 impl<'a, F, D, XD, Y, const N : usize> AdjointProductBoundedBy<RNDM<F, N>, D> 95 impl<'a, F, D, XD, Y, const N : usize> AdjointProductBoundedBy<RNDM<F, N>, D>
98 for ZeroOp<'a, RNDM<F, N>, XD, Y, F> 96 for ZeroOp<'a, RNDM<F, N>, XD, Y, F>
99 where 97 where
100 F : Float, 98 F : Float,

mercurial