28 + for<'b> Sub<&'b Self, Output=<Self as Euclidean<F>>::Output> |
28 + for<'b> Sub<&'b Self, Output=<Self as Euclidean<F>>::Output> |
29 + AddAssign<Self> + for<'b> AddAssign<&'b Self> |
29 + AddAssign<Self> + for<'b> AddAssign<&'b Self> |
30 + SubAssign<Self> + for<'b> SubAssign<&'b Self> |
30 + SubAssign<Self> + for<'b> SubAssign<&'b Self> |
31 + Neg<Output=<Self as Euclidean<F>>::Output> { |
31 + Neg<Output=<Self as Euclidean<F>>::Output> { |
32 type Output : Euclidean<F>; |
32 type Output : Euclidean<F>; |
33 |
|
34 /// Returns origin of same dimensions as `self`. |
|
35 fn similar_origin(&self) -> <Self as Euclidean<F>>::Output; |
|
36 |
33 |
37 /// Calculate the square of the 2-norm, $\frac{1}{2}\\|x\\|_2^2$, where `self` is $x$. |
34 /// Calculate the square of the 2-norm, $\frac{1}{2}\\|x\\|_2^2$, where `self` is $x$. |
38 #[inline] |
35 #[inline] |
39 fn norm2_squared(&self) -> F { |
36 fn norm2_squared(&self) -> F { |
40 self.dot(self) |
37 self.dot(self) |