@@ -52,7 +52,7 @@ mutable struct GradientDescentState{
5252 retraction_method:: TRTM
5353end
5454function GradientDescentState (
55- M:: AbstractManifold ;
55+ M:: AbstractManifold = ManifoldsBase . DefaultManifold () ;
5656 p:: P = rand (M),
5757 X:: T = zero_vector (M, p),
5858 stopping_criterion:: SC = StopAfterIteration (200 ) | StopWhenGradientNormLess (1.0e-8 ),
@@ -96,38 +96,27 @@ function get_message(gds::GradientDescentState)
9696 return get_message (gds. stepsize)
9797end
9898
99- function Base. show (io:: IO , obj:: GradientDescentState )
100- return print_object (io, obj, multiline = false )
101- end
102- # the 3-argument show used by display(obj) on the REPL
103- function Base. show (io:: IO , :: MIME"text/plain" , obj:: GradientDescentState )
104- multiline = get (io, :multiline , true )
105- return print_object (io, obj, multiline = multiline)
99+ function Base. show (io:: IO , gds:: GradientDescentState )
100+ return " GradientDescentState(; direction=$(repr (gds. direction)) , p=$(repr (gds. p)) , stepsize=$(repr (gds. stepsize)) , stopping_criterion=$(repr (gds. stop)) , retraction_method=$(repr (gds. retraction_method)) , X=$(repr (gds. X)) )"
106101end
107102
108- function print_object (io:: IO , gds:: GradientDescentState ; multiline:: Bool )
109- if multiline
110- i = get_count (gds, :Iterations )
111- Iter = (i > 0 ) ? " After $i iterations\n " : " "
112- Conv = indicates_convergence (gds. stop) ? " Yes" : " No"
113- s = """
114- # Solver state for `Manopt.jl`s Gradient Descent
115- $Iter
116- ## Parameters
117- * retraction method: $(gds. retraction_method)
118-
119- ## Stepsize
120- $(gds. stepsize)
121-
122- ## Stopping criterion
123-
124- $(status_summary (gds. stop))
125- This indicates convergence: $Conv """
126- return print (io, s)
127- else
128- # write something short, or go back to default mode
129- return Base. show_default (io, gds)
130- end
103+ function status_summary (gds:: GradientDescentState )
104+ i = get_count (gds, :Iterations )
105+ Iter = (i > 0 ) ? " After $i iterations\n " : " "
106+ Conv = indicates_convergence (gds. stop) ? " Yes" : " No"
107+ s = """
108+ # Solver state for `Manopt.jl`s Gradient Descent
109+ $Iter
110+ ## Parameters
111+ * retraction method: $(gds. retraction_method)
112+
113+ ## Stepsize
114+ $(gds. stepsize)
115+
116+ ## Stopping criterion
117+ $(status_summary (gds. stop))
118+ This indicates convergence: $Conv """
119+ return s
131120end
132121
133122_doc_gd_iterate = raw """
0 commit comments