6  Dynamiske systemer

En matriseoperasjon \(y = A x\) er en transformasjon av vektor \(x\) og gir en ny vektor \(y\).
Hvis vi gjentar denne operasjonen mange ganger, får vi en dynamisk prosess.

Starter vi med en vektor \(x_1\), kan vi definere en følge av vektorer ved å sette

\[ x_{k+1} = A x_k\,, \quad k = 1,2,\dots \]

Dette kalles et lineært dynamisk system. Her er \(x_k\) tilstanden i steg \(k\), og matrisen \(A\) bestemmer hvordan tilstanden utvikler seg fra ett steg til det neste.

Et eksempel er en rotasjonsmatrise i to dimensjoner, som flytter et punkt rundt origo med en fast vinkel hver gang, som vi eksemplifiserte forrige kapittel.

Denne typen modeller beskriver alt fra hvordan penger fordeler seg mellom kontoer fra måned til måned, til hvordan populasjoner utvikler seg eller hvordan sannsynligheter flytter seg i en stokastisk prosess.

6.0.1 Lineære dynamiske systemer med input

Mange systemer er ikke bare styrt av sin egen tilstand, men påvirkes også av ytre signaler eller input. Et slikt system kan skrives som

\[ x_{k+1} = A x_k + B u_k, \]

der \(u_k\) er en vektor som representerer input i steg \(k\), og \(B\) bestemmer hvordan denne inputen virker inn på systemet.

Et eksempel kan være økonomi: \(x_k\) beskriver fordelingen av penger på ulike kontoer etter måned \(k\). Matrisen \(A\) beskriver de faste overføringene mellom kontoene, mens \(B u_k\) beskriver månedlige innskudd eller uttak.


6.0.2 Markov-systemer

Et Markov-system er en modell der neste tilstand bare avhenger av fortiden, og ikke av noe utenfor systemet.
I sin enkleste form betyr dette at \[ x_{k+1} = A x_k, \] slik at \(x_{k+1}\) bare bestemmes av den nåværende tilstanden \(x_k\).

Markov-modeller er svært vanlige i statistikk, maskinlæring og naturvitenskap.
De brukes blant annet til å modellere stokastiske prosesser (f.eks. værskifter, vandringer mellom nettsider, eller DNA-sekvenser) og økonomiske systemer (f.eks. forbrukeratferd eller kredittrisiko).

Et Markov-system er en modell der neste tilstand bare avhenger av fortiden, og ikke av noe utenfor systemet.

Et Markov-system av 1. orden er nettopp den formen vi har sett hittil: \[ x_{k+1} = A x_k. \] Her avhenger neste tilstand bare av den nåværende.

Men noen ganger må vi ta hensyn til flere tidligere steg.
For eksempel kan neste tilstand avhenge av både \(x_k\) og \(x_{k-1}\): \[ x_{k+1} = A_1 x_k + A_2 x_{k-1}. \] Dette kalles et Markov-system av 2. orden.

Mer generelt kan vi skrive et system av \(p\)-te orden som

\[ x_{k+1} = A_1 x_k + A_2 x_{k-1} + \cdots + A_p x_{k-p+1}. \]

6.1 Eksempel: Epidemi

I epidemiologi kan spredning av en epidemi beskrives som et lineært dynamisk system.

Vi deler befolkningen i fire grupper ved steg \(k\):

  • \(S_k\): mottakelige (susceptible)
  • \(I_k\): infiserte
  • \(R_k\): friske med immunitet (recovered)
  • \(D_k\): døde.

Tilstanden samles i vektoren \[ x_k = \begin{bmatrix} S_k \\ I_k \\ R_k \\ D_k \end{bmatrix}, \] og utviklingen beskrives av \[ x_{k+1} = A\,x_k, \]

