DTU Compute, Matematik 1,
Teknologi-holdet (online), 2024-2025


E24, Mat 1a
Tips til pensum og opgaverne på StoreDag, LilleDag, Temaøvelser og Hjemmeopgaver

Matematik 1a's hjemmeside: https://01001.compute.dtu.dk

Teknologi-holdets Team-site "Mat1a E24 Steen Toft Jørgensen"

YouTube-kanal fra tidligere Matematik 1 med fede demoer: https://www.youtube.com/user/DTUcourse01005/videos

Eksamen
d. 8/12-2024
Gode råd om eksamen: goderaad.pdf
Samlede noter (274 sider): noterE24.pdf
Find eksamenslokalet og tidspunkt på https://eksamensplan.dtu.dk/Course
Placeringen "127/119, Campus Lyngby" betyder bygning 127 lokale 119.
Søg bygning i Google Maps ("DTU bygning 127"): https://maps.app.goo.gl/meZnK1SM3CkmA4rj6
Søg bygning og lokale i MazeMap på "127/119" (VÆLG RIGTIGT, pas på ombytning!): https://use.mazemap.com/#v=1&campusid=89
Python/SymPy Praktisk anvendelse af Python/SymPy i VSCode til eksamen del 2, hvor programmet må anvendes.

Små fiduser: fiduser.pdf eller fiduser.ipynb
Komplekse tal: kompleks.pdf eller kompleks.ipynb
Polynomier: polynom.pdf eller polynom.ipynb
Funktioner og differentiation: funktion.pdf eller funktion.ipynb
Matrixregning: matrix.pdf eller matrix.ipynb
Matricer som vektorer: vektmatr.pdf eller vektmatr.ipynb
Ligningssystem: lignsyst.pdf eller lignsyst.ipynb
Differentialligninger: difflign.pdf eller difflign.ipynb
Uge 13 LD Opgavesæt:
Der regnes eksamensættet fra reeksamen i maj 2024: https://01001.compute.dtu.dk/Eksamensopgaver/eksamensopgaver.html
Steens løsninger på del 1 og del 2: eksmat1a.htm
Uge 13 SD Python/SymPy:
NB: "_" (1 underscore) er sidste svar, "__" (2 underscore) er 2. sidste svar, "___" (3 underscore) er 3. sidste svar! Ufatteligt effektivt!
"difflign.subs(y(t),udtryk)" indsætter et udtryk i stedet for y(t) i løsningen af en differentialligningen difflign. Smart når man skal indsætte et udtryk for at bestemme en partikulær løsning.
Også "expand( )" og "simplify( )" er effektive til reduktion.
Hjem4 Bemærk, at afleveringsfristen er LØRDAG d. 30/11-2024! Dog ændret et par dage før fristen til søndag d. 11/11-2024.

Opgave e1: Vær opmærksom på, at β-basens rækkefølge af matricer er vigtig. Det får betydning for placering af rækkerne i afbildningsmatricen.
Afbildningsmatricen βMβ er en 4x4 matrix, da V er et 4-dimensionelt vektorrum.
Det svære i opgave e1 er at tænke over, hvordan man skal gribe det an, når vektorerne faktisk er matricer.

Miscrosoft CoPilot anvendt til at løse opgave c) i Hjem4-sættet: hjem4-c.pdf
CoPilots metode umiddelbart minder MEGET om de fleste besvarelser, jeg har rettet!
Uge 12 LD Opgaver:
Opgave 2: Fra den fuldstændige komplekse løsning til den fuldstændige reelle læsning med Python/SymPy: reel-los.pdf eller reel-los.ipynb
Løses opgave 4 med Python/SymPy opdager man, at "udtryk.simplify( )" ikke kan reducere cos2(t)+sin2(t). Brug i stedet for trigsimp(udtryk) når der indgår trigonometri.

Om differentialligninger: om-diff.pdf
Uge 12 SD Links WikiPedia:
Ordinary differential equation: https://en.wikipedia.org/wiki/Ordinary_differential_equation
Summary of exact solutions: https://en.wikipedia.org/wiki/Ordinary_differential_equation#Summary_of_exact_solutions

