From b74d8cc6f3acf5aa4209bd690e7082a0fb236d25 Mon Sep 17 00:00:00 2001 From: gergaud Date: Fri, 13 Nov 2020 17:07:19 +0100 Subject: [PATCH] maj page d'accueil pb d'installation julia --- docs/src/index.md | 78 ++++++++++++++++-- src/TP-Projet-Optinum.ipynb | 159 ++++++++++++++++++++++++++++++++++++ 2 files changed, 230 insertions(+), 7 deletions(-) diff --git a/docs/src/index.md b/docs/src/index.md index 02c6cba..a4eca01 100644 --- a/docs/src/index.md +++ b/docs/src/index.md @@ -1,24 +1,88 @@ # Optinum - Méthodes numériques pour les problèmes d’optimisation -## Introduction +## Instalation de julia et jupyter notebook sur vos machines + +### Installation de julia + +Remarque : Il vaut mieux désinstaller, julia, atom, juno, conda et les packages associés si vous avez déjà fait des installations. + +Pour installer `julia` sur Windows, MacOS ou Linux, le plus simple est de se rendre dans `julialang.org` dans la section des téléchargements. Vous pouvez télécharger `juliaPro` (julia+atom+juno). + + + +### Installation du package IJulia et lancement d'un notebook, version Linux et MacOS + +- Lancer julia +- Dans la fenêtre ce commande taper le caractère ], cela fait passer `julia` dans le mode gestion des packages et de l'environnenment (`v1.4` car sur ma machine c'est la version 1.4 de julia). +`(@v1.4) pkg> add IJulia` +- Revenir en mode commande : taper la touche `backspace` +- Ce mettre dans un répertoire au dessus du répertoire Optinum dans lequel il y a un notebbok et lancer notebook +`julia> notebook()` + +Cela devrait fonctionner. + +### Installation du package IJulia et lancement d'un notebook, version windows + +Pour windows il faut considérer l'installation de Anaconda complet. Depuis le navigateur anaconda, on peut alors invoquer un jupyter_lab, et associer le kernel julia 1.5.2 associé à l'installation de julia-pro, et ensuite ouvrir n'importe quel fichier "ipynb". + +### Les projets en julia Le package [Optinum](https://github.com/mathn7/Optinum) concerne le projet d’Optimisation Numérique pour l’année 2020-2021 de l'École INP-ENSEEIHT. Pour récupérer le répertoire Optinum et toute la structuration il vous faut cloner ce dépot GitHub. Pour cela, ouvrer une fenêtre de commande et cloner ce dépot (il faut que git soit installé sur votre machine) : `git clone https://github.com/mathn7/Optinum.git` +Ce répertoire est un `Projet julia`, c'est-à-dire un ensemble de fichiers organisés de la façon suivante : + +- Un fichier `Project.toml`. C'est l'existence de ce fichier qui signale que l'ensemble des fichiers du répertoire définit un `projet julia`. Ce fichier contient des méta-données importantes sur le projet : + - un nom : name = "Optinum" + - un identifiant : uuid = "289cfbba-6966-46b0-8dde-953cd55d6e8f" + - les auteurs : authors = ["relmo "] + - un numero de version : version = "0.1.0" + - une liste de packages externes que le projet peut utiliser +- Un fichier `Manifest.toml`qui est optionnel et qui contient des versions de chacune des dépendances listées dans `Project.toml` +- un fichier `src/Optinum.jl`qui est le fichier qui sera chargé par l'instruction `using` si le projet est utilisé comme dépendance d'un autre projet (ce qui n'est pas le cas ici). +- un dépertoire `src` qui contient les sources `julia` +- un dépertoire `docs` pour générer la documentation +- un répertoire `test`pour les tests unitaires +- un fichier `Markdown README.md` qui contient ce qui sera affiché sous un gestionaire du type `GitHub`. + +### Soucis d'installation +Sous `linux` après installation du package `IJulia` losque vous lancer un notebook situé dans `Optinum, jupyter notebook` va automatiquement se mettre dans l'environnement d'Optinum. Le soucis est que dans cet environnement vous n'avez pas les bonnes versions des packages. Afin d'avoir ces bonnes versions il vous faut dans la fenêtre de commande `julia` lancé à partir du répertoire `Optinum` : + +- passez dans le mode gestion des packages et de l'envirronenment (touche `backspace`) + +- activer l'environnement `Optinum` +(@v1.4) pkg> activate . + +- installer les dépendances avec les bonnes versions +(Optinum) pkg> instantiate + +Ensuite cela devrait fonctionner et avec le notebook, il est inutile d'installer Mardown, ... car cela est déjà dans l'environnement. Ceci n'est à effectuer qu'une seule fois. Par contre si dans la fenêtre de commande de `julia` vous exécuter le fichier `test-TP-Projet-Optinum.jl` et que vous êtes dans l'envirronement général, il vous faut installer les packages nécessaires, mais si vous vous placez dans l'envirronement d'Optinum, cela devrait être ok. + +Remarque : pour voir sous un notebook dans quel environnement vous êtes, vous pouvez exécuter la commande `Pkd.status()` : +`julia> using Pkg` +`julia > Pkg.status()` +vous obtiendrez la liste des packages installés dans l'environnement. +Vous pouvez donc comparer ceci avec la liste obtenu dans la fenêtre de commande de `julia` avant et après l'activation de l'environnement Optinum. + +Remarque : C'est dans le mode gestion des packages et de l'environnenment : + +- que l'on peut passer dans l'environnement doc qui permet de générer la documentation +- que l'on peut effectuer les tests utitaires. + + +## Fichiers à modifier dans le cadre de ce projets + **Il ne faut en aucun cas modifier la structuration** de ce projet, ni les interfaces des fonctions. Les fichiers `julia` que vous aurez à modifier se trouvent dans le répertoire `Optinum/src`. Ces fichiers sont : 1. `TP-Projet-Optinum.ipynb`: c'est un julia notebook dans lequel vous ferez toutes vos expérimentations numériques et répondrez aux questions posées. Ce fichier est à ouvrir avec `jupyter notebook`. 2. Les fichiers `julia` qui codent les algorithmes demandés (voir le notebook). -Pour réaliser ce projet, vous avez besoin : -1. de `julia`, version 1.4.1 ou plus récente; -2. des packages IJulia (pour avoir accès à `jupyter notebook` pour julia) -3. des packages LinearAlgebra, Markdown - Enfin vous avez dans le répertoire `Optinum/julia` le fichier `notebook_Julia.pdf` d'introduction à `julia` et à l'utilisation des notebook et dans le répertoire `Optinum/julia/scr-julia` les notebook d'introduction au langage `julia`. -Remarque : vous pouvez travailler sur vos machine, mais vous pouvez aussi travailler sur les machines de l'enseeiht (en utilisant `x2go`) +Remarque : vous pouvez travailler sur vos machine, mais vous pouvez aussi travailler sur les machines de l'enseeiht (en utilisant `x2go` ou `ssh`). Pour cela il vous faut exécuter le script +`/usr/local/bin/install_ijulia` + ## Organisation Le projet d'optimisation numérique est à réaliser en binôme (dans un même groupe de tp). Nous vous laissons vous organiser pour faire ces binômes (essayez d'avoir une personne à Toulouse et une à distance si possible). Lors des séances de tp, nous passerons 10 à 15 minutes par binôme dans les salons discords dédiés. Nous ne verrons donc pas nécessairement tous les binômes à chaque séance de tp. Durant ces recontres nous ferons un point d'avancement de votre projet et répondrons à vos questions. Ces rencontres seront en partie évaluées et ceci entrera dans la notation du projet. diff --git a/src/TP-Projet-Optinum.ipynb b/src/TP-Projet-Optinum.ipynb index e529318..3671b47 100644 --- a/src/TP-Projet-Optinum.ipynb +++ b/src/TP-Projet-Optinum.ipynb @@ -24,6 +24,165 @@ "2. Tester l’algorithme sur les fonctions $f_{1}$ , $f_{2}$ avec les points initiaux $x_{011}$ , $x_{012}$ (pour $f_{1}$ ) et $x_{021}$ , $x_{022}$ , $x_{023}$ (pour $f_{2}$ ) donnés en Annexe A." ] }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[36m\u001b[1mProject \u001b[22m\u001b[39mOptinum v0.1.0\n", + "\u001b[32m\u001b[1mStatus\u001b[22m\u001b[39m `~/ENS/optinum/TP/Optinum/Project.toml`\n", + " \u001b[90m [e30172f5]\u001b[39m\u001b[37m Documenter v0.24.11\u001b[39m\n", + " \u001b[90m [28b8d3ca]\u001b[39m\u001b[37m GR v0.50.1\u001b[39m\n", + " \u001b[90m [91a5bcdd]\u001b[39m\u001b[37m Plots v1.4.1\u001b[39m\n", + " \u001b[90m [a6016688]\u001b[39m\u001b[37m TestOptinum v0.1.0 #master (https://github.com/mathn7/TestOptinum)\u001b[39m\n", + " \u001b[90m [37e2e46d]\u001b[39m\u001b[37m LinearAlgebra \u001b[39m\n", + " \u001b[90m [d6f4376e]\u001b[39m\u001b[37m Markdown \u001b[39m\n", + " \u001b[90m [8dfed614]\u001b[39m\u001b[37m Test \u001b[39m\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m\u001b[1m Updating\u001b[22m\u001b[39m registry at `~/.julia/registries/General`\n", + "┌ Warning: Some registries failed to update:\n", + "│ — `~/.julia/registries/General` — registry dirty\n", + "└ @ Pkg.Types /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.4/Pkg/src/Types.jl:1122\n", + "\u001b[32m\u001b[1m Resolving\u001b[22m\u001b[39m package versions...\n", + "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m ArrayLayouts ────────── v0.3.4\n", + "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m DifferentialEquations ─ v6.14.0\n", + "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m SymbolicUtils ───────── v0.3.4\n", + "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m NLsolve ─────────────── v4.4.0\n", + "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m BandedMatrices ──────── v0.15.12\n", + "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m StochasticDiffEq ────── v6.23.1\n", + "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m AbstractAlgebra ─────── v0.9.2\n", + "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m LightGraphs ─────────── v1.3.3\n", + "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m CEnum ───────────────── v0.4.1\n", + "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m Distances ───────────── v0.9.0\n", + "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m DiffEqNoiseProcess ──── v4.2.0\n", + "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m ModelingToolkit ─────── v3.10.2\n", + "\u001b[32m\u001b[1m Installed\u001b[22m\u001b[39m Distributions ───────── v0.23.4\n", + "\u001b[32m\u001b[1m Updating\u001b[22m\u001b[39m `~/ENS/optinum/TP/Optinum/Project.toml`\n", + " \u001b[90m [0c46a032]\u001b[39m\u001b[92m + DifferentialEquations v6.14.0\u001b[39m\n", + "\u001b[32m\u001b[1m Updating\u001b[22m\u001b[39m `~/ENS/optinum/TP/Optinum/Manifest.toml`\n", + " \u001b[90m [c3fe647b]\u001b[39m\u001b[92m + AbstractAlgebra v0.9.2\u001b[39m\n", + " \u001b[90m [1520ce14]\u001b[39m\u001b[92m + AbstractTrees v0.3.3\u001b[39m\n", + " \u001b[90m [79e6a3ab]\u001b[39m\u001b[92m + Adapt v1.1.0\u001b[39m\n", + " \u001b[90m [ec485272]\u001b[39m\u001b[92m + ArnoldiMethod v0.0.4\u001b[39m\n", + " \u001b[90m [7d9fca2a]\u001b[39m\u001b[92m + Arpack v0.4.0\u001b[39m\n", + " \u001b[90m [68821587]\u001b[39m\u001b[92m + Arpack_jll v3.5.0+3\u001b[39m\n", + " \u001b[90m [4fba245c]\u001b[39m\u001b[92m + ArrayInterface v2.8.7\u001b[39m\n", + " \u001b[90m [4c555306]\u001b[39m\u001b[92m + ArrayLayouts v0.3.4\u001b[39m\n", + " \u001b[90m [aae01518]\u001b[39m\u001b[92m + BandedMatrices v0.15.12\u001b[39m\n", + " \u001b[90m [764a87c0]\u001b[39m\u001b[92m + BoundaryValueDiffEq v2.5.0\u001b[39m\n", + " \u001b[90m [fa961155]\u001b[39m\u001b[92m + CEnum v0.4.1\u001b[39m\n", + " \u001b[90m [a603d957]\u001b[39m\u001b[92m + CanonicalTraits v0.2.1\u001b[39m\n", + " \u001b[90m [d360d2e6]\u001b[39m\u001b[92m + ChainRulesCore v0.8.0\u001b[39m\n", + " \u001b[90m [861a8166]\u001b[39m\u001b[92m + Combinatorics v1.0.2\u001b[39m\n", + " \u001b[90m [bbf7d656]\u001b[39m\u001b[92m + CommonSubexpressions v0.2.0\u001b[39m\n", + " \u001b[90m [34da2185]\u001b[39m\u001b[92m + Compat v3.12.0\u001b[39m\n", + " \u001b[90m [e66e0078]\u001b[39m\u001b[92m + CompilerSupportLibraries_jll v0.3.3+0\u001b[39m\n", + " \u001b[90m [88cd18e8]\u001b[39m\u001b[92m + ConsoleProgressMonitor v0.1.2\u001b[39m\n", + " \u001b[90m [187b0558]\u001b[39m\u001b[92m + ConstructionBase v1.0.0\u001b[39m\n", + " \u001b[90m [adafc99b]\u001b[39m\u001b[92m + CpuId v0.2.2\u001b[39m\n", + " \u001b[90m [bcd4f6db]\u001b[39m\u001b[92m + DelayDiffEq v5.24.1\u001b[39m\n", + " \u001b[90m [2b5f629d]\u001b[39m\u001b[92m + DiffEqBase v6.38.4\u001b[39m\n", + " \u001b[90m [459566f4]\u001b[39m\u001b[92m + DiffEqCallbacks v2.13.3\u001b[39m\n", + " \u001b[90m [5a0ffddc]\u001b[39m\u001b[92m + DiffEqFinancial v2.3.0\u001b[39m\n", + " \u001b[90m [c894b116]\u001b[39m\u001b[92m + DiffEqJump v6.9.1\u001b[39m\n", + " \u001b[90m [77a26b50]\u001b[39m\u001b[92m + DiffEqNoiseProcess v4.2.0\u001b[39m\n", + " \u001b[90m [055956cb]\u001b[39m\u001b[92m + DiffEqPhysics v3.2.0\u001b[39m\n", + " \u001b[90m [163ba53b]\u001b[39m\u001b[92m + DiffResults v1.0.2\u001b[39m\n", + " \u001b[90m [b552c78f]\u001b[39m\u001b[92m + DiffRules v1.0.1\u001b[39m\n", + " \u001b[90m [0c46a032]\u001b[39m\u001b[92m + DifferentialEquations v6.14.0\u001b[39m\n", + " \u001b[90m [c619ae07]\u001b[39m\u001b[92m + DimensionalPlotRecipes v1.2.0\u001b[39m\n", + " \u001b[90m [b4f34e82]\u001b[39m\u001b[92m + Distances v0.9.0\u001b[39m\n", + " \u001b[90m [31c24e10]\u001b[39m\u001b[92m + Distributions v0.23.4\u001b[39m\n", + " \u001b[90m [d4d017d3]\u001b[39m\u001b[92m + ExponentialUtilities v1.6.0\u001b[39m\n", + " \u001b[90m [1a297f60]\u001b[39m\u001b[92m + FillArrays v0.8.10\u001b[39m\n", + " \u001b[90m [6a86dc24]\u001b[39m\u001b[92m + FiniteDiff v2.3.2\u001b[39m\n", + " \u001b[90m [59287772]\u001b[39m\u001b[92m + Formatting v0.4.1\u001b[39m\n", + " \u001b[90m [f6369f11]\u001b[39m\u001b[92m + ForwardDiff v0.10.10\u001b[39m\n", + " \u001b[90m [069b7b12]\u001b[39m\u001b[92m + FunctionWrappers v1.1.1\u001b[39m\n", + " \u001b[90m [6b9d7cbe]\u001b[39m\u001b[92m + GeneralizedGenerated v0.2.4\u001b[39m\n", + " \u001b[90m [01680d73]\u001b[39m\u001b[92m + GenericSVD v0.3.0\u001b[39m\n", + " \u001b[90m [d25df0c9]\u001b[39m\u001b[92m + Inflate v0.1.2\u001b[39m\n", + " \u001b[90m [42fd0dbc]\u001b[39m\u001b[92m + IterativeSolvers v0.8.4\u001b[39m\n", + " \u001b[90m [82899510]\u001b[39m\u001b[92m + IteratorInterfaceExtensions v1.0.0\u001b[39m\n", + " \u001b[90m [b14d175d]\u001b[39m\u001b[92m + JuliaVariables v0.2.0\u001b[39m\n", + " \u001b[90m [b964fa9f]\u001b[39m\u001b[92m + LaTeXStrings v1.1.0\u001b[39m\n", + " \u001b[90m [2ee39098]\u001b[39m\u001b[92m + LabelledArrays v1.2.2\u001b[39m\n", + " \u001b[90m [23fbe1c1]\u001b[39m\u001b[92m + Latexify v0.13.5\u001b[39m\n", + " \u001b[90m [1d6d02ad]\u001b[39m\u001b[92m + LeftChildRightSiblingTrees v0.1.2\u001b[39m\n", + " \u001b[90m [093fc24a]\u001b[39m\u001b[92m + LightGraphs v1.3.3\u001b[39m\n", + " \u001b[90m [d3d80556]\u001b[39m\u001b[92m + LineSearches v7.0.1\u001b[39m\n", + " \u001b[90m [e6f89c97]\u001b[39m\u001b[92m + LoggingExtras v0.4.1\u001b[39m\n", + " \u001b[90m [bdcacae8]\u001b[39m\u001b[92m + LoopVectorization v0.8.5\u001b[39m\n", + " \u001b[90m [d00139f3]\u001b[39m\u001b[92m + METIS_jll v5.1.0+4\u001b[39m\n", + " \u001b[90m [d8e11817]\u001b[39m\u001b[92m + MLStyle v0.3.1\u001b[39m\n", + " \u001b[90m [1914dd2f]\u001b[39m\u001b[92m + MacroTools v0.5.5\u001b[39m\n", + " \u001b[90m [961ee093]\u001b[39m\u001b[92m + ModelingToolkit v3.10.2\u001b[39m\n", + " \u001b[90m [46d2c3a1]\u001b[39m\u001b[92m + MuladdMacro v0.2.2\u001b[39m\n", + " \u001b[90m [f9640e96]\u001b[39m\u001b[92m + MultiScaleArrays v1.8.1\u001b[39m\n", + " \u001b[90m [d41bc354]\u001b[39m\u001b[92m + NLSolversBase v7.6.1\u001b[39m\n", + " \u001b[90m [2774e3e8]\u001b[39m\u001b[92m + NLsolve v4.4.0\u001b[39m\n", + " \u001b[90m [71a1bf82]\u001b[39m\u001b[92m + NameResolution v0.1.3\u001b[39m\n", + " \u001b[90m [6fe1bfb0]\u001b[39m\u001b[92m + OffsetArrays v1.0.4\u001b[39m\n", + " \u001b[90m [4536629a]\u001b[39m\u001b[92m + OpenBLAS_jll v0.3.9+4\u001b[39m\n", + " \u001b[90m [efe28fd5]\u001b[39m\u001b[92m + OpenSpecFun_jll v0.5.3+3\u001b[39m\n", + " \u001b[90m [1dea7af3]\u001b[39m\u001b[92m + OrdinaryDiffEq v5.41.0\u001b[39m\n", + " \u001b[90m [90014a1f]\u001b[39m\u001b[92m + PDMats v0.9.12\u001b[39m\n", + " \u001b[90m [65888b18]\u001b[39m\u001b[92m + ParameterizedFunctions v5.3.0\u001b[39m\n", + " \u001b[90m [d96e819e]\u001b[39m\u001b[92m + Parameters v0.12.1\u001b[39m\n", + " \u001b[90m [e409e4f3]\u001b[39m\u001b[92m + PoissonRandom v0.4.0\u001b[39m\n", + " \u001b[90m [8162dcfd]\u001b[39m\u001b[92m + PrettyPrint v0.1.0\u001b[39m\n", + " \u001b[90m [33c8b6b6]\u001b[39m\u001b[92m + ProgressLogging v0.1.2\u001b[39m\n", + " \u001b[90m [92933f4c]\u001b[39m\u001b[92m + ProgressMeter v1.3.1\u001b[39m\n", + " \u001b[90m [1fd47b50]\u001b[39m\u001b[92m + QuadGK v2.3.1\u001b[39m\n", + " \u001b[90m [e6cf234a]\u001b[39m\u001b[92m + RandomNumbers v1.4.0\u001b[39m\n", + " \u001b[90m [731186ca]\u001b[39m\u001b[92m + RecursiveArrayTools v2.4.4\u001b[39m\n", + " \u001b[90m [f2c3362d]\u001b[39m\u001b[92m + RecursiveFactorization v0.1.2\u001b[39m\n", + " \u001b[90m [ae5879a3]\u001b[39m\u001b[92m + ResettableStacks v1.0.0\u001b[39m\n", + " \u001b[90m [79098fc4]\u001b[39m\u001b[92m + Rmath v0.6.1\u001b[39m\n", + " \u001b[90m [f50d1b31]\u001b[39m\u001b[92m + Rmath_jll v0.2.2+1\u001b[39m\n", + " \u001b[90m [f2b01f46]\u001b[39m\u001b[92m + Roots v1.0.2\u001b[39m\n", + " \u001b[90m [21efa798]\u001b[39m\u001b[92m + SIMDPirates v0.8.7\u001b[39m\n", + " \u001b[90m [476501e8]\u001b[39m\u001b[92m + SLEEFPirates v0.5.1\u001b[39m\n", + " \u001b[90m [1bc83da4]\u001b[39m\u001b[92m + SafeTestsets v0.0.1\u001b[39m\n", + " \u001b[90m [699a6c99]\u001b[39m\u001b[92m + SimpleTraits v0.9.2\u001b[39m\n", + " \u001b[90m [47a9eef4]\u001b[39m\u001b[92m + SparseDiffTools v1.8.0\u001b[39m\n", + " \u001b[90m [276daf66]\u001b[39m\u001b[92m + SpecialFunctions v0.10.3\u001b[39m\n", + " \u001b[90m [4c63d2b9]\u001b[39m\u001b[92m + StatsFuns v0.9.5\u001b[39m\n", + " \u001b[90m [9672c7b4]\u001b[39m\u001b[92m + SteadyStateDiffEq v1.5.1\u001b[39m\n", + " \u001b[90m [789caeaf]\u001b[39m\u001b[92m + StochasticDiffEq v6.23.1\u001b[39m\n", + " \u001b[90m [bea87d4a]\u001b[39m\u001b[92m + SuiteSparse_jll v5.4.0+8\u001b[39m\n", + " \u001b[90m [c3572dad]\u001b[39m\u001b[92m + Sundials v4.2.3\u001b[39m\n", + " \u001b[90m [fb77eaff]\u001b[39m\u001b[92m + Sundials_jll v5.2.0+0\u001b[39m\n", + " \u001b[90m [d1185830]\u001b[39m\u001b[92m + SymbolicUtils v0.3.4\u001b[39m\n", + " \u001b[90m [3783bdb8]\u001b[39m\u001b[92m + TableTraits v1.0.0\u001b[39m\n", + " \u001b[90m [5d786b92]\u001b[39m\u001b[92m + TerminalLoggers v0.1.1\u001b[39m\n", + " \u001b[90m [a759f4b9]\u001b[39m\u001b[92m + TimerOutputs v0.5.6\u001b[39m\n", + " \u001b[90m [a2a6695c]\u001b[39m\u001b[92m + TreeViews v0.3.0\u001b[39m\n", + " \u001b[90m [3a884ed6]\u001b[39m\u001b[92m + UnPack v1.0.1\u001b[39m\n", + " \u001b[90m [1986cc42]\u001b[39m\u001b[92m + Unitful v1.2.1\u001b[39m\n", + " \u001b[90m [3d5dd08c]\u001b[39m\u001b[92m + VectorizationBase v0.12.6\u001b[39m\n", + " \u001b[90m [19fa3120]\u001b[39m\u001b[92m + VertexSafeGraphs v0.1.2\u001b[39m\n", + " \u001b[90m [700de1a5]\u001b[39m\u001b[92m + ZygoteRules v0.2.0\u001b[39m\n", + " \u001b[90m [1a1011a3]\u001b[39m\u001b[92m + SharedArrays \u001b[39m\n", + " \u001b[90m [4607b0f0]\u001b[39m\u001b[92m + SuiteSparse \u001b[39m\n" + ] + } + ], + "source": [ + "using Pkg\n", + "Pkg.status()\n", + "Pkg.add(\"DifferentialEquations\")" + ] + }, { "cell_type": "code", "execution_count": 1,