Fra ett steg til det neste skjer følgende:

  • En andel \(a\) av de mottakelige blir smittet.
  • En andel \(b\) av de smittede blir friske (og immune).
  • En andel \(d\) av de smittede dør.
  • En andel \(g\) av de immune mister immunitet og går tilbake til mottakelige.
  • Døde forblir døde.

Dette gir matrisen \[ A = \begin{bmatrix} 1-a & 0 & g & 0 \\ a & 1-b-d & 0 & 0 \\ 0 & b & 1-g & 0 \\ 0 & d & 0 & 1 \end{bmatrix}. \]

La oss se på et konkret eksempel: anta \(a=0.03\), \(b=0.1\), \(d=0.02\) og \(g=0.01\).
Vi starter med \(99\%\) mottakelige og \(1\%\) smittede.

using LinearAlgebra
using Plots

# Parameters
a = 0.03   # infection rate
b = 0.10   # recovery rate
d = 0.02   # death rate
g = 0.01   # loss of immunity

# Transition matrix
A = [1-a   0        g     0;
     a     1-b-d    0     0;
     0     b        1-g   0;
     0     d        0     1]

# Initial state (percentages)
x0 = [0.99, 0.01, 0.0, 0.0]

# Number of steps
K = 100

# Simulate
X = zeros(4, K+1)
X[:,1] = x0
for k in 1:K
    X[:,k+1] = A * X[:,k]
end

# Plot results
plot(0:K, X[1,:], label="S (susceptible)", lw=2)
plot!(0:K, X[2,:], label="I (infected)", lw=2)
plot!(0:K, X[3,:], label="R (recovered)", lw=2)
plot!(0:K, X[4,:], label="D (dead)", lw=2)
xlabel!("Time step")
ylabel!("Fraction of population")
title!("Epidemic model with waning immunity")

Utforsk hva som skjer for andre verdier av f.eks. dødelig. Hva hvis alle som blir smittet blir permanent immune?

6.1.0.1 Vaksine innføres

Eksempelet over indikerer at tap av immunitet, vil gjøre at dødeligheten øker jevnt og trutt. Dette virker kanskje veldig dramatisk, men er tilfellet med svært mange smittsomme sykdommer som influensa. Men om dødelighet er lav nok, så blir det fort utkonkurrert av andre former for dødelighet.

Men vi skal sammenligne dette med et tilfelle, hvor 10% av befolkningen er infisert, men vaksine introduseres, som 5% av befolkningen tar hvert tidssteg. Hva skjer med dødelighetet? Utforske selv ulike verdier.

using LinearAlgebra
using Plots

# Parameters
a = 0.03   # infection rate
b = 0.10   # recovery rate
d = 0.02   # death rate
g = 0.01   # loss of immunity
v = 0.05   # vaccination rate (S → R)

# Transition matrix with vaccination
A = [1-a-v   0        g     0;
     a       1-b-d    0     0;
     v       b        1-g   0;
     0       d        0     1]

# Initial state (percentages)
x0 = [0.90, 0.10, 0.0, 0.0]   # 90% susceptible, 10% infected

# Number of steps
K = 100

# Simulate
X = zeros(4, K+1)
X[:,1] = x0
for k in 1:K
    X[:,k+1] = A * X[:,k]
end

# Plot results
plot(0:K, X[1,:], label="S (susceptible)", lw=2)
plot!(0:K, X[2,:], label="I (infected)", lw=2)
plot!(0:K, X[3,:], label="R (recovered/immune)", lw=2)
plot!(0:K, X[4,:], label="D (dead)", lw=2)
xlabel!("Time step")
ylabel!("Fraction of population")
title!("Epidemic model with vaccination and waning immunity")

6.2 Eksempel: Bevegelse av en partikkel med friksjon og ytre kraft

Et enkelt, men nyttig eksempel på et dynamisk system er en partikkel med masse \(m\) som kan bevege seg langs en linje. Den utsettes for en en ytre kraft \(f(t)\), friksjonskraft (proporsjonal med hastigheten) -\(\eta v(t)\), hvor \(\eta\) er en friksjonskoeffisienet. Dette er en enkel modell for bevegelsen til for eksempel for en flyvinge eller et hus utsatt for jordskjelv.