Teori:
Sætning 12.1.1 kaldes normalt "panserformlen" på DTU. "P(t)" er stamfunktion til "a(t)" i formlen (står på siden før eller nede i selve beviset)!
Differentialligninger, som burde være kendt fra gymnasiet. Den sidste i skemaet er "panserformlen":
https://www.webmatematik.dk/lektioner/matematik-a/differentialligninger/losninger-til-differentialligninger
Vigtige begreber og sætninger i eNote 12 (lineære differentialligningssystemer): enote12.pdf
Python/SymPy:
En differentialligning kan løses i Python/SymPy med "dsolve(Eq(VS,HS),y(t),ics={y(x0):y0})", hvor begyndelsesbetingelsen (ics) lyder at y(x0)=y0.
VS og HS er venstre og højre side af differentialligningen (formuleret med y(t) som funktionen der løses for). Vigtigt at y(t) er defineret som "y=Function('y')".
Et differentialligningssystem med 2 ligninger kan løses i Python/SymPy med "dsolve((Eq1,Eq2),[y1(t),y2(t)],ics={y1(x0):y01,y2(x0):y02})",
hvor de 2 ligninger er af typen "Eq(VS,HS)". Igen skal y1(t) og y2(t) defineres som "y1=Function('y1')" og "y2=Function('y2')".
Sådan kan man fortsætte med flere dimensioner.
NB: Vigtigt at definere t som et reelt tal: "t=symbols('t',real=True)". Ellers kan reduktion være svært når der indgår komplekse tal og sin hhv. cos og ei·t hhv. e-i·t.
Løsning af differentialligninger (1. og 2. orden) og differentialligningssystem (1. orden), fuldstændig hhv. betinget løsning med Python/SymPy:
difflign.pdf eller difflign.ipynb
Opgave 3: bemærk at eet skal fortolkes som e^(e^t), da den anden mulighed (e^e)^t kan omskrives til e^(e*t) i følge potensregnereglerne!
Uge 11 LD Links WikiPedia:
Diagonalizable matrix: https://en.wikipedia.org/wiki/Diagonalizable_matrix
Matrix similarity: https://en.wikipedia.org/wiki/Matrix_similarity

Teori:
Vedr. diagonalisering: i noterne ønsker man at diagonalisere A til en diagonalmatrix Λ. Formlen lyder: Λ = V-1·A·V (eller Λ = Q-1·A·Q).
V (eller Q) er simpelthen basisskiftematricen, dvs. eIDv hvor "e" er standardbasis og "v" er den nye basis bestående af egenvektorer! V-1 er så vIDe eller eIDv-1.
A svarer så til afbildningsmatricen for afbildningen, hvor vektor x sendes over i A·x.
At to matricer A og B er similære betyder, at der findes en invertibel matrix V, så A = V-1·B·V.
Uge 11 SD Links WikiPedia:
Characteristic polynomial: https://en.wikipedia.org/wiki/Characteristic_polynomial
Eigenvalues and eigenvectors of matrices: https://en.wikipedia.org/wiki/Eigenvalues_and_eigenvectors#Eigenvalues_and_eigenvectors_of_matrices
Eigenvalues and eigenfunctions of differential operators:
https://en.wikipedia.org/wiki/Eigenvalues_and_eigenvectors#Eigenvalues_and_eigenfunctions_of_differential_operators
Change of basis: https://en.wikipedia.org/wiki/Change_of_basis

Teori:
Ifølge sætning 11.1.4 er det karakteristiske polynomium uafhængig af valg af basis.
Det karakteristiske polynomium for en 2 x 2 matrix A har formen: λ2 - tr(A)·λ + det(A), hvor "tr(A)" er sporet af A, dvs. summen af diagonalelementerne.
I en matrix med lutter reelle tal vil egenrummene være komplekst konjugerede, når egenværdierne er komplekst konjugerede. Det kan spare udregninger!
Bevis: (ved konjugering)     A=λ·v ⇔ A=λ·vA=λ·v ⇔ A=λ·v     (A=A, da alle tal i A er reelle)
Sætning 11.2.4 medfører, at hvis am(λ) = 1, så er også gm(λ) = 1. Så i forbindelse med diagonalisering af matrix skal man kun undersøge gm(λ) for egenværdier λ med am(λ) ≥ 2.

Python/SymPy:
Egenværdier for A beregnes som "A.eigenvals( )", egenvektorerne beregnes som "A.eigenvects( )" og sporet som "A.trace( )".

