Python og CAS-demonstrationer#
I Matematik 1b vil vi hovedsageligt bruge Python med Python-biblioteket Sympy til symbolsk matematik og Matplotlib til plots (dtumathtools vil hjælpe med en del af plottearbejdet her), men vi får også brug for andre Python-biblioteker så som Numpy og Scipy, særligt i den store projektperiode.
Sympy er et computeralgebrasystem (CAS) skrevet i Python. Det kan let udvides med andre Python-biblioteker så som Numpy, Scipy og Matplotlib. De følgende sektioner indeholder demoer i brugen af Sympy til emnerne i Matematik 1b.
Installationer#
Du kan finde en installationsguide til Python og Sympy her. For installation af Jupyter Notebooks, se herunder.
Dokumentation#
Hvis Sympy giver en fejl som output, eller hvis du ikke kan huske navnet på en kommando, så tjek dokumentationen: https://docs.sympy.org/latest/index.html. Hvis du for eksempel vil løse en differentialligning, så søg blot efter solve differential equation site:https://docs.sympy.org. Med site:https://docs.sympy.org søger du udelukkende indenfor den officielle dokumentation. Dér kan du i øvrigt også finde mange andre gode tutorials. Generel dokumentation til Python kan findes her: https://docs.python.org/3/.
Demoer#
Du finder Sympy-demoer til materialet fra Matematik 1a på Mat1a-hjemmesiden. Herunder ses en liste over demoer til brugen af Sympy i emnerne fra Matematik 1b.
- Velkommen til Sympy!
- Demo 1: Funktioner, plots og partielt afledte
- Demo 2: Differentiabilitet
- Demo 3: Indreprodukt-rum
- Demo 4: Spektralsætningen, diagonalisering og hermitiske matricer
- Demo 5: Taylor-approksimeringer
- Demo 6: Ekstremumundersøgelse og optimering
- Demo 7: Riemann-integraler
- Demo 8: Parameterfremstillinger
- Demo 9: Plan-, rum-, kurve- og fladeintegraler med transformationssætningen
- Demo 10: Vektorfelter og deres integration langs kurver (det tangentielle kurveintegral)
- Demo 11: Integration af vektorfelter gennem flader (flux)
Jupyter Notebooks#
Disse demoer præsenterer Python-/Sympy-kode ved brug af præsentationsprogrammet Jupyter Notebooks, der tillader en blanding af tekst og kode på samme side/i samme dokument. Vi råder dig til også selv at benytte Jupyter til dit kodearbejde. Er du ikke bekendt med Jupyter, så løs følgende opgave:
Opgave: Kom i gang med Jupyter Notebooks#
Denne lille opgave vil guide dig til at installere de nødvendige Jupyter-udvidelser i din lokale installation af Visual Studio (VS) Code og træne dig i, hvordan man opretter en ny Jupyter Notebook, laver Markdown- og Python-kode-celler deri og eksekverer (“kører”) disse celler.
I VS Code, klik i venstre spalte på firkanterne/blokkene kaldet Extensions.
Søg efter Jupyter, og installér det øverste søgeresultat, hvis det ikke allerede er installeret. Du er nu klar til at arbejde i Jupyter Notebooks.
Opret nu en ny Jupyter Notebook navngivet noget à la
min_nye_notebook.ipynb. Du gør dette ved at køre kommandoenOpret: Ny Jupyter Notebookfra Kommandoprompten (brug tastaturgenvejenCtrl+Shift+P) eller ved at oprette en ny .ipynb-fil i din mappe ved at skrivecode min_nye_notebook.ipynbi terminalen i VS Code. Vælg derefter en kerne (eng: kernel) ved hjælp af kerne-vælgeren i øverste højre hjørne.Skriv
print("Hej verden!")i den første celle, der som standard bør være en kodecelle. Kør denne kodecelle ved at klikke på Run-ikonet til venstre for cellen, og tjek, at outputtet vises lige under kodecellen.Opret en markdown-celle (klik på +Markdown) og skriv noget tekst à la dette:
Denne celle køres ikke af Python-fortolkeren og bør anvendes til forklarende tekst og matematisk indhold, der skal præsenteres, så som $4 x_1 + 5x_2 =7$ og $$\int x^2 dx.$$. Klik på checkmark-symbolet til højre for at forlade redigerings-mode (alternativt, tastCtrl+Enter).
Note
Hvis du allerede har en eksisterende Jupyter Notebook-fil, kan du åbne den ved at højreklikke på filen og vælge at åbne den med VS Code, eller alternativt ved at navigere til “Files -> Open” i VS Code og vælge filen.
Du kan eksekvere/køre kodeceller ved at taste
Ctrl+Enter. Ønsker du at køre cellen og hoppe videre til næste celle (er der ikke en næste celle, så bliver en sådan lavet), så tastShift+Enter. Forlad redigerings-mode uden at køre cellen ved at tasteesc.Du kan gemme din Jupyter Notebook ved at taste
Ctrl+seller ved at navigere til File -> Save.Læs mere her: https://code.visualstudio.com/docs/datascience/jupyter-notebooks, og find ofte-benyttede tastaturgenveje her: https://bbyond.medium.com/vscode-jupyter-notebook-keyboard-shortcuts-31fab95fa301.