{ "cells": [ { "cell_type": "markdown", "id": "90e2647c", "metadata": {}, "source": [ "# Uge 4: Øvelser" ] }, { "cell_type": "code", "execution_count": null, "id": "51682d32", "metadata": { "tags": [ "remove-cell" ] }, "outputs": [], "source": [ "from sympy import*\n", "from dtumathtools import*\n", "init_printing()" ] }, { "cell_type": "markdown", "id": "0c7e4efa", "metadata": {}, "source": [ "## Opgaver -- Store Dag" ] }, { "cell_type": "markdown", "id": "5d7fffae", "metadata": {}, "source": [ "### 1: Typer af matricer\n", "\n", "Betragt matricerne:\n", "\n", "\\begin{equation*}\n", " A=\\begin{bmatrix} 1 & 0 & 0 \\\\ 0 & 2 & 0 \\\\ 0 & 0 & 3 \\end{bmatrix}, \\quad\n", " B=\\begin{bmatrix} 1 & 2 & 3 \\\\ 3 & 1 & 2 \\\\ 2 & 3 & 1 \\end{bmatrix}, \\quad\n", " C=\\begin{bmatrix} 1 & 2+i & 3i \\\\ 2-i & 1 & 2 \\\\ -3i & 2 & 1 \\end{bmatrix}, \\quad\n", " D=\\begin{bmatrix} i & 2 & 3 \\\\ 2 & i & 2 \\\\ 3 & 2 & i \\end{bmatrix}\n", "\\end{equation*}\n", "\n", "Afgør for *hver* matrix om den er symmetrisk, hermitisk, og/eller normal. Du må gerne bruge SymPy til at afgøre om matricerne er normale. For nemheds skyld er matricerne skrevet ind her:" ] }, { "cell_type": "code", "execution_count": null, "id": "baa80e82", "metadata": { "tags": [ "remove-output" ] }, "outputs": [], "source": [ "A = Matrix.diag(1, 2, 3)\n", "B = Matrix([[1, 2, 3], [3, 1, 2], [2, 3, 1]])\n", "C = Matrix([[1, 2 + I, 3*I], [2 - I, 1, 2], [-3*I, 2, 1]]) \n", "D = Matrix([[I, 2, 3], [2, I, 2], [3, 2, I]])" ] }, { "cell_type": "markdown", "id": "de8bd489", "metadata": {}, "source": [ "### 2: Hermitisk 2-gange-2 matrix. Håndregning" ] }, { "cell_type": "markdown", "id": "c4b83a11", "metadata": {}, "source": [ "Vi betragter den hermitiske matrix $A$ givet ved: \n", "\n", "\\begin{equation*}\n", " A=\\begin{bmatrix} 0 & i \\\\ -i & 0 \\end{bmatrix}\n", "\\end{equation*}\n", "\n", "Denne opgave går ud på at udregne en **spektral dekomposition** af $A$, som vi ved fra Spectral Theorem (the complex case) eksisterer. Vi finder denne dekomposition af $A$ i tre skridt:" ] }, { "cell_type": "markdown", "id": "e2ece414", "metadata": {}, "source": [ "#### Spørgsmål a" ] }, { "cell_type": "markdown", "id": "448daeb7", "metadata": {}, "source": [ "Find alle egenværdier og tilhørende egenvektorer af $A$. Kontroller svaret med SymPy `A.eigenvects()`." ] }, { "cell_type": "markdown", "id": "b816f4fb", "metadata": {}, "source": [ "#### Spørgsmål b" ] }, { "cell_type": "markdown", "id": "566045ff", "metadata": {}, "source": [ "Bestem en ortonormal basis bestående af egenvektorer af $A$." ] }, { "cell_type": "markdown", "id": "b055039f", "metadata": {}, "source": [ "#### Spørgsmål c" ] }, { "cell_type": "markdown", "id": "ffd5c654", "metadata": {}, "source": [ "Dette resultat gælder for generelle $n \\times n$ matricer. Vis at $A = U \\Lambda U^*$ hvis og kun hvis $\\Lambda = U^* A U$, når $U$ er unitær." ] }, { "cell_type": "markdown", "id": "1e7cdbae", "metadata": {}, "source": [ "#### Spørgsmål d" ] }, { "cell_type": "markdown", "id": "1f79ddf9", "metadata": {}, "source": [ "Opskriv en unitær matrix $U$ og en diagonalmatrix $\\Lambda$ så $A = U \\Lambda U^*$. Denne formel kaldes en spektral dekomposition af $A$. Tjek dit resultat med SymPy-kommandoen:" ] }, { "cell_type": "code", "execution_count": null, "id": "5830a329", "metadata": { "tags": [ "remove-output" ] }, "outputs": [], "source": [ "A = Matrix([[0, I], [-I, 0]])\n", "A.diagonalize(normalize = True)" ] }, { "cell_type": "markdown", "id": "dd694498", "metadata": {}, "source": [ "### 3: Ortogonalitet af egenvektorer for symmetriske matricer\n", "\n", "Lad $C$ være en $2\\times 2$ reel, symmetrisk matrix med to forskellige egenværdier. Vis, at egenvektorer $\\pmb{v}_1$ og $\\pmb{v}_2$ tilhørende de to forskellige egenværdier er ortogonale, dvs. at\n", "\\begin{equation*}\n", "\\langle \\pmb{v}_1, \\pmb{v}_2 \\rangle = 0.\n", "\\end{equation*}" ] }, { "cell_type": "markdown", "id": "80a1fe3b", "metadata": {}, "source": [ "### 4: Symmetrisk 3-gange-3 matrix." ] }, { "cell_type": "markdown", "id": "162a9384", "metadata": {}, "source": [ "Givet den *reelle og symmetriske* matrix\n", "\n", "\\begin{equation*}\n", " A=\\begin{bmatrix} -2 & 1 & 1 \\\\ 1 & -2 & -1 \\\\ 1 & -1 & -2 \\end{bmatrix}.\n", "\\end{equation*}\n", "\n", "Find en **spektral dekomposition** af $A = Q \\Lambda Q^T$. Du skal altså angive \n", "en *reel ortogonal* matrix $Q$ og en *diagonalmatrix* $\\Lambda$ så \n", "\n", "\\begin{equation*}\n", " A = Q \\Lambda Q^T\n", "\\end{equation*} \n", "\n", "eller, ækvivalent, \n", "\n", "\\begin{equation*}\n", " Q^T \\, A\\, Q=\\Lambda\n", "\\end{equation*} \n", "\n", "gælder. Som i opgaven før ved vi at den findes fra Spectral Theorem (the real case)." ] }, { "cell_type": "markdown", "id": "14ffd369", "metadata": {}, "source": [ "### 5: Spektral dekomposition med SymPy" ] }, { "cell_type": "markdown", "id": "1dafe49f", "metadata": {}, "source": [ "Vi betragter følgende matricer givet i SymPy:" ] }, { "cell_type": "code", "execution_count": null, "id": "2a0dce0e", "metadata": {}, "outputs": [], "source": [ "A = Matrix([[1, -1, 0, 0], [0, 1, -1, 0], [0, 0, 1, -1], [-1, 0, 0, 1]])\n", "B = Matrix([[1, 2, 3, 4], [4, 1, 2, 3], [3, 4, 1, 2], [2, 3, 4, 1]])\n", "A, B" ] }, { "cell_type": "markdown", "id": "e7331a75", "metadata": {}, "source": [ "Det oplyses at begge matricer er reelle, *normale* matricer. Dette kan tjekkes ved:" ] }, { "cell_type": "code", "execution_count": null, "id": "84401cd2", "metadata": {}, "outputs": [], "source": [ "A.conjugate() == A, B.conjugate() == B, A*A.T == A.T*A, B*B.T == B.T*B" ] }, { "cell_type": "markdown", "id": "d5f38ce2", "metadata": {}, "source": [ "Det oplyses endvidere at egenværdierne er hhv:" ] }, { "cell_type": "code", "execution_count": null, "id": "7d249961", "metadata": {}, "outputs": [], "source": [ "A.eigenvals(multiple=True), B.eigenvals(multiple=True)" ] }, { "cell_type": "markdown", "id": "822d1cf4", "metadata": {}, "source": [ "#### Spørgsmål a" ] }, { "cell_type": "markdown", "id": "dfb614cb", "metadata": {}, "source": [ "Vil nedenstående SymPy-kommandoer give os matricerne der indgår i de spektrale dekompositioner af $A$ og $B$? Kaldet `A.diagonalize(normalize = True)` returnerer $(V,\\Lambda)$ hvor $A = V \\Lambda V^{-1}$ med *normaliserede* egenvektorer i $V$ og egenværdierne for $A$ i diagonalmatricen $\\Lambda$ (jf egenværdiproblemet fra Matematik 1a)." ] }, { "cell_type": "code", "execution_count": null, "id": "30f19c21", "metadata": { "tags": [ "remove-output" ] }, "outputs": [], "source": [ "A.diagonalize(normalize = True), B.diagonalize(normalize = True)" ] }, { "cell_type": "markdown", "id": "7207213b", "metadata": {}, "source": [ "#### Spørgsmål b" ] }, { "cell_type": "markdown", "id": "1efdeeab", "metadata": {}, "source": [ "Findes der en unitær matrix der diagonaliserer *både* $A$ *og* $B$? Altså, findes der **en** unitær matrix så $A = U \\Lambda_1 U^*$ og $B = U \\Lambda_2 U^*$, hvor \n", "$\\Lambda_1$ er en diagonal matrix med $A$'s egenværdier og $\\Lambda_2$ er en diagonal matrix med $B$'s egenværdier?" ] }, { "cell_type": "markdown", "id": "b771b789", "metadata": {}, "source": [ "#### Spørgsmål c" ] }, { "cell_type": "markdown", "id": "567dbc2c", "metadata": {}, "source": [ "Du har set matricen $U$ eller $U^*$ før (eventuelt med søjlerne i en anden rækkefølge). Hvad er det for en matrix?" ] }, { "cell_type": "markdown", "id": "c2d73bec", "metadata": {}, "source": [ "### 6: Diagonalisering og reduktion af kvadratisk form" ] }, { "cell_type": "markdown", "id": "a6d65a24", "metadata": {}, "source": [ "Vi betragter funktionen $q : \\mathbb{R}^3 \\to \\mathbb{R}$ givet ved\n", "\\begin{equation*}\n", " q(x,y,z)=-2x^2-2y^2-2z^2+2xy+2xz-2yz+2x+y+z+5.\n", "\\end{equation*}\n", "\n", "Bemærk at $q$ kan deles op i to led: de \"rene\" andengradsled $k(x,y,z)=-2x^2-2y^2-2z^2+2xy+2xz-2yz$ og det andet led: et førstegradspolynomium $2x+y+z+5$." ] }, { "cell_type": "markdown", "id": "70addcb1", "metadata": {}, "source": [ "Givet den symmetriske matrix\n", "\n", "\\begin{equation*}\n", "A=\\begin{bmatrix} -2 & 1 & 1 \\\\ 1 & -2 & -1 \\\\ 1 & -1 & -2 \\end{bmatrix}.\n", "\\end{equation*}" ] }, { "cell_type": "markdown", "id": "b5d5d2a4", "metadata": {}, "source": [ "#### Spørgsmål a" ] }, { "cell_type": "markdown", "id": "fdc0a906", "metadata": {}, "source": [ "Angiv en reel, ortogonal matrix $Q$ og en diagonalmatrix $\\Lambda$, således at\n", "\n", "\\begin{equation*}\n", " Q^T \\, A\\, Q=\\Lambda.\n", "\\end{equation*}\n", "\n", "Du skal vælge $Q$ så den har $\\operatorname{det}\\,Q=1$. Du må gerne bruge SymPy til denne opgave.\n", "\n", "**Note:**\n", "Reelle, ortogonale matricer har altid $\\operatorname{det}\\,Q = \\pm 1$ (hvorfor mon?), så hvis dit valg $Q$ har $\\operatorname{det}\\,Q = - 1$ kan du blot skifte fortegn på en valgfri søjle eller række. Reelle, ortogonale matricer megd $\\operatorname{det}\\,Q = 1$ kaldes sædvanligt orienteret. I $\\mathbb{R}^3$ betyder det blot at den ortonormale basis i $Q$ er et *højredrejet* koordinatsystem. Det spiller ikke noget stor rolle for os i denne opgave.\n", "\n", "\n", "\n", "\n", "\n", "\n", "#### Spørgsmål b" ] }, { "cell_type": "markdown", "id": "0e9b97a3", "metadata": {}, "source": [ "Bestem forskriften $k(x,y,z),$ omform den til matrixform, og *reducér* den." ] }, { "cell_type": "markdown", "id": "477ebb0d", "metadata": {}, "source": [ "#### Spørgsmål c" ] }, { "cell_type": "markdown", "id": "c1e5f35d", "metadata": {}, "source": [ "Find en sædvanligt orienteret ortonormal basis for $\\mathbb{R}^3$ hvori forskriften for $q$ er uden blandede led. Bestem forskriften." ] }, { "cell_type": "markdown", "id": "b363b1d1", "metadata": {}, "source": [ "### 7: Den partielle afledte vokser/aftager mest i gradient-retningen" ] }, { "cell_type": "markdown", "id": "b1dea93c", "metadata": {}, "source": [ "Denne opgave er taget fra bogen, og formålet er at argumentere for, hvorfor man i gradient-metoden går i gradientvektorens retning. \n", "\n", "Lad $f: \\mathbb{R}^{n} \\to \\mathbb{R}$ være en funktion, for hvilken alle retningsafledte eksisterer i $\\pmb{x} \\in \\mathbb{R}^{n}$. Antag at $\\nabla f(\\pmb{x})$ ikke er nul-vektoren." ] }, { "cell_type": "markdown", "id": "f0656d29", "metadata": {}, "source": [ "#### Spørgsmål a" ] }, { "cell_type": "markdown", "id": "77dbc4fe", "metadata": {}, "source": [ "Vis at $\\pmb{u} := \\nabla f(\\pmb{x}) / \\Vert \\nabla f(\\pmb{x}) \\Vert$ er en enhedsvektor." ] }, { "cell_type": "markdown", "id": "cc193519", "metadata": {}, "source": [ "#### Spørgsmål b" ] }, { "cell_type": "markdown", "id": "c561bc9c", "metadata": {}, "source": [ "Vis at skalaren $|\\nabla_{\\pmb{v}}f(\\pmb{x})|$ bliver størst mulig, når $\\pmb{v} = \\pm \\pmb{u}$." ] }, { "cell_type": "markdown", "id": "8290f471", "metadata": {}, "source": [ "### 8: Standardligning for de tre typiske keglesnit" ] }, { "cell_type": "markdown", "id": "312ae84e", "metadata": {}, "source": [ "I de følgende eksempler ser vi på kvadratiske former uden *blandede led* (da vi jo netop kan slippe af med disse via diagonalisering som i forrige opgave). Her er det muligt at gå skridtet videre og fjerne førstegradsleddene. Denne teknik kaldes [kvadratkomplettering](https://da.wikipedia.org/wiki/Kvadratkomplettering#Eksempel_1). I det følgende skal vi bruge teknikken på vejen mod identifikation af såkaldte keglesnit." ] }, { "cell_type": "markdown", "id": "aae86a5a", "metadata": {}, "source": [ "#### Spørgsmål a" ] }, { "cell_type": "markdown", "id": "7b529b80", "metadata": {}, "source": [ "En ellipse i $(x,y)$-planen med centrum $(c_1,c_2),$ halvakserne $a$ og $b$ og symmetriakserne $x=c_1$ og $y=c_2$ har standardligningen\n", "\n", "\\begin{equation*}\n", " \\frac{(x-c_1)^2}{a^2}+\\frac{(y-c_2)^2}{b^2}=1.\n", "\\end{equation*}\n", " \n", "En ellipse er givet ved ligningen\n", "\n", "\\begin{equation*}\n", " 4x^2+y^2+8x-6y+9=0.\n", "\\end{equation*}\n", "\n", "Udfør kvadratkomplettering, sæt ligningen på standardform, og angiv ellipsens centrum, halvakser og symmetriakser." ] }, { "cell_type": "markdown", "id": "df362179", "metadata": {}, "source": [ "#### Spørgsmål b" ] }, { "cell_type": "markdown", "id": "89028310", "metadata": {}, "source": [ "En hyperbel i $(x,y)$-planen med centrum $(c_1,c_2),$ halvakserne $a$ og $b$ og symmetriakserne $x=c_1$ og $y=c_2$ har standardligningen\n", "\n", "\\begin{equation*}\n", " \\frac{(x-c_1)^2}{a^2}-\\frac{(y-c_2)^2}{b^2}=1.\n", "\\end{equation*}\n", "\n", "Eller alternativt (hvis den ikke er vandret, men lodret):\n", "\n", "\\begin{equation*}\n", " \\frac{(y-c_2)^2}{a^2}-\\frac{(x-c_1)^2}{b^2}=1.\n", "\\end{equation*}\n", "\n", "En hyperbel er givet ved ligningen\n", "\n", "\\begin{equation*}\n", " x^2-y^2-4x-4y = 4.\n", "\\end{equation*}\n", "\n", "Udfør kvadratkomplettering, sæt ligningen på standardform, og angiv hyperblens centrum, halvakser og symmetriakser." ] }, { "cell_type": "markdown", "id": "9b8bea4b", "metadata": {}, "source": [ "#### Spørgsmål c" ] }, { "cell_type": "markdown", "id": "c77abab0", "metadata": {}, "source": [ "En parabel i $(x,y)$-planen med toppunkt $(c_1,c_2)$ og symmetriaksen $x=c_1$ har standardligningen\n", "\n", "\\begin{equation*}\n", " y-c_2=a(x-c1)^2.\n", "\\end{equation*}\n", "\n", "Eller alternativt, hvis parablen ikke er lodret men vandret, hvorved symmetriaksen bliver $y=c_2$:\n", "\n", "\\begin{equation*}\n", " x-c_1=a(y-c2)^2.\n", "\\end{equation*}\n", "\n", "En parabel er givet ved ligningen\n", "\n", "\\begin{equation*}\n", " 2x^2+12x-y+17=0.\n", "\\end{equation*}\n", "\n", "Udfør kvadratkomplettering, sæt ligningen på standardform, og angiv parablens toppunkt og symmetriakse." ] }, { "cell_type": "markdown", "id": "bac3d736", "metadata": {}, "source": [ "___\n", "\n", "## Temaøvelse -- Lille Dag" ] }, { "cell_type": "markdown", "id": "909a1988", "metadata": {}, "source": [ "Der er tema-øvelse [](tema:2)" ] } ], "metadata": { "jupytext": { "formats": "ipynb,md:myst" }, "kernelspec": { "display_name": "python3", "language": "python", "name": "python3" } }, "nbformat": 4, "nbformat_minor": 5 }