{
"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
}