Differensialligning som beskriver partikkelens bevegelse

Newton’s 2. lov gir

\[ m \frac{d^2 y}{dt^2}(t) = -\eta \frac{dy}{dt}(t) + f(t), \]

hvor - \(y(t)\) er posisjonen til massen, (\(a\) er akselerasjon i y-retning, vist kun for å illustrere) - \(v(t) = \tfrac{dy}{dt}(t)\) er hastigheten,
- \(\frac{d^2 y}{dt^2}(t)\) er den dobbelderiverte, eller akselerasjonen av partikkelen. - \(m\) er massen,
- \(\eta\) er friksjonskoeffisienten.
- \(f(t)\) er en ytre påført kraft.

Når man skal løse slike ligninger kan det ofte være lurt å uttrykke det som et system av førsteordens ligninger:

\[ \frac{dy}{dt}(t) = v(t), \qquad m \frac{dv}{dt}(t) = -\eta v(t) + f(t). \]


Diskretisering

Vi har tidligere sett på hvordan vi kan diskretisere funksjoner og evaluere derivater på denne måten (og vi gjentar det her). Vi velger diskrete tidspunkter \(t_k = kh\) med tidssteg \(h\), og da kan stigningstallet skrivet som (til laveste order i \(h\))

\[ \frac{y_{k+1} - y_k}{h} \approx v_k, \qquad m \frac{v_{k+1} - v_k}{h} \approx -\eta v_k + f_k. \]

Dette kan uttrykkes som

\[ y_{k+1} = y_k + h v_k\, , \] \[ v_{k+1} = v_k + \tfrac{h}{m}(-\eta v_k + f_k)\,. \]


Matriseform

Når vi har slike koblede ligninger er et nyttig triks å definere en større vektor av typen

\[ x_k = \begin{bmatrix} y_k \\ v_k \end{bmatrix}, \]

og da kan de to ligningene uttrykkes som

\[ x_{k+1} = \underbrace{\begin{bmatrix} 1 & h \\ 0 & 1 - \tfrac{h\eta}{m} \end{bmatrix}}_{A} x_k + \underbrace{\begin{bmatrix} 0 \\ \tfrac{h}{m} \end{bmatrix}}_{B} f_k. \]

Dette er formulering som et lineært dynamisk system med input.

using LinearAlgebra
using Plots

# --- Parametre ---
m   = 1.0      # masse
eta = 0.5      # friksjonskoeffisient
h   = 0.05     # tidssteg
T   = 20.0     # total tid
N   = Int(round(T/h))

# --- Ytre kraft ---
f(t) = 1.0 * (t < 5)   # kraft = 1 for t < 5, ellers 0

# --- Systemmatriser ---
A = [1.0  h;
     0.0  1.0 - h*eta/m]

B = [0.0, h/m]

# --- Initielle verdier ---
x0 = [0.0, 0.0]   # startposisjon, starthastighet

# --- Simulering ---
X = zeros(2, N+1)   # lagrer alle tilstander
X[:,1] .= x0
global x = x0

for k in 1:N
    t = (k-1)*h
    u = f(t)
    global x = A*x + B*u
    X[:,k+1] .= x
end

tgrid = (0:N) .* h

# --- Plot ---
plot(tgrid, X[1,:], lw=2, label="posisjon y(t)")
plot!(tgrid, X[2,:], lw=2, label="hastighet v(t)",
      xlabel="tid", title="Masse med friksjon og ytre kraft")

Resultat:

6.2.1 Partikkel med friksjon og fjærkrefter

Modellen over er egnet for permanent (plastiske) deformasjoner. Men for mindre krefter vil fjærkrefter (elastisk respons) være viktige.

