DTU Compute, Matematik 1,
KunstigIntelligens-holdet (AI), 2025-2026


F26, Mat 1b
Tips til pensum og opgaverne på StoreDag

Matematik 1b's hjemmeside: https://01002.compute.dtu.dk

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

Lærebogen opdelt i de 7 kapitler + symboler + ordbog: eNoterF26.zip (download de 4 MB og udpak filerne)

Uge 09 SD+LD
(vektorfelter)
Links WikiPedia:
Line integral: https://en.wikipedia.org/wiki/Line_integral
Vector field: https://en.wikipedia.org/wiki/Vector_field
Conservative vector field: https://en.wikipedia.org/wiki/Conservative_vector_field

Trappeformlen i R3:


Opgaver:
Opgave 2a: Jacobianten kan beregnes i Python/SymPy med Jacobiant=r(u).diff(u).norm().simplify()
Opgave 3b: længderne af kurverne er 9.95, 9.80 og 9.17.
Opgave 4b: det tangentielle kurveintegral er -14/15.
Opgave 5b: det tangentielle kurveintegral er 1/35.
Opgave 9c: om "atan2(y,x)" (SymPy documentation):
https://docs.sympy.org/latest/modules/functions/elementary.html#sympy.functions.elementary.trigonometric.atan2
Opgave 10a: om "Piecewise" (SymPy documentation):
https://docs.sympy.org/latest/modules/functions/elementary.html#sympy.functions.elementary.piecewise.Piecewise
For at reducere Jacobianten J kan man anvende trigsimp(J)
Opgave 10b: længden l0 er ∞.
Opgave 13b: når værdien af c1 og c2 er beregnet med "solve" til "{c1:-1/2,c2:-1/2}" indsættes disse smart i r med "r.subs(_)", idet _ er sidste svar!
Uge 08 SD
(integration
i flere variable)
Links Wikipedia:
List of trigonometric identities (double angle): https://en.wikipedia.org/wiki/List_of_trigonometric_identities#Double-angle_formulae

Matematik:
Theorem 6.4.1, Theorem 6.6.2 og Example 6.7.1 er essentielle ved parametrisering (variabelskift).
Variabelskift (parametrisering) ændrer integranden med den numeriske værdi af determinanten af Jacobi-matricen som faktor (kaldet jacobianten).
Ved variabelskift skal parameterområderne være intervaller med konstanter, f.eks. [2;10]. Ikke nødvendigt med [0;1] - det er terapeutisk!
I det tidligere matematik 1 blev der anvendt meget krudt på parametriseringer. Se filer fra tidligere pensum: ../../20222023/f-system.htm#parameter