Opgaver:
Opgave 3: resultaterne kan beregnes i VS Code (Python/SymPy) således: uge11SD3.png
Uge 10 LD Opgaver:
Opgave 1a: Når du har testet "expand((2+I)**6)" som angivet i Hint, så kan matricen genereres med Python/SymPy-koden: uge10LD1.png
Uge 10 SD Links WikiPedia:
Linear map: https://en.wikipedia.org/wiki/Linear_map
Kernel, image and the rank–nullity theorem: https://en.wikipedia.org/wiki/Linear_map#Kernel,_image_and_the_rank%E2%80%93nullity_theorem
List of trigonometric identities (angle sum and difference identities): https://en.wikipedia.org/wiki/List_of_trigonometric_identities#Angle_sum_and_difference_identities
Hyperbolic functions (sinh, cosh): https://en.wikipedia.org/wiki/Hyperbolic_functions#Definitions
Derivatives (sinh, cosh): https://en.wikipedia.org/wiki/Hyperbolic_functions#Derivatives

Noter:
Afbildnings- og basisskifte matricer: afb-skift.pdf
Opgaver:
Opgave 4 og opgave 6 er supervigtige!
Opgave 4: sin(t) og cos(t) er ombyttet i opgave 4b hhv. opgave 4c. Vigtigt, når man skal bestemme afbildningsmatricen!
Opgave 4c: brug formlerne fra de 2 sidste WikiPedia link ovenfor:
ex = sinh(x) + cosh(x) og e-x = -sinh(x) + cosh(x) samt sinh(x) = ½·ex - ½·e-x og cosh(x) = ½·ex + ½·e-x
Opgave 6: rangen af matrix kan findes med ".rank()".
Baser i R2: (v1, v2) kaldes delta (δ), og standardbasis kaldes beta (β). Baser i R3: (w1, w2, w3) kaldes epsilon (ε), og standardbasis kaldes gamma (γ).
Hjem3 Opgave f): For at lykkes med beviset anbefales det at kalde "A" for "An", og dermed "det(An)" i formlen, som skal bevises.
Det er ikke obligatorisk at lave et induktionsbevis - det er kun et vink. Jeg har også løst den ved at opstille en rekursionsformel.

Hvis du skriver besvarelsen pænt op i Maple, så vær opmærksom på fejl i Maple 2024.1:
Vektorer og matricer ikke altid vises korrekt i PDF: fejlprik.pdf , og pile udelades i PDF: fejlpile.pdf
LØSNING: opdater til Maple 2024.2 (fra 29/10-2024): https://www.maplesoft.com/support/downloads/m2024_2update.aspx
Desværre introducerer Maple 2024.2 en ny fejl med visning af "antal sider" i PDF: fejlside.pdf
Uge 09 LD
(Tema 3)
Links WikiPedia:
Ohm's law: https://en.wikipedia.org/wiki/Ohm%27s_law
Kirchhoff's circuit laws: https://en.wikipedia.org/wiki/Kirchhoff%27s_circuit_laws

