| 130:0a689881b0f1 | 132:89371dc4d637 |
|---|---|
| 399 } | 399 } |
| 400 | 400 |
| 401 impl<X, F> Prox<X> for Norm222<F> | 401 impl<X, F> Prox<X> for Norm222<F> |
| 402 where | 402 where |
| 403 F: Float, | 403 F: Float, |
| 404 X: Euclidean<F, Output = X>, | 404 X: Euclidean<F, Owned = X>, |
| 405 { | 405 { |
| 406 type Prox<'a> | 406 type Prox<'a> |
| 407 = Scaled<F> | 407 = Scaled<F> |
| 408 where | 408 where |
| 409 Self: 'a; | 409 Self: 'a; |
| 414 } | 414 } |
| 415 | 415 |
| 416 impl<X, F> DifferentiableImpl<X> for Norm222<F> | 416 impl<X, F> DifferentiableImpl<X> for Norm222<F> |
| 417 where | 417 where |
| 418 F: Float, | 418 F: Float, |
| 419 X: Euclidean<F, Output = X>, | 419 X: Euclidean<F, Owned = X>, |
| 420 { | 420 { |
| 421 type Derivative = X; | 421 type Derivative = X; |
| 422 | 422 |
| 423 fn differential_impl<I: Instance<X>>(&self, x: I) -> X { | 423 fn differential_impl<I: Instance<X>>(&self, x: I) -> X { |
| 424 x.own() | 424 x.own() |
| 426 } | 426 } |
| 427 | 427 |
| 428 impl<X, F> LipschitzDifferentiableImpl<X, L2> for Norm222<F> | 428 impl<X, F> LipschitzDifferentiableImpl<X, L2> for Norm222<F> |
| 429 where | 429 where |
| 430 F: Float, | 430 F: Float, |
| 431 X: Euclidean<F, Output = X>, | 431 X: Euclidean<F, Owned = X>, |
| 432 { | 432 { |
| 433 type FloatType = F; | 433 type FloatType = F; |
| 434 | 434 |
| 435 fn diff_lipschitz_factor(&self, _: L2) -> DynResult<Self::FloatType> { | 435 fn diff_lipschitz_factor(&self, _: L2) -> DynResult<Self::FloatType> { |
| 436 Ok(F::ONE) | 436 Ok(F::ONE) |