From f90797311f84f0c039f7cc5c35f53c345a1bee1a Mon Sep 17 00:00:00 2001 From: Mohamed Tarek Date: Sat, 18 Jun 2022 01:44:26 +0400 Subject: [PATCH] add more sub-headers to sidebar (#142) * add headers to sidebar * 4 -> 3 * fix paths * add table of contents sections --- README.md | 2 +- docs/make.jl | 11 ++++++++++- docs/src/gradients/gradients.md | 2 ++ docs/src/index.md | 2 +- docs/src/problem/problem.md | 2 ++ 5 files changed, 16 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index a06380bd..c35cbb8b 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ The `JuliaNonconvex` organization hosts a number of packages which are available ## Design philosophy -Nonconvex.jl is a Julia package that implements and wraps a number of constrained nonlinear and mixed integer nonlinear programming solvers. There are 4 unique features of Nonconvex.jl compared to similar packages such as JuMP.jl and NLPModels.jl: +Nonconvex.jl is a Julia package that implements and wraps a number of constrained nonlinear and mixed integer nonlinear programming solvers. There are 3 features of Nonconvex.jl compared to similar packages such as JuMP.jl and NLPModels.jl: 1. Emphasis on a function-based API. Objectives and constraints are normal Julia functions. 2. The ability to nest algorithms to create more complicated algorithms. diff --git a/docs/make.jl b/docs/make.jl index 31cce93f..ada641f8 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -6,7 +6,16 @@ makedocs( pages = [ "Getting started" => "index.md", "Problem definition" => "problem/problem.md", - "Gradients, Jacobians and Hessians" => "gradients/gradients.md", + "Gradients, Jacobians and Hessians" => [ + "Overview" => "gradients/gradients.md", + "gradients/user_defined.md", + "gradients/other_ad.md", + "gradients/chainrules_fd.md", + "gradients/sparse.md", + "gradients/symbolic.md", + "gradients/implicit.md", + "gradients/history.md", + ], "Algorithms" => [ "Overview" => "algorithms/algorithms.md", "algorithms/mma.md", diff --git a/docs/src/gradients/gradients.md b/docs/src/gradients/gradients.md index e848e9ee..45439e09 100644 --- a/docs/src/gradients/gradients.md +++ b/docs/src/gradients/gradients.md @@ -13,6 +13,8 @@ In some cases, function modifiers can even be composed on top of each other to c > In `Nonconvex`, function modifiers modify the behaviour of a function when differentiated once or twice using either `ForwardDiff` or any [`ChainRules`](https://github.com/JuliaDiff/ChainRules.jl)-compatible AD package, such as `Zygote.jl`. The following features are all implemented in [`NonconvexUtils.jl`](https://github.com/JuliaNonconvex/NonconvexUtils.jl) and re-exported from `Nonconvex`. +## Table of contents + ```@contents Pages = ["user_defined.md", "other_ad.md", "chainrules_fd.md", "sparse.md", "symbolic.md", "implicit.md", "history.md"] Depth = 3 diff --git a/docs/src/index.md b/docs/src/index.md index 8f1df6de..9c49e6b9 100644 --- a/docs/src/index.md +++ b/docs/src/index.md @@ -1,6 +1,6 @@ # Nonconvex.jl Documentation -Nonconvex.jl is a Julia package that implements and wraps a number of constrained nonlinear and mixed integer nonlinear programming solvers. There are 4 unique features of Nonconvex.jl compared to similar packages such as JuMP.jl and NLPModels.jl: +Nonconvex.jl is a Julia package that implements and wraps a number of constrained nonlinear and mixed integer nonlinear programming solvers. There are 3 features of Nonconvex.jl compared to similar packages such as JuMP.jl and NLPModels.jl: 1. Emphasis on a function-based API. Objectives and constraints are normal Julia functions. 2. The ability to nest algorithms to create more complicated algorithms. diff --git a/docs/src/problem/problem.md b/docs/src/problem/problem.md index 03f834e3..0215308b 100644 --- a/docs/src/problem/problem.md +++ b/docs/src/problem/problem.md @@ -5,6 +5,8 @@ There are 3 ways to define a model in Nonconvex.jl: 2. `DictModel` which assumes each variable has a name. The decision variables are stored in an `OrderedDict`, an ordered dictionary data structure. 3. Start from `JuMP.Model` and convert it to `DictModel`. This is convenient to make use of `JuMP`'s user-friendly macros for variable and linear expression, objective or constraint definitions. +## Table of contents + ```@contents Pages = ["model.md", "dict_model.md", "queries.md"] Depth = 3