Skip to content

Commit 9a77ff5

Browse files
committed
Free final time and time-optimal control added, including a bunch of figures.
1 parent dfc86c6 commit 9a77ff5

15 files changed

+527
-31
lines changed

Manifest.toml

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -536,9 +536,9 @@ version = "1.11.0"
536536

537537
[[deps.Dbus_jll]]
538538
deps = ["Artifacts", "Expat_jll", "JLLWrappers", "Libdl"]
539-
git-tree-sha1 = "fc173b380865f70627d7dd1190dc2fce6cc105af"
539+
git-tree-sha1 = "473e9afc9cf30814eb67ffa5f2db7df82c3ad9fd"
540540
uuid = "ee1fde0b-3d02-5ea6-8484-8dfef6360eab"
541-
version = "1.14.10+0"
541+
version = "1.16.2+0"
542542

543543
[[deps.DelaunayTriangulation]]
544544
deps = ["AdaptivePredicates", "EnumX", "ExactPredicates", "Random"]
@@ -1011,9 +1011,9 @@ version = "0.10.6"
10111011

10121012
[[deps.FriBidi_jll]]
10131013
deps = ["Artifacts", "JLLWrappers", "Libdl"]
1014-
git-tree-sha1 = "846f7026a9decf3679419122b49f8a1fdb48d2d5"
1014+
git-tree-sha1 = "7a214fdac5ed5f59a22c2d9a885a16da1c74bbc7"
10151015
uuid = "559328eb-81f9-559d-9380-de523a88c83c"
1016-
version = "1.0.16+0"
1016+
version = "1.0.17+0"
10171017

10181018
[[deps.FunctionWrappers]]
10191019
git-tree-sha1 = "d62485945ce5ae9c0c48f124a84998d755bae00e"
@@ -2069,9 +2069,9 @@ version = "1.2.0"
20692069

20702070
[[deps.OrdinaryDiffEqBDF]]
20712071
deps = ["ADTypes", "ArrayInterface", "DiffEqBase", "FastBroadcast", "LinearAlgebra", "MacroTools", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "OrdinaryDiffEqNonlinearSolve", "OrdinaryDiffEqSDIRK", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "StaticArrays", "TruncatedStacktraces"]
2072-
git-tree-sha1 = "970ac761ae1c4249fc70d75760c328269a518585"
2072+
git-tree-sha1 = "6c8114a2f5a7649367241a99724cc7e79f7d2d40"
20732073
uuid = "6ad6398a-0878-4a85-9266-38940aa047c8"
2074-
version = "1.3.0"
2074+
version = "1.4.0"
20752075

20762076
[[deps.OrdinaryDiffEqCore]]
20772077
deps = ["ADTypes", "Accessors", "Adapt", "ArrayInterface", "DataStructures", "DiffEqBase", "DocStringExtensions", "EnumX", "FastBroadcast", "FastClosures", "FastPower", "FillArrays", "FunctionWrappersWrappers", "InteractiveUtils", "LinearAlgebra", "Logging", "MacroTools", "MuladdMacro", "Polyester", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "SciMLBase", "SciMLOperators", "SciMLStructures", "SimpleUnPack", "Static", "StaticArrayInterface", "StaticArraysCore", "SymbolicIndexingInterface", "TruncatedStacktraces"]
@@ -2090,10 +2090,10 @@ uuid = "50262376-6c5a-4cf5-baba-aaf4f84d72d7"
20902090
version = "1.3.0"
20912091

20922092
[[deps.OrdinaryDiffEqDifferentiation]]
2093-
deps = ["ADTypes", "ArrayInterface", "DiffEqBase", "FastBroadcast", "FiniteDiff", "ForwardDiff", "FunctionWrappersWrappers", "LinearAlgebra", "LinearSolve", "OrdinaryDiffEqCore", "SciMLBase", "SparseArrays", "SparseDiffTools", "StaticArrayInterface", "StaticArrays"]
2094-
git-tree-sha1 = "9a535370247496c1375ba6d08b0493c0d856d25b"
2093+
deps = ["ADTypes", "ArrayInterface", "ConcreteStructs", "ConstructionBase", "DiffEqBase", "DifferentiationInterface", "FastBroadcast", "FiniteDiff", "ForwardDiff", "FunctionWrappersWrappers", "LinearAlgebra", "LinearSolve", "OrdinaryDiffEqCore", "SciMLBase", "SciMLOperators", "SparseArrays", "SparseMatrixColorings", "StaticArrayInterface", "StaticArrays"]
2094+
git-tree-sha1 = "dafdc71c19e05744876302babdc91149829c2e0a"
20952095
uuid = "4302a76b-040a-498a-8c04-15b101fed76b"
2096-
version = "1.4.0"
2096+
version = "1.6.0"
20972097

