{
"cells": [
{
"cell_type": "markdown",
"id": "1f133311",
"metadata": {},
"source": [
"# Uge 4: Øvelser"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "f9b460b3",
"metadata": {
"tags": [
"remove-cell"
]
},
"outputs": [],
"source": [
"from sympy import*\n",
"from dtumathtools import*\n",
"init_printing()"
]
},
{
"cell_type": "markdown",
"id": "5ceaac5e",
"metadata": {},
"source": [
"## Opgaver -- Store Dag"
]
},
{
"cell_type": "markdown",
"id": "acfb5ac0",
"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": "dcdc4599",
"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": "6a86e847",
"metadata": {},
"source": [
"### 2: Hermitisk 2-gange-2 matrix. Håndregning"
]
},
{
"cell_type": "markdown",
"id": "60431d4e",
"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": "41d5cca9",
"metadata": {},
"source": [
"#### Spørgsmål a"
]
},
{
"cell_type": "markdown",
"id": "fc2081cb",
"metadata": {},
"source": [
"Find alle egenværdier og tilhørende egenvektorer af $A$. Kontroller svaret med SymPy `A.eigenvects()`."
]
},
{
"cell_type": "markdown",
"id": "8d50d03e",
"metadata": {},
"source": [
"#### Spørgsmål b"
]
},
{
"cell_type": "markdown",
"id": "34ae58e3",
"metadata": {},
"source": [
"Bestem en ortonormal basis bestående af egenvektorer af $A$."
]
},
{
"cell_type": "markdown",
"id": "d4a47886",
"metadata": {},
"source": [
"#### Spørgsmål c"
]
},
{
"cell_type": "markdown",
"id": "4a7eff09",
"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": "dab4fae0",
"metadata": {},
"source": [
"#### Spørgsmål d"
]
},
{
"cell_type": "markdown",
"id": "13e08c0f",
"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": "c045d3a8",
"metadata": {
"tags": [
"remove-output"
]
},
"outputs": [],
"source": [
"A = Matrix([[0, I], [-I, 0]])\n",
"A.diagonalize(normalize = True)"
]
},
{
"cell_type": "markdown",
"id": "11f7bb07",
"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": "572d0740",
"metadata": {},
"source": [
"### 4: Symmetrisk 3-gange-3 matrix."
]
},
{
"cell_type": "markdown",
"id": "1da33909",
"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": "ff5274e1",
"metadata": {},
"source": [
"### 5: Spektral dekomposition med SymPy"
]
},
{
"cell_type": "markdown",
"id": "95f47aa9",
"metadata": {},
"source": [
"Vi betragter følgende matricer givet i SymPy:"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "fd2ebb94",
"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": "a33b85eb",
"metadata": {},
"source": [
"Det oplyses at begge matricer er reelle, *normale* matricer. Dette kan tjekkes ved:"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "3723cb44",
"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": "1ae83fbe",
"metadata": {},
"source": [
"Det oplyses endvidere at egenværdierne er hhv:"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "3ae688c8",
"metadata": {},
"outputs": [],
"source": [
"A.eigenvals(multiple=True), B.eigenvals(multiple=True)"
]
},
{
"cell_type": "markdown",
"id": "d40a997f",
"metadata": {},
"source": [
"#### Spørgsmål a"
]
},
{
"cell_type": "markdown",
"id": "2702b573",
"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": "71feb6fd",
"metadata": {
"tags": [
"remove-output"
]
},
"outputs": [],
"source": [
"A.diagonalize(normalize = True), B.diagonalize(normalize = True)"
]
},
{
"cell_type": "markdown",
"id": "4559c59a",
"metadata": {},
"source": [
"#### Spørgsmål b"
]
},
{
"cell_type": "markdown",
"id": "6faa3705",
"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": "36e8815e",
"metadata": {},
"source": [
"#### Spørgsmål c"
]
},
{
"cell_type": "markdown",
"id": "9c56bcaf",
"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": "e48d7537",
"metadata": {},
"source": [
"### 6: Diagonalisering og reduktion af kvadratisk form"
]
},
{
"cell_type": "markdown",
"id": "0a4f1c53",
"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": "5c275c58",
"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": "66047435",
"metadata": {},
"source": [
"#### Spørgsmål a"
]
},
{
"cell_type": "markdown",
"id": "8afd9449",
"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": "234d5e5e",
"metadata": {},
"source": [
"Bestem forskriften $k(x,y,z),$ omform den til matrixform, og *reducér* den."
]
},
{
"cell_type": "markdown",
"id": "4eb0afcf",
"metadata": {},
"source": [
"#### Spørgsmål c"
]
},
{
"cell_type": "markdown",
"id": "346add1f",
"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": "675a4f7b",
"metadata": {},
"source": [
"### 7: Den partielle afledte vokser/aftager mest i gradient-retningen"
]
},
{
"cell_type": "markdown",
"id": "ad78dc1b",
"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": "a7c1af88",
"metadata": {},
"source": [
"#### Spørgsmål a"
]
},
{
"cell_type": "markdown",
"id": "fbdbf8a5",
"metadata": {},
"source": [
"Vis at $\\pmb{u} := \\nabla f(\\pmb{x}) / \\Vert \\nabla f(\\pmb{x}) \\Vert$ er en enhedsvektor."
]
},
{
"cell_type": "markdown",
"id": "c6b03ddd",
"metadata": {},
"source": [
"#### Spørgsmål b"
]
},
{
"cell_type": "markdown",
"id": "0759cabf",
"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": "d86493cf",
"metadata": {},
"source": [
"### 8: Standardligning for de tre typiske keglesnit"
]
},
{
"cell_type": "markdown",
"id": "884eedf2",
"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": "e91fe4c1",
"metadata": {},
"source": [
"#### Spørgsmål a"
]
},
{
"cell_type": "markdown",
"id": "0a3c2921",
"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": "379ed8ef",
"metadata": {},
"source": [
"#### Spørgsmål b"
]
},
{
"cell_type": "markdown",
"id": "4ad3c304",
"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": "1d1d1952",
"metadata": {},
"source": [
"#### Spørgsmål c"
]
},
{
"cell_type": "markdown",
"id": "b06cab65",
"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": "06102e85",
"metadata": {},
"source": [
"___\n",
"\n",
"## Temaøvelse -- Lille Dag"
]
},
{
"cell_type": "markdown",
"id": "06db7021",
"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
}