Tenk etter: Hvordan kan dette inkluderes?

Løsning:

Vi må ha en fjærkraft av typen \(f=-\kappa y(t)\) , hvor \(\kappa\) er fjærkonstanten

\[ m \frac{d^2 y}{dt^2}(t) = -\eta \frac{dy}{dt}(t) - \kappa y(t) + f(t), \]

Vi innfører hastigheten \(v(t)\) som tidligere

\[ \frac{y_{k+1} - y_k}{h} \approx v_k, \qquad m \frac{v_{k+1} - v_k}{h} \approx -\kappa y_k -\eta v_k + f_k. \]

Dette kan uttrykkes som

\[ y_{k+1} = y_k + h v_k\, , \] \[ v_{k+1} = v_k + \tfrac{h}{m}(\kappa y_k -\eta v_k + f_k)\,. \]

Om vi diskretiserer som tidligere, og benytter \(x_k = \begin{bmatrix} y_k \\ v_k \end{bmatrix},\) da får vi

\[ x_{k+1} = \underbrace{\begin{bmatrix} 1 & h \\ -\tfrac{h\kappa}{m} & 1 - \tfrac{h\eta}{m} \end{bmatrix}}_{A} x_k + \underbrace{\begin{bmatrix} 0 \\ \tfrac{h}{m} \end{bmatrix}}_{B} f_k\, . \]

Om vi oppdaterer

A = [1.0  h;
     - h*k/m  1.0 - h*eta/m]

og setter \(\kappa=1\), så får vi dempede svingninger

6.2.2 Eksempel: Varmeledning / diffusjon i 1d

Et annet fundamentalt eksempel på et dynamisk system er varmeledning i et stykke materiale, eller mer generelt diffusjon av et stoff. For dette problemet må vi beskrive funksjoner i både tid og rom.

Dette beskrives av Fick’s 2. lov (eller varmeligningen):

\[ \frac{\partial u}{\partial t}(x,t) = \alpha \frac{\partial^2 u}{\partial x^2}(x,t), \]

der
- \(u(x,t)\) er temperatur (eller konsentrasjon av et stoff),
- \(\alpha\) er varmeledningsevnen (eller diffusjonskoeffisienten),
- \(x \in [0,L]\) er posisjonen langs stangen med lengde \(L\).


Det er verdt å merke seg at lignende modeller dukker opp i mange andre sammenhenger, langt utover klassisk ingeniørfag:
- Maskinlæring: Diffusjonsmodeller bygger på tilsvarende matematikk.
- Finans: Black–Scholes-ligningen for prising av opsjoner. - Samfunn & teknologi: Spredning av informasjon eller nye teknologier kan modelleres som diffusjon i et nettverk.
- Epidemiologi: Smitteutbredelse i en befolkning kan i enkle modeller beskrives med diffusjonsligninger.


Diskretisering i rom

Vi deler intervallet \([0,L]\) inn i \(n\) punkter med avstand \(\Delta x = L/(n+1)\) og diskretiserer med vektoren \(u_i = u(i \Delta x)\).

Den andrederiverte kan approksimeres med:

\[ \frac{\partial^2 u}{\partial x^2}(x_i,t) \approx \frac{u_{i-1}(t) - 2u_i(t) + u_{i+1}(t)}{\Delta x^2}. \]

Verdiene som havner utenfor vektoren beskrives med randbetingelser og her antar vi at \(u(0,t)\) og \(u(L,t)=0\). Da kan \(u\) tolkes som temperaturravviket \(T(x,t) - T_{\mathrm{rand}}\), og temperaturen ved randen er holdt konstant.

Det første og siste elementet vektoren er gitt \(u_1 = u(\Delta x,t)\) og \(u_n = u(nL/(n+1)) = u( L - \Delta x, t)\) som kalles indre punkter.

