Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

📚 #534

Merged
merged 49 commits into from
Oct 31, 2022
Merged

📚 #534

Show file tree
Hide file tree
Changes from 7 commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
a59cf9a
Fix a few typos.
kellertuer Sep 22, 2022
47dcbb4
add a tutorial menu and a first dummy tutorial to the docs.
kellertuer Sep 22, 2022
2ffcf7e
runs formatter.
kellertuer Sep 23, 2022
74e3863
Merge branch 'master' into kellertuer/start-tutorials
kellertuer Oct 2, 2022
5f9c65c
Start the get-started tutorial with how to define a manifold after lo…
kellertuer Oct 2, 2022
717cfa8
add one more sentence.
kellertuer Oct 2, 2022
89d60d1
simplify notesbookstart.
kellertuer Oct 2, 2022
a58b490
Juliaformatter and Pluto fighting.
kellertuer Oct 2, 2022
fdd3a3a
forgot one mdx.
kellertuer Oct 2, 2022
2e186a7
Hm this runs locally but maybe not on the docs? We will see.
kellertuer Oct 2, 2022
056828d
Bump julia version for docs CI.
kellertuer Oct 3, 2022
d07515b
trying to run reset notebook.
kellertuer Oct 3, 2022
4dc65e1
Finish the first section of the get-started tutorial.
kellertuer Oct 3, 2022
8b1eb39
Continue with the generic functions section.
kellertuer Oct 4, 2022
43184ec
Merge branch 'master' into kellertuer/start-tutorials
kellertuer Oct 5, 2022
b30ce3d
Adds a small section on allocating and in-place functions.
kellertuer Oct 5, 2022
1a61287
Merge branch 'master' into kellertuer/start-tutorials
kellertuer Oct 6, 2022
7550ec8
Merge branch 'master' into kellertuer/start-tutorials
kellertuer Oct 11, 2022
439c86e
nicer error displays.
kellertuer Oct 12, 2022
7b9f8d5
write a short section about decorators.
kellertuer Oct 12, 2022
becfeed
Merge branch 'master' into kellertuer/start-tutorials
kellertuer Oct 13, 2022
4bb0962
Fix all but one documenter warnings.
kellertuer Oct 13, 2022
4651c13
Fix a typo.
kellertuer Oct 13, 2022
125dcc1
hide the first two cells
kellertuer Oct 13, 2022
074134b
Start with the working in Charts tutorial.
kellertuer Oct 13, 2022
9e6a24f
run formatter.
kellertuer Oct 13, 2022
882e251
add remaining code as a comment and add a few remarks. Delete origina…
kellertuer Oct 13, 2022
e6443d5
reformat whole pluto notebook.
kellertuer Oct 13, 2022
5228f71
Working notebook.
kellertuer Oct 13, 2022
c144b30
working in chart descriptions
mateuszbaran Oct 13, 2022
2020926
Little work on splitting the plots and a little bit of textwork in th…
kellertuer Oct 14, 2022
8d78fd9
explain more things about vector transport in chart
mateuszbaran Oct 14, 2022
ad0badf
Merge branch 'master' into kellertuer/start-tutorials
kellertuer Oct 18, 2022
9732254
Add the second tutorial, fix PlutoStaticHTML to 6.0.3 for now.
kellertuer Oct 18, 2022
349a7dd
runs formatter.
kellertuer Oct 18, 2022
43ca471
Switch working in charts to using WGLMakie – might still compile too …
kellertuer Oct 25, 2022
1c88cb4
Link all DOIs.
kellertuer Oct 25, 2022
34bc91e
Steps towards interactive switches.
kellertuer Oct 26, 2022
9aa48fd
add static output.
kellertuer Oct 26, 2022
786a09f
first variant that uses loading.
kellertuer Oct 26, 2022
b1c44b3
finish the switch – we now have two variable to steer behaviour (a) i…
kellertuer Oct 26, 2022
7c12423
Minor tweak to only activate GLMAkie if necessary.
kellertuer Oct 26, 2022
1af680e
remove the charts tutorial from the docs for now.
kellertuer Oct 27, 2022
87327c5
Apply suggestions from code review
kellertuer Oct 27, 2022
3457171
Fix a bug in the noteboook.
kellertuer Oct 28, 2022
62a7e16
Add a small remark on ArrayPartition.
kellertuer Oct 28, 2022
f28187a
Update tutorials/getstarted.jl
kellertuer Oct 28, 2022
04c47b9
Merge branch 'master' into kellertuer/start-tutorials
kellertuer Oct 31, 2022
71f7f5d
bump version.
kellertuer Oct 31, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@ docs/src/generated
docs/src/misc/contributing.md
benchmark/tune.json
benchmark/results*
docs/src/tutorials/*.md
2 changes: 2 additions & 0 deletions docs/Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@ Graphs = "86223c79-3864-5bf0-83f7-82e725a168b6"
HybridArrays = "1baab800-613f-4b0a-84e4-9cd3431bfbb9"
Manifolds = "1cead3c2-87b3-11e9-0ccd-23c62b72b94e"
ManifoldsBase = "3362f125-f0bb-47a3-aa74-596ffd7ef2fb"
MarkdownLiteral = "736d6165-7244-6769-4267-6b50796e6954"
Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
PlutoStaticHTML = "359b1769-a58e-495b-9770-312e911026ad"
PyPlot = "d330b81b-6aea-500a-939a-2ce795aea3ee"
RecipesBase = "3cdcf5f2-1ef4-517c-9805-6587b60abb01"
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
Expand Down
37 changes: 37 additions & 0 deletions docs/make.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using Plots, RecipesBase, Manifolds, ManifoldsBase, Documenter, PyPlot
using PlutoStaticHTML
# required for loading the manifold tests functios
using Test, FiniteDifferences
ENV["GKSwstype"] = "100"
Expand All @@ -23,6 +24,41 @@ open(joinpath(generated_path, "contributing.md"), "w") do io
end
end

#
# Generate Pluto Tutorial HTMLs
tutorial_menu = Array{Pair{String,String},1}()
tutorial_src_folder = joinpath(@__DIR__, "..", "tutorials/")
tutorial_output_folder = joinpath(@__DIR__, "src/", "tutorials/")
tutorial_relative_path = "tutorials/"
mkpath(tutorial_output_folder)
#
# Tutorials
@info " \n Rendering Tutorials\n "
tutorials = [Dict(:file => "getstarted", :title => "Get started with Manifolds.jl")]
# build menu and write files myself - tp set edit url correctly.
for t in tutorials
global tutorial_menu
rendered = build_notebooks( #though not really parallel here
BuildOptions(
tutorial_src_folder;
output_format=documenter_output,
write_files=false,
use_distributed=false,
),
["$(t[:file]).jl"],
)
write(
tutorial_output_folder * t[:file] * ".md",
"""
```@meta
EditURL = "$(tutorial_src_folder)$(t[:file]).jl"
```
$(rendered["$(t[:file]).jl"][1])
""",
)
push!(tutorial_menu, t[:title] => joinpath(tutorial_relative_path, t[:file] * ".md"))
end

makedocs(
# for development, we disable prettyurls
format=Documenter.HTML(prettyurls=false, assets=["assets/favicon.ico"]),
Expand All @@ -31,6 +67,7 @@ makedocs(
sitename="Manifolds.jl",
pages=[
"Home" => "index.md",
"Tutorials" => tutorial_menu,
"Manifolds" => [
"Basic manifolds" => [
"Centered matrices" => "manifolds/centeredmatrices.md",
Expand Down
8 changes: 5 additions & 3 deletions src/manifolds/FixedRankMatrices.jl
Original file line number Diff line number Diff line change
Expand Up @@ -84,9 +84,11 @@ Base.:(==)(x::SVDMPoint, y::SVDMPoint) = (x.U == y.U) && (x.S == y.S) && (x.Vt =
@doc raw"""
UMVTVector <: TVector

A tangent vector that can be described as a product `U_p M V_p^\mathrm{H} + U_X V_p^\mathrm{H} + U_p V_X^\mathrm{H}`,
where `X = U_X S V_X^\mathrm{H}` is its base point, see for example [`FixedRankMatrices`](@ref).
This vector structure stores the additionally (to the point) required fields.
A tangent vector that can be described as a product ``U_p M V_p^\mathrm{H} + U_X V_p^\mathrm{H} + U_p V_X^\mathrm{H}```,
where ``X = U_X S V_X^\mathrm{H}`` is its base point, see for example [`FixedRankMatrices`](@ref).

The base point ``p`` is required for example embedding this point, but it is not stored.
The fields of thie tangent vector are `U` for ``U_X``, `M` and `Vt` to store ``V_X^\mathrm{H}``

# Constructors
* `UMVTVector(U,M,Vt)` store umv factors to initialize the `UMVTVector`
Expand Down
4 changes: 2 additions & 2 deletions src/manifolds/VectorBundle.jl
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ TangentSpaceAtPoint(M::AbstractManifold, p) = VectorSpaceAtPoint(TangentBundleFi
"""
TangentSpace(M::AbstractManifold, p)

Return a [`TangentSpaceAtPoint`](@ref TangentSpaceAtPoint{AbstractManifold, Any}) representing tangent space at `p` on the [`AbstractManifold`](https://juliamanifolds.github.io/ManifoldsBase.jl/stable/types.html#ManifoldsBase.AbstractManifold) `M`.
Return a [`TangentSpaceAtPoint`](@ref) representing tangent space at `p` on the [`AbstractManifold`](https://juliamanifolds.github.io/ManifoldsBase.jl/stable/types.html#ManifoldsBase.AbstractManifold) `M`.
"""
TangentSpace(M::AbstractManifold, p) = VectorSpaceAtPoint(TangentBundleFibers(M), p)

Expand Down Expand Up @@ -603,7 +603,7 @@ end
@doc raw"""
injectivity_radius(M::TangentSpaceAtPoint)

Return the injectivity radius on the [`TangentSpaceAtPoint`](@ref) `M`, which is $∞$.
Return the injectivity radius on the [`TangentSpaceAtPoint`](@ref TangentSpaceAtPoint) `M`, which is $∞$.
"""
injectivity_radius(::TangentSpaceAtPoint) = Inf

Expand Down
Loading