@@ -43,24 +43,12 @@ SemOptimizerProximal(;
4343SEM. update_observed (optimizer:: SemOptimizerProximal , observed:: SemObserved ; kwargs... ) =
4444 optimizer
4545
46- # ###########################################################################################
47- # ## additional methods
48- # ###########################################################################################
49-
50- SEM. algorithm_name (res:: ProximalResult ) = SEM. algorithm_name (res. result[:algorithm ])
51- SEM. algorithm_name (:: ProximalAlgorithms.IterativeAlgorithm{I,H,S,D,K} ) where
52- {I, H, S, D, K} = nameof (I)
53-
54- SEM. convergence (:: ProximalResult ) = " No standard convergence criteria for proximal \n algorithms available."
55- SEM. n_iterations (res:: ProximalResult ) = res. result[:iterations ]
56-
5746# ###########################################################################
58- # ## Pretty Printing
47+ # ## Model fitting
5948# ###########################################################################
6049
61- function Base. show (io:: IO , struct_inst:: SemOptimizerProximal )
62- print_type_name (io, struct_inst)
63- print_field_types (io, struct_inst)
50+ mutable struct ProximalResult
51+ result:: Any
6452end
6553
6654# # connect to ProximalAlgorithms.jl
@@ -70,10 +58,6 @@ function ProximalAlgorithms.value_and_gradient(model::AbstractSem, params)
7058 return obj, grad
7159end
7260
73- mutable struct ProximalResult
74- result:: Any
75- end
76-
7761function SEM. fit (
7862 optim:: SemOptimizerProximal ,
7963 model:: AbstractSem ,
@@ -114,10 +98,26 @@ function SEM.fit(
11498 )
11599end
116100
101+ # ###########################################################################################
102+ # ## additional methods
103+ # ###########################################################################################
104+
105+ SEM. algorithm_name (res:: ProximalResult ) = SEM. algorithm_name (res. result[:algorithm ])
106+ SEM. algorithm_name (:: ProximalAlgorithms.IterativeAlgorithm{I,H,S,D,K} ) where
107+ {I, H, S, D, K} = nameof (I)
108+
109+ SEM. convergence (:: ProximalResult ) = " No standard convergence criteria for proximal \n algorithms available."
110+ SEM. n_iterations (res:: ProximalResult ) = res. result[:iterations ]
111+
117112# ###########################################################################################
118113# pretty printing
119114# ###########################################################################################
120115
116+ function Base. show (io:: IO , struct_inst:: SemOptimizerProximal )
117+ print_type_name (io, struct_inst)
118+ print_field_types (io, struct_inst)
119+ end
120+
121121function Base. show (io:: IO , result:: ProximalResult )
122122 print (io, " Minimum: $(round (result. result[:minimum ]; digits = 2 )) \n " )
123123 print (io, " No. evaluations: $(result. result[:iterations ]) \n " )
0 commit comments