Skip to content

Commit

Permalink
build based on 3b09351
Browse files Browse the repository at this point in the history
  • Loading branch information
Documenter.jl committed Jul 12, 2024
1 parent 5d9e25e commit a198cca
Show file tree
Hide file tree
Showing 29 changed files with 2,865 additions and 2,869 deletions.
2 changes: 1 addition & 1 deletion dev/.documenter-siteinfo.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"documenter":{"julia_version":"1.10.4","generation_timestamp":"2024-06-28T09:50:47","documenter_version":"1.5.0"}}
{"documenter":{"julia_version":"1.10.4","generation_timestamp":"2024-07-12T06:49:17","documenter_version":"1.5.0"}}
2 changes: 1 addition & 1 deletion dev/changelog/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dev/contributing/index.html

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions dev/data/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dev/examples/Bezier-curves/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -65,4 +65,4 @@
# 50 | f(x): 2.650064 | |grad f(p)|:0.05536989605165708 | s:0.05306680525691616 | Last Change: 0.081780
# 75 | f(x): 2.649707 | |grad f(p)|:0.02135638585837997 | s:0.01326670131422904 | Last Change: 0.011590
# 100 | f(x): 2.649700 | |grad f(p)|:0.0012887575647752057 | s:0.05306680525691616 | Last Change: 0.001745
At iteration 109 the algorithm performed a step with a change (2.9063044690733034e-7) less than 1.0e-5.</code></pre><p>And we can again look at the result</p><p>The result looks as</p><p><img src="../img/bezier/bezier-acceleration-result.png" alt="The resulting curve"/></p><p>where all control points are evenly spaced and we hence have less acceleration as the final cost compared to the initial one indicates. Note that the cost is not zero, since we always have a tradeoff between approximating the initial junctinons (data points) and minimizing the acceleration.</p><div class="citation noncanonical"><dl><dt>[ABBR23]</dt><dd><div>S. D. Axen, M. Baran, R. Bergmann and K. Rzecki. <em>Manifolds.jl: An Extensible Julia Framework for Data Analysis on Manifolds</em>. <a href="https://doi.org/10.1145/3618296">ACM Transactions on Mathematical Software</a> (2023), <a href="https://arxiv.org/abs/2021.08777">arXiv:2021.08777</a>.</div></dd><dt>[BG18]</dt><dd><div>R. Bergmann and P.-Y. Gousenbourger. <em>A variational model for data fitting on manifolds by minimizing the acceleration of a Bézier curve</em>. <a href="https://doi.org/10.3389/fams.2018.00059">Frontiers in Applied Mathematics and Statistics <strong>4</strong></a> (2018), <a href="https://arxiv.org/abs/1807.10090">arXiv:1807.10090</a>.</div></dd><dt>[PN07]</dt><dd><div>T. Popiel and L. Noakes. <em>Bézier curves and <span>$C^2$</span> interpolation in Riemannian manifolds</em>. <a href="https://doi.org/10.1016/j.jat.2007.03.002">Journal of Approximation Theory <strong>148</strong>, 111–127</a> (2007).</div></dd></dl></div></article><nav class="docs-footer"><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.5.0 on <span class="colophon-date" title="Friday 28 June 2024 09:50">Friday 28 June 2024</span>. Using Julia version 1.10.4.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
At iteration 109 the algorithm performed a step with a change (2.9063044690733034e-7) less than 1.0e-5.</code></pre><p>And we can again look at the result</p><p>The result looks as</p><p><img src="../img/bezier/bezier-acceleration-result.png" alt="The resulting curve"/></p><p>where all control points are evenly spaced and we hence have less acceleration as the final cost compared to the initial one indicates. Note that the cost is not zero, since we always have a tradeoff between approximating the initial junctinons (data points) and minimizing the acceleration.</p><div class="citation noncanonical"><dl><dt>[ABBR23]</dt><dd><div>S. D. Axen, M. Baran, R. Bergmann and K. Rzecki. <em>Manifolds.jl: An Extensible Julia Framework for Data Analysis on Manifolds</em>. <a href="https://doi.org/10.1145/3618296">ACM Transactions on Mathematical Software</a> (2023), <a href="https://arxiv.org/abs/2021.08777">arXiv:2021.08777</a>.</div></dd><dt>[BG18]</dt><dd><div>R. Bergmann and P.-Y. Gousenbourger. <em>A variational model for data fitting on manifolds by minimizing the acceleration of a Bézier curve</em>. <a href="https://doi.org/10.3389/fams.2018.00059">Frontiers in Applied Mathematics and Statistics <strong>4</strong></a> (2018), <a href="https://arxiv.org/abs/1807.10090">arXiv:1807.10090</a>.</div></dd><dt>[PN07]</dt><dd><div>T. Popiel and L. Noakes. <em>Bézier curves and <span>$C^2$</span> interpolation in Riemannian manifolds</em>. <a href="https://doi.org/10.1016/j.jat.2007.03.002">Journal of Approximation Theory <strong>148</strong>, 111–127</a> (2007).</div></dd></dl></div></article><nav class="docs-footer"><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.5.0 on <span class="colophon-date" title="Friday 12 July 2024 06:49">Friday 12 July 2024</span>. Using Julia version 1.10.4.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
2 changes: 1 addition & 1 deletion dev/examples/Difference-of-Convex-Benchmark/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -162,4 +162,4 @@
dcppa_iterations[n] = length(dcppa_costs[n])
end</code></pre><p>The iterations are like</p><pre><code class="language-julia hljs">plot(; legend=:bottomright, xlabel=&quot;manifold dimension&quot;, ylabel=&quot;Iterations&quot;)
plot!(dims2, [values(dca_iterations)...]; label=&quot;DCA&quot;, color=indigo, linewidth=2)
plot!(dims2, [values(dcppa_iterations)...]; label=&quot;DCPPA&quot;, color=teal, linewidth=2)</code></pre><p><img src="../Difference-of-Convex-Benchmark_files/figure-commonmark/cell-21-output-1.svg" alt/></p><p>And for the developtment of the cost</p><p><img src="../Difference-of-Convex-Benchmark_files/figure-commonmark/cell-22-output-1.svg" alt/></p><p>where we can see that the DCA needs less iterations than the DCPPA.</p><h2 id="Literature"><a class="docs-heading-anchor" href="#Literature">Literature</a><a id="Literature-1"></a><a class="docs-heading-anchor-permalink" href="#Literature" title="Permalink"></a></h2><div class="citation noncanonical"><dl><dt>[BFSS23]</dt><dd><div>R. Bergmann, O. P. Ferreira, E. M. Santos and J. C. Souza. <em>The difference of convex algorithm on Hadamard manifolds</em>. Preprint (2023), <a href="https://arxiv.org/abs/2112.05250">arXiv:2112.05250</a>.</div></dd><dt>[SO15]</dt><dd><div>J. C. Souza and P. R. Oliveira. <em>A proximal point algorithm for DC fuctions on Hadamard manifolds</em>. <a href="https://doi.org/10.1007/s10898-015-0282-7">Journal of Global Optimization <strong>63</strong>, 797–810</a> (2015).</div></dd></dl></div></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../">« Overview</a><a class="docs-footer-nextpage" href="../Difference-of-Convex-Rosenbrock/">Rosenbrock Metric »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.5.0 on <span class="colophon-date" title="Friday 28 June 2024 09:50">Friday 28 June 2024</span>. Using Julia version 1.10.4.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
plot!(dims2, [values(dcppa_iterations)...]; label=&quot;DCPPA&quot;, color=teal, linewidth=2)</code></pre><p><img src="../Difference-of-Convex-Benchmark_files/figure-commonmark/cell-21-output-1.svg" alt/></p><p>And for the developtment of the cost</p><p><img src="../Difference-of-Convex-Benchmark_files/figure-commonmark/cell-22-output-1.svg" alt/></p><p>where we can see that the DCA needs less iterations than the DCPPA.</p><h2 id="Literature"><a class="docs-heading-anchor" href="#Literature">Literature</a><a id="Literature-1"></a><a class="docs-heading-anchor-permalink" href="#Literature" title="Permalink"></a></h2><div class="citation noncanonical"><dl><dt>[BFSS23]</dt><dd><div>R. Bergmann, O. P. Ferreira, E. M. Santos and J. C. Souza. <em>The difference of convex algorithm on Hadamard manifolds</em>. Preprint (2023), <a href="https://arxiv.org/abs/2112.05250">arXiv:2112.05250</a>.</div></dd><dt>[SO15]</dt><dd><div>J. C. Souza and P. R. Oliveira. <em>A proximal point algorithm for DC fuctions on Hadamard manifolds</em>. <a href="https://doi.org/10.1007/s10898-015-0282-7">Journal of Global Optimization <strong>63</strong>, 797–810</a> (2015).</div></dd></dl></div></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../">« Overview</a><a class="docs-footer-nextpage" href="../Difference-of-Convex-Rosenbrock/">Rosenbrock Metric »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.5.0 on <span class="colophon-date" title="Friday 12 July 2024 06:49">Friday 12 July 2024</span>. Using Julia version 1.10.4.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
6 changes: 3 additions & 3 deletions dev/examples/Difference-of-Convex-Frank-Wolfe/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@
return_state=true,
)</code></pre><pre><code class="nohighlight hljs">Initial F(p): -0.77661458292831
At iteration 23 the change of the gradient (3.192989916935325e-13) was less than 1.0e-9.
16.139126 seconds (17.19 M allocations: 1.671 GiB, 1.98% gc time, 93.43% compilation time)
16.885346 seconds (17.16 M allocations: 1.670 GiB, 1.82% gc time, 93.65% compilation time)

