src/frank_wolfe.rs

branch
dev
changeset 29
87649ccfa6a8
parent 25
79943be70720
child 32
56c8adc32b09
equal deleted inserted replaced
28:eb98b05b9c60 29:87649ccfa6a8
522 }); 522 });
523 523
524 // Return final iterate 524 // Return final iterate
525 μ 525 μ
526 } 526 }
527
528 //
529 // Deprecated interface
530 //
531
532 #[deprecated(note = "Use `pointsource_fw_reg`")]
533 pub fn pointsource_fw<'a, F, I, A, GA, BTA, S, const N : usize>(
534 opA : &'a A,
535 b : &A::Observable,
536 α : F,
537 //domain : Cube<F, N>,
538 config : &FWConfig<F>,
539 iterator : I,
540 plotter : SeqPlotter<F, N>,
541 ) -> DiscreteMeasure<Loc<F, N>, F>
542 where F : Float + ToNalgebraRealField,
543 I : AlgIteratorFactory<IterInfo<F, N>>,
544 for<'b> &'b A::Observable : std::ops::Neg<Output=A::Observable>,
545 //+ std::ops::Mul<F, Output=A::Observable>, <-- FIXME: compiler overflow
546 A::Observable : std::ops::MulAssign<F>,
547 GA : SupportGenerator<F, N, SupportType = S, Id = usize> + Clone,
548 A : ForwardModel<Loc<F, N>, F, PreadjointCodomain = BTFN<F, GA, BTA, N>>,
549 BTA : BTSearch<F, N, Data=usize, Agg=Bounds<F>>,
550 S: RealMapping<F, N> + LocalAnalysis<F, Bounds<F>, N>,
551 BTNodeLookup: BTNode<F, usize, Bounds<F>, N>,
552 Cube<F, N>: P2Minimise<Loc<F, N>, F>,
553 PlotLookup : Plotting<N>,
554 DiscreteMeasure<Loc<F, N>, F> : SpikeMerging<F> {
555
556 pointsource_fw_reg(opA, b, NonnegRadonRegTerm(α), config, iterator, plotter)
557 }
558
559 #[deprecated(note = "Use `WeightOptim::optimise_weights`")]
560 pub fn optimise_weights<'a, F, A, I, const N : usize>(
561 μ : &mut DiscreteMeasure<Loc<F, N>, F>,
562 opA : &'a A,
563 b : &A::Observable,
564 α : F,
565 findim_data : &FindimData<F>,
566 inner : &InnerSettings<F>,
567 iterator : I
568 ) -> usize
569 where F : Float + ToNalgebraRealField,
570 I : AlgIteratorFactory<F>,
571 A : ForwardModel<Loc<F, N>, F>
572 {
573 NonnegRadonRegTerm(α).optimise_weights(μ, opA, b, findim_data, inner, iterator)
574 }

mercurial