20982098
[[deps.OrdinaryDiffEqExplicitRK]]
20992099
deps = ["DiffEqBase", "FastBroadcast", "LinearAlgebra", "MuladdMacro", "OrdinaryDiffEqCore", "RecursiveArrayTools", "Reexport", "TruncatedStacktraces"]
@@ -2115,9 +2115,9 @@ version = "1.5.0"
21152115

21162116
[[deps.OrdinaryDiffEqFIRK]]
21172117
deps = ["ADTypes", "DiffEqBase", "FastBroadcast", "FastGaussQuadrature", "FastPower", "LinearAlgebra", "LinearSolve", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "OrdinaryDiffEqNonlinearSolve", "Polyester", "RecursiveArrayTools", "Reexport", "SciMLBase", "SciMLOperators"]
2118-
git-tree-sha1 = "588f454cc1c48c20a32f03838af4983053a1d3ae"
2118+
git-tree-sha1 = "7d2c82c13a634f7400a3f398d33f1354ab38a090"
21192119
uuid = "5960d6e9-dd7a-4743-88e7-cf307b64f125"
2120-
version = "1.9.0"
2120+
version = "1.10.0"
21212121

21222122
[[deps.OrdinaryDiffEqFeagin]]
21232123
deps = ["DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "Polyester", "RecursiveArrayTools", "Reexport", "Static"]
@@ -2163,9 +2163,9 @@ version = "1.3.0"
21632163

21642164
[[deps.OrdinaryDiffEqNonlinearSolve]]
21652165
deps = ["ADTypes", "ArrayInterface", "DiffEqBase", "FastBroadcast", "FastClosures", "ForwardDiff", "LinearAlgebra", "LinearSolve", "MuladdMacro", "NonlinearSolve", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "PreallocationTools", "RecursiveArrayTools", "SciMLBase", "SciMLOperators", "SciMLStructures", "SimpleNonlinearSolve", "StaticArrays"]
2166-
git-tree-sha1 = "1b89e3e84752a3cbd2c94db565e6ea7acb5279b2"
2166+
git-tree-sha1 = "dbc4ca97a9051595d86a0d0fc31ded2de9cdfd7e"
21672167
uuid = "127b3ac7-2247-4354-8eb6-78cf4e7c58e8"
2168-
version = "1.5.0"
2168+
version = "1.6.0"
21692169

21702170
[[deps.OrdinaryDiffEqNordsieck]]
21712171
deps = ["DiffEqBase", "FastBroadcast", "LinearAlgebra", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqTsit5", "Polyester", "RecursiveArrayTools", "Reexport", "Static"]
@@ -2198,10 +2198,10 @@ uuid = "af6ede74-add8-4cfd-b1df-9a4dbb109d7a"
21982198
version = "1.1.0"
21992199

22002200
[[deps.OrdinaryDiffEqRosenbrock]]
2201-
deps = ["ADTypes", "DiffEqBase", "FastBroadcast", "FiniteDiff", "ForwardDiff", "LinearAlgebra", "LinearSolve", "MacroTools", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "Polyester", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "Static"]
2202-
git-tree-sha1 = "bede3226fd485741e364239e23236e07ace77639"
2201+
deps = ["ADTypes", "DiffEqBase", "DifferentiationInterface", "FastBroadcast", "FiniteDiff", "ForwardDiff", "LinearAlgebra", "LinearSolve", "MacroTools", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "Polyester", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "Static"]
2202+
git-tree-sha1 = "baa4a9b4380b2fb65f1e2b4ec01d3bd019a6dcea"
22032203
uuid = "43230ef6-c299-4910-a778-202eb28ce4ce"
2204-
version = "1.8.0"
2204+
version = "1.9.0"
22052205

22062206
[[deps.OrdinaryDiffEqSDIRK]]
22072207
deps = ["ADTypes", "DiffEqBase", "FastBroadcast", "LinearAlgebra", "MacroTools", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "OrdinaryDiffEqNonlinearSolve", "RecursiveArrayTools", "Reexport", "SciMLBase", "TruncatedStacktraces"]
@@ -2436,9 +2436,9 @@ version = "1.11.0"
24362436

24372437
[[deps.ProgressMeter]]
24382438
deps = ["Distributed", "Printf"]
2439-
git-tree-sha1 = "1efcd8b38f007101ec6c4ff42df9aedd1b5450de"
2439+
git-tree-sha1 = "13c5103482a8ed1536a54c08d0e742ae3dca2d42"
24402440
uuid = "92933f4c-e287-5a05-a399-4b506db050ca"
2441-
version = "1.10.3"
2441+
version = "1.10.4"
24422442

24432443
[[deps.PtrArrays]]
24442444
git-tree-sha1 = "1d36ef11a9aaf1e8b74dacc6a731dd1de8fd493d"
@@ -2867,9 +2867,9 @@ version = "0.1.2"
28672867

28682868
[[deps.SparseMatrixColorings]]
28692869
deps = ["ADTypes", "DocStringExtensions", "LinearAlgebra", "Random", "SparseArrays"]
2870-
git-tree-sha1 = "b7de46dc1cc6a12e4ba4c614f3754015f6fc63ef"
2870+
git-tree-sha1 = "d59566cf03c67733edce6d80e0fb17e183ab31ba"
28712871
uuid = "0a514795-09f3-496d-8182-132a7b665d35"
2872-
version = "0.4.15"
2872+
version = "0.4.16"
28732873

28742874
[deps.SparseMatrixColorings.extensions]
28752875
SparseMatrixColoringsCliqueTreesExt = "CliqueTrees"
@@ -3286,9 +3286,9 @@ version = "1.1.43+0"
32863286

32873287
[[deps.XZ_jll]]
32883288
deps = ["Artifacts", "JLLWrappers", "Libdl"]
3289-
git-tree-sha1 = "6e6f1a4f245f66f93f28e55879f9ba47fed66f36"
3289+
git-tree-sha1 = "fee71455b0aaa3440dfdd54a9a36ccef829be7d4"
32903290
uuid = "ffd25f8a-64ca-5728-b0f7-c24cf3aae800"
3291-
version = "5.8.0+0"
3291+
version = "5.8.1+0"
32923292

32933293
[[deps.Xorg_libICE_jll]]
32943294
deps = ["Artifacts", "JLLWrappers", "Libdl"]

lectures/cont_indir_calculus_of_variations.qmd

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -346,19 +346,15 @@ $$
346346
347347
As a consequence, $L_{y'}y' - L$ is constant along the optimal curve.
348348
349-
The two new functions whose values are *preserved along the extremal* are so special that they deserve their own symbols and names:
349+
The two new functions whose values are *preserved along the extremal* (under the respective conditions) are so special that they deserve their own symbols and names:
350350
$$\boxed{
351351
p(x) \coloneqq L_{y'},}
352352
$$
353-
and you will see that the choice of the symbol $p$ is intentional becase this variable will be seen to play the role of *momentum* as you know it from physics, and
353+
and the choice of the symbol $p$ is intentional as this variable plays the role of *momentum* in physics (when the independent variable $x$ is time and $L$ is the difference between the kinetic and potential energies), and
354354
$$\boxed{
355355
H(x,y,y',p) \coloneqq py'-L}
356356
$$
357-
and you will see that the choice of the symbol $H$ is intentional becase this variable will be seen to play the role of *Hamiltonian* as you know it from physics.
358-
359-
::: {.callout-warning}
360-
Unfortunately, we have to give a warning here, that while the above definitions are well accepted in the physics-related fields of science, most control theory books adopt a slightly different convention, which may be confusing. We will have more on that in a while (or see directly 3.4.4 in Liberzon's book).
361-
:::
357+
and the choice of the symbol $H$ is intentional becase this variable plays the role of *Hamiltonian* in physics.
362358

363359
Let us now see how $y$ and $p$ develop as functions of $x$, and we will use Hamiltonian for that purpose. First, it is immediate from the definition of Hamiltonian that
364360
$$

0 commit comments

Comments
 (0)