@@ -16,23 +16,21 @@ function demo_solver(f, h, χ, selected, Avec, m, n, k, suffix = "l0-linf")
1616 ϵr = 1e-6 ,
1717 verbose = 10 ,
1818 maxIter = 500 ,
19- spectral = true ,
2019 )
2120 @info " using TR to solve with" h χ
22- reset! (f)
23- TR_out = TR (f, h, χ, options, selected = selected)
21+ TR_out = TR (LSR1Model (f), h, χ, options, selected = selected)
2422 plot_nnmf (TR_out, Avec, m, n, k, " tr-r2-$suffix " )
2523
2624 @info " using R2 to solve with" h
2725 reset! (f)
2826 R2_out = R2 (f, h, options, selected = selected)
2927 plot_nnmf (R2_out, Avec, m, n, k, " r2-$suffix " )
3028
31- subsolver_options = ROSolverOptions (spectral = false , psb = true , ϵa = options. ϵa)
29+ subsolver_options = ROSolverOptions (ϵa = options. ϵa)
3230 @info " using TR with TRDH as subproblem to solve with" h χ
3331 reset! (f)
3432 TR2_out = TR (
35- f ,
33+ LSR1Model (f) ,
3634 h,
3735 χ,
3836 options,
@@ -43,19 +41,17 @@ function demo_solver(f, h, χ, selected, Avec, m, n, k, suffix = "l0-linf")
4341 plot_nnmf (TR2_out, Avec, m, n, k, " tr-trdh-$suffix " )
4442
4543 @info " using TRDH to solve with" h χ
46- reset! (f)
47- TRDH_out = TRDH (f, h, χ, options, selected = selected)
44+ TRDH_out = TRDH (DiagonalPSBModel (f), h, χ, options, selected = selected)
4845 plot_nnmf (TRDH_out, Avec, m, n, k, " trdh-$suffix " )
4946end
5047
5148function demo_nnmf ()
5249 m, n, k = 100 , 50 , 5
5350 model, nls_model, A, selected = nnmf_model (m, n, k)
54- f = LSR1Model (model)
5551 λ = norm (grad (model, rand (model. meta. nvar)), Inf ) / 200
56- demo_solver (f , NormL0 (λ), NormLinf (1.0 ), selected, A, m, n, k, " l0-linf" )
52+ demo_solver (model , NormL0 (λ), NormLinf (1.0 ), selected, A, m, n, k, " l0-linf" )
5753 λ = norm (grad (model, rand (model. meta. nvar)), Inf ) / 100000
58- demo_solver (f , NormL1 (λ), NormLinf (1.0 ), selected, A, m, n, k, " l1-linf" )
54+ demo_solver (model , NormL1 (λ), NormLinf (1.0 ), selected, A, m, n, k, " l1-linf" )
5955end
6056
6157demo_nnmf ()
0 commit comments