Skip to content

Commit 1808029

Browse files
fix proximal extension
1 parent 1c6c193 commit 1808029

1 file changed

Lines changed: 19 additions & 19 deletions

File tree

ext/SEMProximalOptExt/ProximalAlgorithms.jl

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -43,24 +43,12 @@ SemOptimizerProximal(;
4343
SEM.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
6452
end
6553

6654
## connect to ProximalAlgorithms.jl
@@ -70,10 +58,6 @@ function ProximalAlgorithms.value_and_gradient(model::AbstractSem, params)
7058
return obj, grad
7159
end
7260

73-
mutable struct ProximalResult
74-
result::Any
75-
end
76-
7761
function SEM.fit(
7862
optim::SemOptimizerProximal,
7963
model::AbstractSem,
@@ -114,10 +98,26 @@ function SEM.fit(
11498
)
11599
end
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+
121121
function 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

Comments
 (0)