Samler vi alle verdiene \(u_i(t)\) i en vektor \(x(t) \in \mathbb{R}^n\), antar at \(u(0)=0\) og \(u(L)=0\), altså stoffet er holdt på en konstant verdi ved endene. Da kan vi skrive

\[ \frac{d}{dt} x(t) = A x(t), \]

hvor \(A\) er en tridiagonal matrise

\[ A = \frac{\alpha}{\Delta x^2} \begin{bmatrix} -2 & 1 & & & \\ 1 & -2 & 1 & & \\ & 1 & -2 & 1 & \\ & & \ddots & \ddots & \ddots \\ & & & 1 & -2 \end{bmatrix}. \]


Diskretisering i tid

Velger vi tidssteg \(h\), kan vi skrive dette på formen:

\[ x_{k+1} = (I + hA)\, x_k. \]

Vi kan nå ta for seg et eksempel, hvor vi antar at et område mellom 0.4 og 0.6. Dette tilsvarer for eksempel. en kortvarig lokal oppvarming fra en laserpuls.

using LinearAlgebra
using Plots

function main()
    # --- Parameters ---
    L   = 1.0          # rod length
    n   = 100          # number of interior points (unknowns)
    a   = 0.01         # diffusivity (heat or mass)
    dx  = L/(n+1)      # spatial step
    dt  = 0.25*dx^2/a  # time step (stable choice: dt <= dx^2/(2a))
    Tend = 1.0         # total time
    N   = Int(round(Tend/dt))

    # --- Grid (interior points only) ---
    xgrid = (1:n) .* dx

    # --- System matrix (Dirichlet u=0 at x=0 and x=L) ---
    main_diag = fill(-2.0, n)
    off_diag  = fill(1.0, n-1)
    A = (a/dx^2) * Tridiagonal(off_diag, main_diag, off_diag)

    # --- Initial condition: "laser stripe" between x1 and x2 ---
    x1, x2 = 0.45, 0.55
    u0 = zeros(n)
    for i in 1:n
        xi = xgrid[i]
        if x1 <= xi <= x2
            u0[i] = 1.0
        end
    end

    # --- Explicit Euler time stepping: u^{k+1} = (I + dt*A) * u^k ---
    U = zeros(n, N+1)
    U[:,1] .= u0
    u = copy(u0)
    M = I + dt*A  # update matrix

    for k in 1:N
        u = M * u
        U[:,k+1] .= u
    end

    # --- Time grid for plotting ---
    tgrid = (0:N) .* dt

    # --- Heatmap: evolution in space-time ---
    p1 = heatmap(
        tgrid, xgrid, U;
        xlabel = "time",
        ylabel = "position x",
        title  = "Diffusion of a heated stripe",
        colorbar = true
    )
    display(p1)
    savefig(p1, "heatmap.png")


    # --- Snapshots at selected times ---
    p2 = plot(xgrid, U[:,1], lw=2, label = "t = $(round(tgrid[1], digits=3))")
    for tau in (0.01, 0.10, 0.20, 0.4, 0.6, 1.0 )
        k = clamp(round(Int, tau/dt), 1, N+1)
        plot!(xgrid, U[:,k], lw=2, label = "t = $(round(tgrid[k], digits=3))")
    end
    plot!(xlabel="position x", ylabel="u(x,t)", title="Snapshots of diffusion")
    display(p2)
    savefig(p2, "snapshots.png")
end

main()

Dette gir

Kommentarer til Jula koden:

  • Vi la hele programmet inn i en funksjon main().
    Dette gjør at alle variabler blir lokale og vi unngår problemer med globale variabler.

  • For å lage matrisen brukte vi Tridiagonal(off_diag, main_diag, off_diag).

  • Kommandoen fill(-2.0, n) lager en vektor med lengde n der alle elementene er -2.0. På samme måte lager fill(1.0, n-1) en vektor der alle elementene er 1.0.

  • Symbolet I brukes for identitetsmatrisen. Når vi skriver I + dt*A lages en ny matrise.

  • Med U[:,k] .= u kopierer inn verdiene fra u inn i den \(k\)-te kolonnen av U.

  • For plotting brukte vi både heatmap(...) for å vise hele utviklingen i tid og rom, og plot(...)/plot!(...) for å lage kurver ved bestemte tidspunkter.
    Kommandoen display(p) sørger for at plottet faktisk vises når koden kjøres som et skript, og savefig(p, "navn.png") lagrer det til en fil.