Navngivning og strømretninger på kuben: kube.png
Python/SymPy-tips: 3tips.pdf eller 3tips.ipynb
Uge 09 SD Links WikiPedia:
Vector space: https://en.wikipedia.org/wiki/Vector_space
Vektorrum:
Abstrakte vektorrum (geometriske, matricer, polynomier): vrum.pdf
Python beregning af matricer som vektorer: vektmatr.pdf eller vektmatr.ipynb
Opgave 1b): Overvej betydning af "reelt" hhv. "komplekst" vektorrum.
"Reelt" betyder, at konstanterne man ganger med i en linearkombination skal være reelle. Ved "komplest" må man gange med komplekse konstanter.
"Det reelle vektorrum C" har en basis bestående af 1 og i, og dim=2. "Det komplekse vektorrum C" har en basis bestående af 1, og dim=1.
Uge 08 LD Links WikiPedia:
Determinant: https://en.wikipedia.org/wiki/Determinant
Opgaver:
Opgave 1: Transponering af matrix A kan lettest ske med "A.T" (demoerne bruger "A.transpose()".
Opgave 2: Husk at matematik indekserer fra 1, Python fra 0!
A(2;1) angiver at man har fjernet række 2 og søjle 1 fra matricen A (Definition 8.1.1 i noterne). Beregnes i Python/SymPy som "A.minorMatrix(1,0)".
Uge 08 SD Links WikiPedia:
Matrix (mathematics): https://en.wikipedia.org/wiki/Matrix_(mathematics)
Python:
Praktisk initialisering i Jupyter NoteBook dokument til opgaveregning:

NB: "sympy" og "cmath" kan lave konflikt! "dtumathtools" anvendes ikke i Mat1a.
Opgaver:
Opgave 7: Identitetsmatricen af størrelse 3 x 3 opskrives som: "I3=eye(3)".
Den sammensatte matrix skrives som: "AI3=A.row_join(I3)" eller "AI3=Matrix.hstack(A,I3)".
Den inverse matrix så udtrækkes som: "InvA=AI3.rref(pivots=False)[0:3,3:6]".
Hjem2 Opgave a): Se tips for Uge04SD opgave 8a (metode let at huske), eller brug lemma 3.6.1 i eNoterne (færdig formel). Husk at bestemme den fuldstændige løsning!
Opgave f): Se tips for Uge06SD vedr. induktionsbevis.
Uge 07 LD Sætning 6.1.2:
Vigtig sætning, som siger at den fuldstændige løsning til det inhomogene system består af:
én partikulær løsning (hvis den findes!) + den fuldstændige løsning til det tilsvarende homogene system.
Uge 07 SD Links WikiPedia:
Matrix (mathematics): https://en.wikipedia.org/wiki/Matrix_(mathematics)
Row echelon form: https://en.wikipedia.org/wiki/Row_echelon_form
System of linear equations: https://en.wikipedia.org/wiki/System_of_linear_equations
Begreber:
Lineært ligningssystem, homogent, inhomogent, inkonsistent (= ingen løsning), entydig løsning (= netop én løsning), partikulær løsning, fuldstændig løsning,
koefficient matrix, totalmatrix, kvadratisk matrix, pivot element (= ledende 1-tal), rang, r × s matrix (r rækker, s søjler).
Vigtige begreber og sætninger i eNote 06 (lineære ligningssystemer): enote06.pdf
Fra reduceret trappeform til fuldstændig løsning af ligningssystem: traplign.pdf
Efterårsferie Ingen undervisning på DTU i kalenderuge 42.
Brug gerne efterårsferien til at repetere pensum og opgaver, da der kun er 1 dags 'læseferie' før eksamen!.
Nu er der gået 6 uger, og der er 7 uger tilbage i semesteret.