# Solver state for `Manopt.jl`s Difference of Convex Algorithm
After 23 iterations
Expand Down Expand Up @@ -165,7 +165,7 @@
# 8000 f(x): -0.784422 |Δp|: 0.00140675676260 |grad f(p)|: 0.17695565 |Δgrad f(p)|: 0.00283200
# 10000 f(x): -0.784422 |Δp|: 0.00106177438611 |grad f(p)|: 0.17695815 |Δgrad f(p)|: 0.00213746
The algorithm reached its maximal number of iterations (10000).
152.272860 seconds (55.54 M allocations: 94.006 GiB, 1.83% gc time, 0.55% compilation time)
155.092885 seconds (55.56 M allocations: 94.008 GiB, 2.28% gc time, 0.58% compilation time)

# Solver state for `Manopt.jl`s Frank Wolfe Method
After 10000 iterations
Expand Down Expand Up @@ -213,4 +213,4 @@
xlims=(1,10^4),
)
plot!(fig, iter1_dc, costs1_dc .- dc_min, color=indigo, label=&quot;Difference of Convex&quot;)
plot!(fig, iter1_fw, costs1_fw .- dc_min, color=teal, label=&quot;Frank-Wolfe&quot;)</code></pre><p><img src="../Difference-of-Convex-Frank-Wolfe_files/figure-commonmark/cell-23-output-1.svg" alt/></p><p>This indicates, that the difference off convex algorithm could even stop earlier with a proper stopping criterion, since after that the cost increases a bit again.</p><p>On the other hand, Frank-Wolfe still has not reached this level function value after <code>10^4</code> iterations.</p><h2 id="Literature"><a class="docs-heading-anchor" href="#Literature">Literature</a><a id="Literature-1"></a><a class="docs-heading-anchor-permalink" href="#Literature" title="Permalink"></a></h2><div class="citation noncanonical"><dl><dt>[BFSS23]</dt><dd><div>R. Bergmann, O. P. Ferreira, E. M. Santos and J. C. Souza. <em>The difference of convex algorithm on Hadamard manifolds</em>. Preprint (2023), <a href="https://arxiv.org/abs/2112.05250">arXiv:2112.05250</a>.</div></dd><dt>[WS22]</dt><dd><div>M. Weber and S. Sra. <em>Riemannian Optimization via Frank-Wolfe Methods</em>. <a href="https://doi.org/10.1007/s10107-022-01840-5">Mathematical Programming <strong>199</strong>, 525–556</a> (2022).</div></dd></dl></div></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../Difference-of-Convex-Rosenbrock/">« Rosenbrock Metric</a><a class="docs-footer-nextpage" href="../RCBM-Median/">Riemannian Median »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.5.0 on <span class="colophon-date" title="Friday 28 June 2024 09:50">Friday 28 June 2024</span>. Using Julia version 1.10.4.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
plot!(fig, iter1_fw, costs1_fw .- dc_min, color=teal, label=&quot;Frank-Wolfe&quot;)</code></pre><p><img src="../Difference-of-Convex-Frank-Wolfe_files/figure-commonmark/cell-23-output-1.svg" alt/></p><p>This indicates, that the difference off convex algorithm could even stop earlier with a proper stopping criterion, since after that the cost increases a bit again.</p><p>On the other hand, Frank-Wolfe still has not reached this level function value after <code>10^4</code> iterations.</p><h2 id="Literature"><a class="docs-heading-anchor" href="#Literature">Literature</a><a id="Literature-1"></a><a class="docs-heading-anchor-permalink" href="#Literature" title="Permalink"></a></h2><div class="citation noncanonical"><dl><dt>[BFSS23]</dt><dd><div>R. Bergmann, O. P. Ferreira, E. M. Santos and J. C. Souza. <em>The difference of convex algorithm on Hadamard manifolds</em>. Preprint (2023), <a href="https://arxiv.org/abs/2112.05250">arXiv:2112.05250</a>.</div></dd><dt>[WS22]</dt><dd><div>M. Weber and S. Sra. <em>Riemannian Optimization via Frank-Wolfe Methods</em>. <a href="https://doi.org/10.1007/s10107-022-01840-5">Mathematical Programming <strong>199</strong>, 525–556</a> (2022).</div></dd></dl></div></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../Difference-of-Convex-Rosenbrock/">« Rosenbrock Metric</a><a class="docs-footer-nextpage" href="../RCBM-Median/">Riemannian Median »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.5.0 on <span class="colophon-date" title="Friday 12 July 2024 06:49">Friday 12 July 2024</span>. Using Julia version 1.10.4.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
Loading

0 comments on commit a198cca

Please sign in to comment.