6.2.3 Eksempel: Varmeledning / diffusjon i 1d med Nemann grensebetingelser

I eksempelet over brukte vi såkalte Dirichlet randbetingelser (temperaturen på overflaten er holdt konstant). Men i mange praktiske situasjoner er det i stedet fluksen man kontrollerer.

Vi skal nå se på tilfellet med en pålagt fluks \(q(t)\) ved \(x=0\).
I henhold til Fourier’s lov for varmeledning har vi at \(q(t) = -\kappa\,\partial u/\partial x\big|_{x=0}\).
Å spesifisere fluks \(q(t)\) tilsvarer såkalt Neumann-randbetingelser

\[ \frac{\partial u}{\partial x}(0,t) = g(t), \qquad \text{der } g(t) = -\frac{q(t)}{\kappa}. \]

Vi beholder Dirichlet på høyre side \(u(L,t)=0\) for enkelhet.

6.2.3.1 Diskretisering med “ghost point”

Om vi diskretiserer den deriverte ved randen får vi:

\[ \frac{\partial u}{\partial x}(0,t) \approx \frac{u_1 - u_0}{\Delta x} = g(t) \;\Rightarrow\; u_0 = u_1 - \Delta x\, g(t). \]

Dette kalles noen ganger “ghost-punkt” \(u_0\), som er utenfor domenet vi studerer (som starter på \(i\)) .

Laplacian i første indre punkt blir

\[ \frac{\partial^2 u}{\partial x^2} \approx \frac{u_0 - 2u_1 + u_2}{\Delta x^2} = \frac{-\Delta x\,g(t) - u_1 + u_2}{\Delta x^2}. \]

Dermed får vi for \(i=1\): \[ \frac{du_1}{dt} = \alpha\left(\frac{-u_1 + u_2}{\Delta x^2}\right) -\alpha\,\frac{g(t)}{\Delta x}. \]

Dette kan skrives som et lineært system som følger:

\[ \frac{d}{dt}x(t) = A\,x(t) + f(t), \]

der \(A\) er tridiagonal, men det første diagonal-element endret til \(-1\):

\[ A = \frac{\alpha}{\Delta x^2} \begin{bmatrix} -1 & 1 & & & \\ 1 & -2 & 1 & & \\ & 1 & -2 & 1 & \\ & & \ddots & \ddots & \ddots \\ & & & 1 & -2 \end{bmatrix}, \qquad f(t) = \begin{bmatrix}-\alpha\,g(t)/\Delta x\\ 0\\ \vdots\\ 0\end{bmatrix}. \]

   # --- System matrix A for Neumann (left) + Dirichlet (right) ---
    main_diag = fill(-2.0, n)
    off_diag  = fill(1.0, n-1)
    main_diag[1] = -1.0                    # <-- endring for Neumann på venstre side
    A = (a/dx^2) * Tridiagonal(off_diag, main_diag, off_diag)

    # --- Boundary flux at x=0 via gradient g(t) = -q(t)/kappa
    g(t) = -20.0

    fvec(t) = [-a * g(t) / dx; zeros(n-1)]
   
    

Dette gir kurver av typen