Uge 06 LD
(Tema 2)
Links WikiPedia:
Bisection method: https://en.wikipedia.org/wiki/Bisection_method
Newton's method: https://en.wikipedia.org/wiki/Newton%27s_method
NB: Bisektion metoden er sikker, hvis funktionen er kontinuert, og funktionsværdierne i de 2 punkter har forskellig fortegn.
Newton's metode er hurtig ved enkeltrod, men ikke sikker! Langsommere ved rod af højere multiplicitet: newton.pdf
Links Webmatematik:
Tangentligningen: https://www.webmatematik.dk/lektioner/matematik-b/differentialregning/tangentens-ligning
Uge 06 SD Links WikiPedia:
Mathematical induction: https://en.wikipedia.org/wiki/Mathematical_induction
Geometric series: https://en.wikipedia.org/wiki/Geometric_series
Numerical integration: https://en.wikipedia.org/wiki/Numerical_integration
Simpson's rule: https://en.wikipedia.org/wiki/Simpson%27s_rule
Teori:
Induktionsbevis: eNoten 05 mangler følgende udvidelser om induktionsbevis:
* startværdien behøver ikke være i n=1, kan også være i n=0 eller f.eks. n=2.
* der kan være flere startværdier, som man skal teste, f.eks. n=1 og n=2.
* induktionsantagelsen skal evt. gælde for tilfældet n=1 og n=2 eller for alle tilfælde ≤ n-1.
Eksempler på induktionsbeviser: indukt.pdf (af Mikael Hjermitslev Hoffmann, DTU)
Numerisk integation (venstresum, højresum, midtsum, trapezsum, Simpsonsum): summer.pdf
Opgaver:
Opgave 6d: brug r=½.
Opgave 9a: summen kaldes højresum for arealet.
Uge 05 LD Links WikiPedia:
Recursion: https://en.wikipedia.org/wiki/Recursion
Recursion (computer science): https://en.wikipedia.org/wiki/Recursion_(computer_science)
Hermite polynomials: https://en.wikipedia.org/wiki/Hermite_polynomials
Integration by parts: https://en.wikipedia.org/wiki/Integration_by_parts
Uge 05 SD Links WikiPedia:
Polynomial long division: https://en.wikipedia.org/wiki/Polynomial_long_division
YouTube link:
Long Division With Polynomials - The Easy Way!: https://www.youtube.com/watch?v=_FSXJmESFmQ
Værktøj:
Polynomial Long Division Calculator (step by step): https://www.emathhelp.net/en/calculators/algebra-1/polynomial-long-division-calculator/
Uge 04 LD (Tema1) Dokumentation af "cmath"-pakken til Python: https://docs.python.org/3/library/cmath.html
Illustration af del IV opgave 5: tema1del4opg5.ggb
Uge 04 SD Links WikiPedia:
Komplekse tal: https://en.wikipedia.org/wiki/Complex_number
Lemma 3.6.1:
Mangler den fuldstændige løsning til ez = w, som er z = ln(|w|)+i·(Arg(w)+2·π·p), hvor Arg(w) er hovedargumentet for w og p∈Z.
Opgaver:
Opgave 1d: ethvert polynomium af formen A·(z-z1)·(z-z4)·(z-B) er en løsning. Bruger man svaret fra 1b, så ved man at z3+8 er en løsning.
Opgave 6b: brug lemma 4.3.3.
Opgave 8a: man kan med fordel omskrive ez = ex· ei·y , hvor det komplekse tal z = x + i·y (x og y er reelle tal). Se metoden: zligxiy.pdf
Overvej hvordan løsningerne er placeret i den komplekse plan.
Bemærk at ligninger indenfor de komplekse tal kan have mange løsninger, og at man skal være meget omhyggelig ved løsning af ligningen.
Opgave 8b: start med at anvende nulreglen for et produkt.
Uge 03 LD Links WikiPedia:
Enhedscirklen med kendte værdier: https://en.wikipedia.org/wiki/File:Unit_circle_angles_color.svg
Tabel med trigonometriske eksakte værdier: https://en.wikipedia.org/wiki/Trigonometric_functions#Simple_algebraic_values
Links Webmatematik:
Differentiation af sammensat funktion: https://www.webmatematik.dk/lektioner/matematik-b/differentialregning/differentiation-af-sammensat-funktion
Produktreglen for differentiation: https://www.webmatematik.dk/lektioner/matematik-b/differentialregning/regneregler-for-differentialkvotienter
Opgaver:
Opgave 3a: Følg metoden i eksempel 3.5.1 i eNote 03.
Opgave 5c: Vigtig tænke-opgave!
Uge 03 SD Links WikiPedia:
Komplekse tal: https://en.wikipedia.org/wiki/Complex_number
Links Webmatematik:
Kvadratsætningerne: https://www.webmatematik.dk/lektioner/matematik-c/tal-og-regnearter/kvadratsaetningerne
Kvadratkomplettering: https://www.webmatematik.dk/lektioner/matematik-b/andengradspolynomium-og-ligning/kvadratkomplettering
Opgaver:
Opgave 1: bemærk at den imaginære enhed i matematik hedder "i". Programmeringssprog kalder den ofte for "I" eller måske "j" eller "J". NB: "I" ligner ofte "1"!
Opgave 2a: tegn i hånden, eller brug GeoGebra (hvor man forneden blot kan indtaste "-2+3·i" og så få punktet placeret.
Opgave 4b: i GeoGebra kan man plotte det konjugerede punkt til z1 med kommandoen "conjugate(z_1)". Bemærk at z1 skrives "z_1".
Interaktiv løsning i GeoGebra af opgave 4b: Uge03SDopg4b.ggb
Opgave 9b: teoretisk opgave!. Man kan se på de 2 muligheder for i. Da i ≠ 0 gælder enten 0 < i eller i < 0 (⇔ 0 < -I).
Brug så punkt 4 i opgave 9 på i < 0 og i < 0 (og bagefter på 0 < -i og 0 < -i). Opnå i begge tilfælde modstriden: 0<-1!
Uge 02 LD Software (gratis):
Hent GeoGebra (suverænt til geometri, grafer mm.): https://www.geogebra.org/download?lang=da
Links WikiPedia:
Function composition: https://en.wikipedia.org/wiki/Function_(mathematics)#Function_composition
Injective, surjective and bijective functions: https://en.wikipedia.org/wiki/Function_(mathematics)#Injective,_surjective_and_bijective_functions
Derivatives of inverse trigonometric functions: https://en.wikipedia.org/wiki/Inverse_trigonometric_functions#Derivatives_of_inverse_trigonometric_functions
Invers funktion:
Inverse function rule: https://en.wikipedia.org/wiki/Inverse_function_rule
Differentiation af omvendte funktioner: https://www.youtube.com/watch?v=geELass6TuI
Eksempel på differentiation af invers funktion: invers.pdf
Opgaver:
Opgave 2a: svaret er forkert! Det interessante for om f o g eksisterer er, om g's værdimængde er indeholdt i f 's definitionsmængde.
Tilsvarende vil g o f eksistere, hvis f 's værdimængde er indeholdt i g's definitionsmængde.
Opgave 4a og 4b: lave graf i GeoGebra med "a" som skyder.
Opgave 5a: tegn grafer i GeoGebra.
Uge 02 SD Links WikiPedia:
Venn diagram: https://en.wikipedia.org/wiki/Venn_diagram
Kendte punkter på enhedscirklen: https://en.wikipedia.org/wiki/File:Unit_circle_angles_color.svg
Trigonometriske funktioner (f.eks. sin): https://en.wikipedia.org/wiki/Trigonometric_functions
Inverse trigonometriske funktioner (f.eks. arcsin): https://en.wikipedia.org/wiki/Inverse_trigonometric_functions
Hyperbolske funktioner (f.eks. sinh): https://en.wikipedia.org/wiki/Hyperbolic_functions
Graf over hyperbolske funktioner (f.eks. sinh): https://en.wikipedia.org/wiki/Hyperbolic_functions#/media/File%3ASinh_cosh_tanh.svg
Inverse hyperbolske funktioner (f.eks. arsinh): https://en.wikipedia.org/wiki/Hyperbolic_functions#Inverse_functions_as_logarithms
Formler:
* gradtal / 180 = radiantal / π
* injektivitet og surjektivitet for en funktion f: A → B afhænger af 3 oplysninger: forskriften for f, mængden A, mængden B.
* For en funktion f: A → B kaldes A for definitionsmængden, B for dispositionsmængden og f(A) for værdimængden eller "image".
* Dm(f -1) = Vm(f) og Vm(f -1) = Dm(f).
* "arc" betyder buestykke i f.eks. arcsin og "ar" betyder areal i f.eks. arsinh.
* Vm(arcsin) = [-π/2;π/2] , Vm(arccos) = [0:π] og Vm(arctan) = ]-π/2;π/2[.
Uge 01 LD Opgaver:
Opgave 6d: Vis med sandhedstavler, at implikationen p ⇒ q er ækvivalent med not(p) or q.
Så er biimplikationen p ⇔ q dvs. (p ⇒ q and q ⇒ p) ækvivalent med (not(p) or q) and (not(q) or p).
Brug dette udtryk i Python med p hhv. q som True hhv. False. Se Python i VS code: uge01SDopg6.png
Uge 01 SD Links WikiPedia:
Sandhedstavler: https://en.wikipedia.org/wiki/Truth_table
Logiske gates: https://en.wikipedia.org/wiki/Logic_gate
Værktøj:
Truth Table Generator (step by step): https://trutabgen.com/ (NB: findes også som app til Android og iPhone)
AI-software Microsoft Copilot: https://copilot.microsoft.com/ (login med din DTU-konto)
Det er reelt set ChatGPT 4, hvor indtastningerne ikke sendes ud på nettet (data beskyttet, se markering øverst til højre).
Microsoft Copilot Designer: https://copilot.microsoft.com/images/create (login med din DTU-konto)
Kan generere billeder med ønsket indhold!
Gymnasiepensum Matematik: https://www.webmatematik.dk
Interaktiv lærebog Lineær Algebra: https://textbooks.math.gatech.edu/ila/
Markdown
SymPy
VS Code
Google Docs understøtter nu Markdown:
https://workspaceupdates.googleblog.com/2024/07/import-and-export-markdown-in-google-docs.html
Markdown Guide: https://dl.icdst.org/pdfs/files3/c79990b0b853932d36ddc117ce2503e3.pdf
SymPy dokumentation: https://docs.sympy.org/latest/reference/index.html
VS Code shortcuts: https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf