{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "568bde50",
   "metadata": {},
   "source": [
    "# Innlevering 1 - Lineæralgebra"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2218e4e2",
   "metadata": {},
   "source": [
    "Regresjon (https://en.wikipedia.org/wiki/Regression_analysis) er en av de viktigste ingrediensene i maskinlæring.\n",
    "Dersom du skal forstå regresjon, \n",
    "er det lurt å først forstå interpolasjon (https://en.wikipedia.org/wiki/Interpolation).\n",
    "Interpolasjon er kunsten å finne en funksjon som går gjennom et sett med punkter i planet. "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "375185a5",
   "metadata": {},
   "source": [
    "\n",
    "1. Et kvadratisk polynom er et polynom på formen\n",
    "\\begin{align*}\n",
    "p(x)=\\beta_2 x^2+b_1x+\\beta_0.\n",
    "\\end{align*}\n",
    "Finn koeffisientene til et kvadratisk polynom som går gjennom punktene $(1,2)$, $(2,3)$ og $(3,1)$. \n",
    "Plott punktene og polynomet."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "92891dea",
   "metadata": {
    "vscode": {
     "languageId": "python"
    }
   },
   "outputs": [],
   "source": [
    "#Generisk kode for plotting\n",
    "\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "x=np.linspace(0,1,1000)\n",
    "y=x**2\n",
    "\n",
    "plt.plot(x,y)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4f1fbc67",
   "metadata": {},
   "source": [
    "Da du regnet ut koeffisientene $\\beta_2$, $\\beta_1$ og $\\beta_0$, \n",
    "løste du et lineært likningssystem på formen $A\\mathbf x = \\mathbf b$.\n",
    "Det er veldig vanlig at realfaglige problemstillinger leder til lineære likningssystemer (https://en.wikipedia.org/wiki/System_of_linear_equations).\n",
    "Derfor regnes lineæralgebra som et av de vikigste fagfeltene innen anvendt matematikk (https://en.wikipedia.org/wiki/Linear_algebra).\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "536654d6",
   "metadata": {},
   "source": [
    "2. Beregn $A^{-1}$ og finn et andregradspolynom som går gjennom $(1,1)$, $(2,2)$ og $(3,2)$. Dobbeltsjekk med python at du har regna riktig. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "98145348",
   "metadata": {
    "vscode": {
     "languageId": "python"
    }
   },
   "outputs": [],
   "source": [
    "#Her er litt syntaks for matriseregning\n",
    "\n",
    "A = np.array([[2,3,4],[3,4,5],[4,5,7]])\n",
    "B = np.linalg.inv(A)\n",
    "print(A@B)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "53834ac8",
   "metadata": {},
   "source": [
    "Funksjonen $f(\\mathbf x) = A\\mathbf x$ er et eksempel på en lineæroperator (https://en.wikipedia.org/wiki/Linear_map). En lineæroperator er en funksjon som tilfredsstiller\n",
    "\\begin{align*}\n",
    "f(a\\mathbf x) = af(\\mathbf x) \n",
    "\\hspace{10mm}\n",
    "\\text{og}\n",
    "\\hspace{10mm}\n",
    "f(\\mathbf x + \\mathbf y) = f(\\mathbf x) + f(\\mathbf y) \n",
    "\\end{align*}\n",
    "der $a$ er et tall og $\\mathbf x $ og $\\mathbf y $ vektorer."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a3ef3e49",
   "metadata": {},
   "source": [
    "3. Finn et kvadratisk polynom som går gjennom $(1,3)$, $(2,5)$ og $(3,3)$.\n",
    "(Hint: Du kan legge sammen de to du har.)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Mojo",
   "language": "mojo",
   "name": "mojo-jupyter-kernel"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "mojo"
   },
   "file_extension": ".mojo",
   "mimetype": "text/x-mojo",
   "name": "mojo"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