Oppgaver:

  1. Hvordan kan man sette på varmekilder på begge endene (eller i midten av prøven)?

  2. Hva hvis varmekilden er periodisk (f.eks. dag og natt)? Hvordan ville du modifisere ligningene for dette?

  3. Hvilke verdier av \(\Delta x\) er tilstrekkelig små for at profilen skal “konvergere”?
    Sammenlign dette med det formelle stabilitetskravet for denne typen problemer \[ h \;\lesssim\; \frac{\Delta x^2}{2\alpha}. \]

  4. Større oppgave:
    I mange praktiske situasjoner tapes varme ved kantene til omgivelsene, med en fluks som er proporsjonal med temperaturen på overflaten.
    Dette beskrives av en Robin-betingelse (Newton’s law of cooling), her på høyre side: \[ -\kappa \frac{\partial u}{\partial x}(L,t) \;=\; h\,\big(u(L,t) - u_\infty\big), \] der

    • \(\kappa\) er varmeledningsevnen,
    • \(h\) er varmeovergangskoeffisienten (f.eks. ved konvektiv kjøling),
    • \(u_\infty\) er temperaturen i omgivelsene.
    1. Utled de diskrete ligningene for dette.
    2. Implementer Robin-randbetingelsen i Julia-koden.
    3. Undersøk hva som skjer over tid når du har pålagt varmefluks på den ene siden og varmetap til omgivelsene på den andre.

6.2.4 Andre eksempel på differensialligninger

6.2.4.1 Bølgeligning

Mange andre differensialligninger kan løses med tilsvarende metoder som over:

For vibrasjoner langs en stang eller tetthetsendringer (som i pipeinstrumeter) får vi ligninger av typen

\[ \frac{\partial^2 u}{\partial t^2}(x,t) = c^2 \frac{\partial^2 u}{\partial x^2}(x,t), \]

der \(c\) er bølgefarten i materialet. Som for en partikkel med fjærkonstant kan vi løse tilstandsvektoren

\[ x(t) = \begin{bmatrix} u(t) \\ v(t) \end{bmatrix}. \]

Da kan vi skrive systemet på en formen

\[ \frac{d}{dt}x(t) = A\,x(t) + f(t), \]

6.2.4.2 Maxwell-ligninger (1D)

For elektromagnetiske bølger i vakuum kan vi skrive koblingen mellom det elektriske feltet \(E(x,t)\) og det magnetiske feltet \(B(x,t)\):

\[ \frac{\partial E}{\partial t} = c^2 \frac{\partial B}{\partial x}, \qquad \frac{\partial B}{\partial t} = - \frac{\partial E}{\partial x}. \]

Dette kan samles i en tilstandsvektor

\[ x(t) = \begin{bmatrix} E(t) \\ B(t) \end{bmatrix}. \]
Om vi diskretiserer problemet får vi

\[ \frac{d}{dt}x(t) = A\,x(t). \]

der \(A\) er en blokk-operator som inneholder: \[ A \;=\; \begin{bmatrix} 0 & \; c^{2}\,D_x \\[4pt] -D_x & \; 0 \end{bmatrix}. \]

hvor \(D_x\) er differanseoperator (som avhenger av randbetingelser). For gitte intialbetingelser \(E\) og \(B\) kan dette utvikles i tid.

6.2.4.3 Schrödinger-ligningen

I kvantemekanikk beskrives en partikkel med bølgefunksjonen \(\psi(x,t)\) som følger den tidsavhengige Schrödinger-ligningen

\[ i\hbar \frac{\partial \psi}{\partial t}(x,t) \;=\; -\frac{\hbar^2}{2m}\frac{\partial^2 \psi}{\partial x^2}(x,t) \;+\; V(x)\,\psi(x,t). \]

  • \(V(x)\) er potensialet, som bestemmer hvilke stasjonære tilstander og energinivåer som er mulige.
  • \(\psi(x,t)\) er en kompleks funksjon, og når problemet blir diskretisert for å vi en kompleks matrise og vektor.
  • I praksis løser man oftest den tidsuavhengige Schrödinger-ligningen for energinivåer, men den tidsavhengige formen brukes når man vil studere dynamiske prosesser (spredning, tunnellering, pulser).