{
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "# Lineær algebra med Python\n",
        "\n",
        "Øyvind Ryan  \n",
        "2026-02-04"
      ],
      "id": "b6ccbe75-d3a8-432b-9d59-f45361124880"
    },
    {
      "cell_type": "code",
      "execution_count": 1,
      "metadata": {},
      "outputs": [],
      "source": [
        "import numpy as np\n",
        "import matplotlib.pyplot as plt"
      ],
      "id": "5e4c77b6"
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## Definere matriser"
      ],
      "id": "bcbd782e-bdd3-42a9-9655-e3b6b5a59478"
    },
    {
      "cell_type": "code",
      "execution_count": 2,
      "metadata": {},
      "outputs": [],
      "source": [
        "A = np.array([[1,-2,1],[2,-3,4],[3,-8,0]])\n",
        "B = np.array([[1,2,0],[3,4,1],[5,6,3]])"
      ],
      "id": "39602760"
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## Summere, subtrahere, gange, potens"
      ],
      "id": "c28b66a6-0e09-492e-87a1-a4bfd47b51cd"
    },
    {
      "cell_type": "code",
      "execution_count": 3,
      "metadata": {},
      "outputs": [
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/plain": [
              "array([[ 2,  0,  1],\n",
              "       [ 5,  1,  5],\n",
              "       [ 8, -2,  3]])"
            ]
          }
        }
      ],
      "source": [
        "A+B"
      ],
      "id": "bf6bf445"
    },
    {
      "cell_type": "code",
      "execution_count": 4,
      "metadata": {},
      "outputs": [
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/plain": [
              "array([[  0,  -4,   1],\n",
              "       [ -1,  -7,   3],\n",
              "       [ -2, -14,  -3]])"
            ]
          }
        }
      ],
      "source": [
        "A-B"
      ],
      "id": "d7e59753"
    },
    {
      "cell_type": "code",
      "execution_count": 5,
      "metadata": {},
      "outputs": [
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/plain": [
              "array([[  0,   0,   1],\n",
              "       [ 13,  16,   9],\n",
              "       [-21, -26,  -8]])"
            ]
          }
        }
      ],
      "source": [
        "A@B"
      ],
      "id": "6dca9240"
    },
    {
      "cell_type": "code",
      "execution_count": 6,
      "metadata": {},
      "outputs": [
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/plain": [
              "array([[  3,  -6,   3],\n",
              "       [  6,  -9,  12],\n",
              "       [  9, -24,   0]])"
            ]
          }
        }
      ],
      "source": [
        "3*A"
      ],
      "id": "84235b5b"
    },
    {
      "cell_type": "code",
      "execution_count": 7,
      "metadata": {},
      "outputs": [
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/plain": [
              "matrix([[ -29,   68,  -16],\n",
              "        [ -76,  145, -100],\n",
              "        [ -64,  204,   59]])"
            ]
          }
        }
      ],
      "source": [
        "np.matrix(A)**3"
      ],
      "id": "eff864a0"
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## Transponering, invers, determinant"
      ],
      "id": "4bb0f6ea-63a9-4182-a1b5-a8c60b5fe10a"
    },
    {
      "cell_type": "code",
      "execution_count": 8,
      "metadata": {},
      "outputs": [
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/plain": [
              "array([[ 1,  2,  3],\n",
              "       [-2, -3, -8],\n",
              "       [ 1,  4,  0]])"
            ]
          }
        }
      ],
      "source": [
        "A.T"
      ],
      "id": "11217c1d"
    },
    {
      "cell_type": "code",
      "execution_count": 9,
      "metadata": {},
      "outputs": [
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/plain": [
              "array([[32., -8., -5.],\n",
              "       [12., -3., -2.],\n",
              "       [-7.,  2.,  1.]])"
            ]
          }
        }
      ],
      "source": [
        "np.linalg.inv(A)"
      ],
      "id": "029b033b"
    },
    {
      "cell_type": "code",
      "execution_count": 10,
      "metadata": {},
      "outputs": [
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/plain": [
              "0.9999999999999996"
            ]
          }
        }
      ],
      "source": [
        "np.linalg.det(A)"
      ],
      "id": "1f731f25"
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## Radvektor, søylevektor"
      ],
      "id": "37383693-af20-4b57-8b44-1b3c02537b2a"
    },
    {
      "cell_type": "code",
      "execution_count": 11,
      "metadata": {},
      "outputs": [],
      "source": [
        "a = np.array([[1,2,3]])\n",
        "b = np.array([[4],[5],[6]])"
      ],
      "id": "f9b2de16"
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## skalarprodukt på to forskjellige måter"
      ],
      "id": "9ef322ff-f7b3-4115-afdf-915890d6d110"
    },
    {
      "cell_type": "code",
      "execution_count": 12,
      "metadata": {},
      "outputs": [
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/plain": [
              "array([[32]])"
            ]
          }
        }
      ],
      "source": [
        "a@b"
      ],
      "id": "70d3ccfc"
    },
    {
      "cell_type": "code",
      "execution_count": 13,
      "metadata": {},
      "outputs": [
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/plain": [
              "array([[32]])"
            ]
          }
        }
      ],
      "source": [
        "np.dot(a,b)"
      ],
      "id": "23d73e04"
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## Matrise-vektor multiplikasjon"
      ],
      "id": "106fbdbd-b9ba-4934-b216-fd5ed8e7e6f4"
    },
    {
      "cell_type": "code",
      "execution_count": 14,
      "metadata": {},
      "outputs": [
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/plain": [
              "array([[  0],\n",
              "       [ 17],\n",
              "       [-28]])"
            ]
          }
        }
      ],
      "source": [
        "A@b"
      ],
      "id": "ab21f8ca"
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## Komponentvise operasjoner"
      ],
      "id": "40f58716-da6f-450a-abb6-5b4d21149ac7"
    },
    {
      "cell_type": "code",
      "execution_count": 15,
      "metadata": {},
      "outputs": [],
      "source": [
        "A = np.array([[1,2],[3,4]])\n",
        "B = np.array([[0,np.pi/2],[np.pi,3*np.pi/2]])"
      ],
      "id": "956e054a"
    },
    {
      "cell_type": "code",
      "execution_count": 16,
      "metadata": {},
      "outputs": [
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/plain": [
              "array([[ 1,  4],\n",
              "       [ 9, 16]])"
            ]
          }
        }
      ],
      "source": [
        "A**2"
      ],
      "id": "6abd2d05"
    },
    {
      "cell_type": "code",
      "execution_count": 17,
      "metadata": {},
      "outputs": [
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/plain": [
              "array([[ 0.        ,  3.14159265],\n",
              "       [ 9.42477796, 18.84955592]])"
            ]
          }
        }
      ],
      "source": [
        "A*B"
      ],
      "id": "a053fff1"
    },
    {
      "cell_type": "code",
      "execution_count": 18,
      "metadata": {},
      "outputs": [
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/plain": [
              "array([[ 0.0000000e+00,  1.0000000e+00],\n",
              "       [ 1.2246468e-16, -1.0000000e+00]])"
            ]
          }
        }
      ],
      "source": [
        "np.sin(B)"
      ],
      "id": "43f74674"
    },
    {
      "cell_type": "code",
      "execution_count": 19,
      "metadata": {},
      "outputs": [
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/plain": [
              "array([[0.        , 0.78539816],\n",
              "       [1.04719755, 1.17809725]])"
            ]
          }
        }
      ],
      "source": [
        "B/A"
      ],
      "id": "95b4e7d9"
    },
    {
      "cell_type": "code",
      "execution_count": 20,
      "metadata": {},
      "outputs": [
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/plain": [
              "array([[1.00000000e+00, 1.39045637e+02],\n",
              "       [7.22676928e+12, 3.77426656e+38]])"
            ]
          }
        }
      ],
      "source": [
        "np.exp(A*B**2)"
      ],
      "id": "0df30ba1"
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## min, max, sum, prod"
      ],
      "id": "d8869fdc-b5bd-44f0-8f15-5581f9486e77"
    },
    {
      "cell_type": "code",
      "execution_count": 21,
      "metadata": {},
      "outputs": [
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/plain": [
              "1"
            ]
          }
        }
      ],
      "source": [
        "a.min()"
      ],
      "id": "430efb1c"
    },
    {
      "cell_type": "code",
      "execution_count": 22,
      "metadata": {},
      "outputs": [
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/plain": [
              "3"
            ]
          }
        }
      ],
      "source": [
        "a.max()"
      ],
      "id": "95f8adfc"
    },
    {
      "cell_type": "code",
      "execution_count": 23,
      "metadata": {},
      "outputs": [
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/plain": [
              "6"
            ]
          }
        }
      ],
      "source": [
        "b.max()"
      ],
      "id": "d2b89c75"
    },
    {
      "cell_type": "code",
      "execution_count": 24,
      "metadata": {},
      "outputs": [
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/plain": [
              "array([3, 4])"
            ]
          }
        }
      ],
      "source": [
        "A.max(0)"
      ],
      "id": "4fd87187"
    },
    {
      "cell_type": "code",
      "execution_count": 25,
      "metadata": {},
      "outputs": [
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/plain": [
              "6"
            ]
          }
        }
      ],
      "source": [
        "np.sum(a)"
      ],
      "id": "11d4ca3e"
    },
    {
      "cell_type": "code",
      "execution_count": 26,
      "metadata": {},
      "outputs": [
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/plain": [
              "6"
            ]
          }
        }
      ],
      "source": [
        "np.prod(a)"
      ],
      "id": "689a67fd"
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## lengde av vektor på to forskjellige måter"
      ],
      "id": "a418b0f5-cb85-4597-bdc3-f6ff51ca5d01"
    },
    {
      "cell_type": "code",
      "execution_count": 27,
      "metadata": {},
      "outputs": [
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/plain": [
              "3.7416573867739413"
            ]
          }
        }
      ],
      "source": [
        "np.sqrt(np.sum(a**2))"
      ],
      "id": "31586bca"
    },
    {
      "cell_type": "code",
      "execution_count": 28,
      "metadata": {},
      "outputs": [
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/plain": [
              "3.7416573867739413"
            ]
          }
        }
      ],
      "source": [
        "np.linalg.norm(a)"
      ],
      "id": "8ee256a4"
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## plotting"
      ],
      "id": "bdd290c8-f76a-4952-b27b-4873e38894f5"
    },
    {
      "cell_type": "code",
      "execution_count": 29,
      "metadata": {},
      "outputs": [
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "image/png": "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\n"
          }
        }
      ],
      "source": [
        "x = np.linspace(-1,1,100)\n",
        "plt.plot(x,x**2)\n",
        "plt.plot(x,x**4)\n",
        "plt.axis('equal')"
      ],
      "id": "a06f9006"
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## Sette sammen matriser"
      ],
      "id": "2f8501e4-36b8-457b-89dc-a5e082b91dbe"
    },
    {
      "cell_type": "code",
      "execution_count": 30,
      "metadata": {},
      "outputs": [
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/plain": [
              "array([[1, 2, 3, 4, 5, 6],\n",
              "       [1, 2, 3, 4, 5, 6],\n",
              "       [1, 2, 3, 4, 5, 6]])"
            ]
          }
        }
      ],
      "source": [
        "A = np.array([[1,2,3],[1,2,3],[1,2,3]])\n",
        "B = np.array([[4,5,6],[4,5,6],[4,5,6]])\n",
        "C = np.array([[7,8,9],[7,8,9],[7,8,9]])\n",
        "D = np.array([[10,11,12],[10,11,12],[10,11,12]])\n",
        "np.block([[A,B]])"
      ],
      "id": "69870c16"
    },
    {
      "cell_type": "code",
      "execution_count": 31,
      "metadata": {},
      "outputs": [
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/plain": [
              "array([[1, 2, 3],\n",
              "       [1, 2, 3],\n",
              "       [1, 2, 3],\n",
              "       [4, 5, 6],\n",
              "       [4, 5, 6],\n",
              "       [4, 5, 6]])"
            ]
          }
        }
      ],
      "source": [
        "np.block([[A],[B]])"
      ],
      "id": "52bc0eea"
    },
    {
      "cell_type": "code",
      "execution_count": 32,
      "metadata": {},
      "outputs": [
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/plain": [
              "array([[ 1,  2,  3,  4,  5,  6],\n",
              "       [ 1,  2,  3,  4,  5,  6],\n",
              "       [ 1,  2,  3,  4,  5,  6],\n",
              "       [ 7,  8,  9, 10, 11, 12],\n",
              "       [ 7,  8,  9, 10, 11, 12],\n",
              "       [ 7,  8,  9, 10, 11, 12]])"
            ]
          }
        }
      ],
      "source": [
        "np.block([[A,B],[C,D]])"
      ],
      "id": "a9839b8c"
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## Trekke ut en del av matrisen"
      ],
      "id": "431b6be7-9753-41ae-a3c2-5a76d458cfd2"
    },
    {
      "cell_type": "code",
      "execution_count": 33,
      "metadata": {},
      "outputs": [
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/plain": [
              "array([[2, 3],\n",
              "       [2, 3]])"
            ]
          }
        }
      ],
      "source": [
        "A[1:3,1:3]"
      ],
      "id": "697e1353"
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## Definere nyttige matriser"
      ],
      "id": "275cdeb3-a2b0-4793-aa56-1785ecfee68c"
    },
    {
      "cell_type": "code",
      "execution_count": 34,
      "metadata": {},
      "outputs": [
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/plain": [
              "array([[1., 0., 0.],\n",
              "       [0., 1., 0.],\n",
              "       [0., 0., 1.]])"
            ]
          }
        }
      ],
      "source": [
        "np.eye(3)"
      ],
      "id": "d12efda8"
    },
    {
      "cell_type": "code",
      "execution_count": 35,
      "metadata": {},
      "outputs": [
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/plain": [
              "array([[0., 0., 0.],\n",
              "       [0., 0., 0.],\n",
              "       [0., 0., 0.]])"
            ]
          }
        }
      ],
      "source": [
        "np.zeros((3,3))"
      ],
      "id": "00e98dfd"
    },
    {
      "cell_type": "code",
      "execution_count": 36,
      "metadata": {},
      "outputs": [
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/plain": [
              "array([[1., 1., 1.],\n",
              "       [1., 1., 1.],\n",
              "       [1., 1., 1.]])"
            ]
          }
        }
      ],
      "source": [
        "np.ones((3,3))"
      ],
      "id": "8e1996df"
    }
  ],
  "nbformat": 4,
  "nbformat_minor": 5,
  "metadata": {
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3 (ipykernel)",
      "language": "python",
      "path": "/opt/anaconda3/share/jupyter/kernels/python3"
    },
    "language_info": {
      "name": "python",
      "codemirror_mode": {
        "name": "ipython",
        "version": "3"
      },
      "file_extension": ".py",
      "mimetype": "text/x-python",
      "nbconvert_exporter": "python",
      "pygments_lexer": "ipython3",
      "version": "3.9.7"
    }
  }
}