Opgaver:
Opgave 4: Vigtig opgave at træne.
Opgave 4a: Området plottet U08SDopg4a.png
Opgave 4c: Jacobi-matricen beregnes som J=r.jacobian([u,v]), derefter beregnes jacobianten som Jr=abs(det(J))
Opgave 5: Vigtig opgave at træne (se området plottet: U08SDopg5a.png)
Integration Integration har nogle egenskaber, som kan overraske:

  • Om numerisk integration: https://www.zweigmedia2.com/RealWorld/integral/numint.html

  • En Riemann-integrabel funktion, som ikke har en stamfunktion: riemann.pdf
  • En funktion, hvor ombytning af grænserne i dobbeltintegralet giver forskelligt resultat: dobb-int.pdf NB: Hvis f er kontinuert, så kan rækkefølgen ombyttes!
  • Integrand og integrale - uendelig?: uendelig.pdf
  • Uge 07 SD
    (integration)
    Links WikiPedia:
    Lists of integrals (9 undersider): https://en.wikipedia.org/wiki/Lists_of_integrals#Lists_of_integrals
    Numerical integration: https://en.wikipedia.org/wiki/Numerical_integration
    Simpson's rule: https://en.wikipedia.org/wiki/Simpson%27s_rule

    SymPy/SciPy/spb:
    Om "quad" i SciPy: https://docs.scipy.org/doc/scipy/reference/generated/scipy.integrate.quad.html#scipy.integrate.quad
    Om "plot_implicit" i SymPy: https://docs.sympy.org/latest/modules/plotting.html#sympy.plotting.plot_implicit.plot_implicit
    Om "Piecewise" funktionen i SymPy: https://docs.sympy.org/latest/modules/functions/elementary.html#...
    Om "plot_piecewise" i spb: https://sympy-plot-backends.readthedocs.io/en/latest/modules/plot_functions/...
    NB: spb betyder "sympy plotting backends".

    Opgaver:
    Opgave 2c: Funktionen f kan defineres med: def f(x):   return Piecewise((1,(0<=x) & (X<=1)),(0,True))
        og grafen kan tegnes med:   from spb import *;       plot_piecewise(f(x),xlim=(-5,5))
    Opgave 3: Plotning af området U kan laves med:
        plot_implicit(((x**2+y**2>1) & (x**2+y**2<=2**2)),(x,-3,3),(y,-3,3), SHOW=False, ADAPTIVE=True, ASPECT=(1,1))
        "aspect(1,1)" gør at cirklerne er normalt runde og ikke ovale.
    Opgave 4c: Forkert udtryk n/C. Det skal være C/n (så afvigelsen falder, når antal inddelinger vokser).

    Numerisk integration (venstre-, højre-, midt-, trapez- og Simpson-sum): summer.pdf
    Numerisk integration (venstresum, højresum, midtsum, trapezsum, Simpsonsum): num-int.pdf eller num-int.ipynb
    Ekstremum
    (lokalt og globalt)
    Funktioner med 2 eller flere variable har meget overraskende egenskaber, hvor ens intuition ikke giver det rigtige svar:

  • Sætninger om lokalt ekstremum (stationært punkt og Hessematrix): lokalt.pdf
  • Sætninger om globalt ekstremum (stationært punkt og semidefinit Hessematrix): globalt.pdf
  • En funktion, som har egentligt lokalt minimum på enhver ret linje gennem origo, men som ikke har lokal minimum i origo:
         minimum.pdf
  • Funktion med 2 lokale maksimumpunkter og ikke andre stationære punkter: 2max.pdf
  • Funktion med ét lokalt maksimumpunkt, som ikke er globalt maksimumpunkt, og funktionen har ikke andre stationære punkter:
         1lok0max.pdf
  • Uge 06 SD
    (ekstremum)
    (optimering)
    Links WikiPedia:
    Rectified_linear_unit (ReLU): https://en.wikipedia.org/wiki/Rectified_linear_unit
    Maximum and minimum: https://en.wikipedia.org/wiki/Maximum_and_minimum
    Mathematical optimization: https://en.wikipedia.org/wiki/Mathematical_optimization
    Saddle point: https://en.wikipedia.org/wiki/Saddle_point
    Second partial derivative test: https://en.wikipedia.org/wiki/Second_partial_derivative_test
    Definite matrix: https://en.wikipedia.org/wiki/Definite_matrix
    Quadric#Euclidean_space: https://en.wikipedia.org/wiki/Quadric#Euclidean_space

    Opgaver:
    Opgave 1: Bemærk at (ReLU(x))2 ≠ ReLU(x2) idet ReLU(x2) = max(0,x2) = x2, mens (ReLU(x))2 = 0 hvis x<0 OG X2 hvis x ≥ 0.
    Den afledede funktion er: ((ReLU(x))2) ' = 2·ReLU(x).
    Opagve 3d: I svaret er +3 glemt i Φ(x1,x2). Ellers er det svært at forstå, at den globale minimumsværdi er 3.
    Opgave 6: Det kan det være svært at reducere koordinatudtrykket for de stationære punkter. Brug både ".trigsimp( )" og ".simplify( )".
    Tegn en graf for at se antallet af stationære løsninger, og sørg for at løsningerne ligger indenfor intervallet [0;2·π] !
    Opgave 7d: Inspiration til beviset: https://math.stackexchange.com/questions/222894/how-to-take-the-gradient-of-the-quadratic-form
    Taylor udvikling
    (mere mellem
    himmel og jord)
  • En IKKE-analytisk funktion: analyt.pdf
  • Interaktiv demo i GeoGebra af Taylor-polynomiet, som funktion af graden for sin(x): taylor-s.ggb
  • Interaktiv demo i GeoGebra af Taylor-polynomiet, som funktion af graden for 1/(1+x2): taylor-k.ggb
  • En funktion med endelig konvergensradius for Taylor-polynomiet: taylor-k.pdf
  • Kinetisk energi (klassisk og relativistisk): ekin.pdf
  • Anvendelse af Taylor-polynomiet i tilnærmet løsning af differentialigning: approx.pdf
  • Uge 05 SD
    (Taylor)
    Links WikiPedia:
    Tangent: https://en.wikipedia.org/wiki/Tangent
    Taylor series: https://en.wikipedia.org/wiki/Taylor_series

    Python i opgaverne:
    ".removeO( )" anvendes på "series" til at fjerne store-O-leddet i Taylor polynomiet. NB: "O" er et stort bogstav o, ikke tallet 0!

    Taylor polynomiet: taylor.pdf eller taylor.ipynb
    Uge 04 SD
    (spektralsætning)
    (diagonalisering)
    Links WikiPedia:
    Symmetric matrix: https://en.wikipedia.org/wiki/Symmetric_matrix
    Normal matrix: https://en.wikipedia.org/wiki/Normal_matrix
    Hermitian matrix: https://en.wikipedia.org/wiki/Hermitian_matrix
    Orthonormal basis: https://en.wikipedia.org/wiki/Orthonormal_basis
    Diagonalizable matrix: https://en.wikipedia.org/wiki/Diagonalizable_matrix
    Orthogonal matrix: https://en.wikipedia.org/wiki/Orthogonal_matrix
    Unitary matrix: https://en.wikipedia.org/wiki/Unitary_matrix
    Spectral theorem: https://en.wikipedia.org/wiki/Spectral_theorem
    Definite matrix: https://en.wikipedia.org/wiki/Definite_matrix
    Kvadratkomplettering: https://da.wikipedia.org/wiki/Kvadratkomplettering
    Ellipse: https://en.wikipedia.org/wiki/Ellipse
    Hyperbola: https://en.wikipedia.org/wiki/Hyperbola
    Parabola: https://en.wikipedia.org/wiki/Parabola
    Cauchy–Schwarz inequality: https://en.wikipedia.org/wiki/Cauchy%E2%80%93Schwarz_inequality

    Opgaver:
    Opgave 6: brug resultatet fra opgave 4, da der er samme matrix A! Ombyt de 2 søjler i Q som svarer til samme egenværdi, og opnå at det(Q)=1.
    Opgave 6 løst smart: kvadrat.pdf eller kvadrat.ipynb
    Opgave 7: Opgaven er bevis for " Gradient ascent method"dvs. Example 3.4.2 i lærebogen, og "Cauchy/Swartz' inequality" er Theorem 2.1.4.

    Spektralsætningerne: spektral.pdf
    Omskrivning af kvadratisk form: kvadrat.pdf
    Uge 03 SD
    (indre produkt)
    (Gram-Schmidt)
    Python i opgaverne:
    ".adjoint()" kan udføres kort som ".H", og ".transpose()" kan udføres kort som ".T"

    Oversigt over matrix-typer: matricer.pdf
    Links WikiPedia:
    Inner product space: https://en.wikipedia.org/wiki/Inner_product_space
    Frobenius inner product: https://en.wikipedia.org/wiki/Frobenius_inner_product
    Vector projection: https://en.wikipedia.org/wiki/Vector_projection
    Projection (linear algebra): https://en.wikipedia.org/wiki/Projection_(linear_algebra)
    Orthonormal basis: https://en.wikipedia.org/wiki/Orthonormal_basis
    Gram–Schmidt process: https://en.wikipedia.org/wiki/Gram%E2%80%93Schmidt_process
    Gaussian elimination: https://en.wikipedia.org/wiki/Gaussian_elimination
    Legendre polynomials: https://en.wikipedia.org/wiki/Legendre_polynomials

    Projektionsmatrix P:
    Projiceres x på en enhedsvektor u, så beregnes projektionsmatricen P som P = u·u* = u· u T. Projektion af x på u beregnes så som P·x.
    Hvis u har n koordinater, så er u en n x 1 matrix, og u T en 1 x n matrix. Dvs. P bliver en n x n matrix, som er Hermitisk.
    u* = u T beregnes i Python/SymPy som u.adjoint( ) eller conjugate(u.T) eller lettere u.H, og P beregnes som u*u.adjoint( ) eller u*u.H.

    Python i opgaverne:
    Med alm. vektorer gælder at v.norm( ) giver længden af vektoren, og v.normalized( ) giver en enhedsvektor i samme retning.

    Jeg bruger denne simple udgave af "inner": def inner(x1: Matrix,x2: Matrix): return x1.dot(x2.conjugate( )).
    I så fald anvend altid "inner(x,y)", aldrig "x.inner(y)"! Ønskes det sidste, så brug "inner" fra uge3-demoen.

    Opgaver:
    Opgave 4: indfør en procedure "proj" for projektion af x på y: def proj(x:Matrix,y:Matrix): return inner(x,y)/inner(y,y)*y
    Opgave 7 b: indfør smart disse 2 procedurer: def innerL2(f1,f2): return integrate(f1*f2,(x,-1,1)) og def normL2(f): return sqrt(innerL2(f,f))
    Så er Gram-Schmidt algoritmen lettere at få skrevet ned.

    Indre produkt og norm: inner.pdf eller inner.ipynb
    Uge 02 SD
    (Funktioner II)
    Note:
    Gradient, Jacobi-matrix, Hesse-matrix, kæderegel (kapitel 03): diff01.pdf (3 sider)
    Links WikiPedia:
    Chain rule: https://en.wikipedia.org/wiki/Chain_rule
    Gradient: https://en.wikipedia.org/wiki/Gradient
    Jacobian matrix and determinant: https://en.wikipedia.org/wiki/Jacobian_matrix_and_determinant
    Hessian matrix: https://en.wikipedia.org/wiki/Hessian_matrix

    Python med "dtumathtools" og "sympy"-pakkerne:
    Lad f: Rn → R være en skalar funktion. F.eks. med n=3 givet ved udtrykket f=x1*x2+x3.
    dtutools.gradient(f) giver gradienten af f, som er en n x 1 matrix (egentlig en vektor).
    dtutools.gradient(f).T giver Jacobi matricen af f, som er en 1 x n matrix. Alternativ: Matrix([f]).jacobian([x1,x2,x3])
    dtutools.hessian(f) giver Hesse matricen af f, som er en n x n matrix.

    Lad f: Rn → Rm være en vektor funktion. F.eks. med n=4 og m=3 givet ved udtrykket f=Matrix([x1*x2+x3,x2-x3,x4]).
    f.jacobian([x1,x2,x3,x4]) giver Jacobi matricen af f, som er en m x n matrix.

    Gradient, Jacobimatrix og Hessematrix: gradhess.pdf eller gradhess.ipynb
    Opgaver:
    Opgave 1c: v.normalized() laver v om til en enhedsvektor i samme retning.
    Opgave 2f: NB: fejl i definitionen af W1 og W2!
    Opgave 8 c: JacobiG er 1 x 2, og JacobiF er 2 x 3. Derfor bliver JacobiGoF 1 x 3.
    Uge 01 SD
    (Funktioner I)
    Note:
    Filer relateret til neutralt netwærk (kapitel 01): funkt01.pdf (2 sider)
    Opgaver:
    Opgave 2: ReLU(x) ["rectified linear unit"] er omtalt i eNoterne eksample 1.3.2. Funktionen ReLU(x)=max(x,0).
    Opgave 7b: Læs om "where" i numpy: https://numpy.org/doc/stable/reference/generated/numpy.where.html#numpy.where
    Opgave 7d: En vektorfunktion er kontinuert, hvis alle dens koordinatfunktioner er kontinuerte.
    Derfor er en vektorfunktion diskontonuert, hvis mindst en af dens koordinatfunktionerne er diskontinuert.
    Opgave 9d: Der findes en indbygget funktion i SymPy kaldet "nextprime" (prøv den bagefter):
    https://docs.sympy.org/latest/modules/ntheory.html#sympy.ntheory.generate.nextprime
    Funktions
    begreber
    Givet en funktion f: A → B.
    · domain = A
    · definitionsmængden er den del af A, hvor f er defineret = Dm(f) = dom(f)
    · dispositionsmængden = co-domain = B
    · billedmængden = værdimængden = den del af B, som rammes ved afbildningen = image = range = Vm(f) = im(f)
    Ny arbejdsform · Forberedelse: læs noter, løs småopgaver, kør demo
    · Opgaveregning (øvelser)
    · Efterbehandling (afrunding)
    AI-software DTU Microsoft Copilot: https://copilot.microsoft.com/ (login nederst til venstre med din DTU-konto)
    Markdown
    SymPy
    VS Code
    Jupiter Notebook
    matplotlib
    LaTex
    Brug denne initialisering i starten af hver Python-fil i VSCode Jupyter Notebook (.ipynb), når du regner opgaver:

    Udvidet initialisering med diverse normer: normer.png

    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
    Numpy dokumentation: https://numpy.org/doc/stable/reference/index.html
    VS Code shortcuts: https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf
    Jupyter Notebooks in VS Code: https://code.visualstudio.com/docs/datascience/jupyter-notebooks
    Ved problemer kontakt Python Supporten: https://pythonsupport.dtu.dk/.

    Plot-guide til SymPy: https://docs.sympy.org/latest/modules/plotting.html#
    Eller brug matplotlib: https://matplotlib.org/, som er veldokumenteret.

    Oversigt over LaTeX-symboler til matematik: https://oeis.org/wiki/List_of_LaTeX_mathematical_symbols
    LaTeX-symboler vedr. græske bogstaver og matematik: https://www.overleaf.com/learn/latex/List_of_Greek_letters_and_math_symbols
    LaTeX Cheat Sheet: https://gitlab.gbar.dtu.dk/latex/latex-website-resources/raw/master/guides/latex_cheatsheet.pdf
    Gymnasiepensum Matematik: https://www.webmatematik.dk