Opgaver – Lille Dag#

Opgave 1: Python opgave#

Rekursive definitioner kan i den grad bruges til at lave computerberegninger. I denne opgave gives nogle eksempler på det.

Spørgsmål a#

Fakultetsfunktionen blev defineret i Example 5.1.1 fra lærebogen. Især blev der givet en rekursiv definition i Ligning (5.1) og en pseudokode beskrivelse i starten af eksempet (Algorithm 8). Om nødvendigt, genopfrisk din hukommelse, især hvad angår pseudokoden. Følgende Pythonkoden er en direkte “oversættelse” til Python af pseudokoden fra Algorithm 8 i lærebogen.

def fac(n):
    if n == 1: # This is the base case
        return 1
    else: # This is the recursive case
        return(fac(n-1)*n)

  

Kopier Pythonkoden ved at klikke i det grå tekstfelt øverst til høje. Indsæt bagefter teksten i command console Python. Afprøv nu kommandoen fac(5). Giver det resultatet du forventer? Hvad med fac(500) og fac(1000)?

Spørgsmål b#

For at afprøve rekursive definitioner yderligere, skriver nogen følgende Python kode for at definere en funktion \(h: \mathbb{N} \to \mathbb{R}\) rekursivt:

def h(n):
    if n == 1: # This is the base case
        return 11
    else: # This is the recursive case
        return(h(n**2-5*n+7))

  

Kopier koden ind i command console Python og kør kommandoerne h(1), h(2), h(3) og h(4). Check i hånden at outputtet er hvad det skulle være.

Spørgsmål c#

Prøv nu at beregne \(h(5)\) i hånden. Hvad er problemet? Afprøv alligevel kommandoen h(5) i Python, men husk at man kan afbryde Pythonprogrammet med Ctrl-c (dvs. tryk på Ctrl knappen, hold den indtrykket, mens man trykker på c knappen).


Opgave 2: Rekursioner af dybde to.#

Spørgsmål a#

En følge af tal \(c_1,c_2,c_3,\dots\) er defineret som følger:

\(c_1=3\), \(c_2=1\) og \(c_{n}=n\cdot c_{n-1}+c_{n-2}\) hvis \(n \ge 3\).

Beregn i hånden \(c_6\).

Spørgsmål b#

En anden følge af tal \(d_1,d_2,d_3,\dots\) er defineret som følger:

\(d_1=1\), \(d_2=2\) og \(d_{n}=d_{n-1}d_{n-2}-n+1\) hvis \(n \ge 3\).

Tjek at \(d_6=7\).


Opgave 3: Priknotation#

Givet et naturligt tal \(n\) og komplekse tal \(a_1,\dots,a_n\), så betegnes summen af disse komplekse tal med \(a_1+\cdots+a_n\) eller nogle gange også med \(a_1+a_2+\cdots+a_n\). I denne opgave undersøges nogle eksempler.

Spørgsmål a#

Der defineres \(a_k=2k\) for \(k=1,2,3,4\). Hvad er \(a_1+\cdots+a_n\) hvis \(n=4\)? Og hvad hvis \(n=3\)?

Spørgsmål b#

Det samme spørgsmål, men nu for \(n=2\) og for \(n=1\).

Spørgsmål c#

Betragt funktionen \(f: \mathbb{N} \to \mathbb{C}\) med forskrift \(f(k)=k^2-k\). Beregn \(f(1)+\cdots + f(n)\) for \(n=1,2,3\) og \(4\).


Opgave 4: Sumtegnet#

Sumtegnet blev defineret rekursivt i Ligning (5.5) i lærebogen. Dette spørgsmål handler om sumtegnet.

Spørgsmål a#

Beregn \(\sum_{k=1}^4 k^2\). Hvad er \(\sum_{k=1}^1 k^2\)?

Spørgsmål b#

Vi skriver \(k!\) for \(k\) facultet i denne opgave og benytter også den sædvanlige definition \(0!=1\).

Beregn \(\sum_{k=0}^4 1/k!\).


Opgave 5: Hermite polynomier.#

I denne opgave vil vi definere en følge af polynomier \(\mathrm{He}_0(Z), \mathrm{He}_1(Z), \dots \) med heltalskoefficienter som kaldes Hermitepolynomierne. Disse polynomier optræder i mange sammenhænge, blandt andet i signalbehandling, sandsynlighedsregning og kvantemekanik. Hermitepolynomierne kan defineres rekursivt som følger:

\(\mathrm{He}_0(Z)=1\), \(\mathrm{He}_1(Z)=Z\) og \(\mathrm{He}_n(Z)=Z\mathrm{He}_{n-1}(Z)-(n-1)\mathrm{He}_{n-2}(Z)\) hvis \(n \ge 2\).

Hvad er \(\mathrm{He}_n(Z)\) for \(n=0,1,\dots,4\)?


Opgave 6: En rekursiv defineret stamfunktion#

I Opgave 6 fra Uge 2 Lille Dag blev formlen \(\mathrm{arctan}'(x)=1/(1+x^2)\) nævnt. Det betyder at

\[\int \frac{1}{1+x^2} dx = \mathrm{arctan}(x)+C.\]

Hvis \(n\) er et naturligt tal, kan man ligeledes spørge om der findes en lignende formel til den ubestemte integral

\[\int \frac{1}{(1+x^2)^n} dx.\]

Det viser sig at der er en rekursiv løsning til dette spørgsmål.

Spørgsmål a#

Produktreglen siger at \((f(x)\cdot g(x))'=f(x)' \cdot g(x)+f(x) \cdot g(x)'\) (se eventuelt Appendix A.2 fra lærebogen for denne og andre regler angående differentiation). Gør rede for at

\[\int f(x)' \cdot g(x) dx = f(x)\cdot g(x) - \int f(x)\cdot g(x)' dx.\]

Denne formel kaldes for partiel integration.

Spørgsmål b#

Anvend partiel integration på \(f(x)=x\) og \(g(x)=1/(1+x^2)^n\) for at indse at

\[\int \frac{1}{(1+x^2)^n}dx = \frac{x}{(1+x^2)^n}+2n\int \frac{x^2}{(1+x^2)^{n+1}}dx.\]

Spørgsmål c#

Brug nu formlen

\[ \frac{x^2}{(1+x^2)^{n+1}}=\frac{1+x^2-1}{(1+x^2)^{n+1}}=\frac{1}{(1+x^2)^{n}}-\frac{1}{(1+x^2)^{n+1}} \]

for at konkludere at

\[\int \frac{1}{(1+x^2)^n}dx = \frac{x}{(1+x^2)^n}+2n\int \frac{1}{(1+x^2)^{n}}dx-2n\int \frac{1}{(1+x^2)^{n+1}}dx.\]

Løs nu for \(\int \frac{1}{(1+x^2)^{n+1}}dx\) i den sidste formel og konkluder at hvis \(n \ge 1\), så gælder

\[\int \frac{1}{(1+x^2)^{n+1}}dx = \frac{x}{2n(1+x^2)^n}+\frac{2n-1}{2n} \int \frac{1}{(1+x^2)^{n}}dx.\]

Dette formel er præcist hvad vi skulle bruge! Formlen udtrykker stamfunktionen til \(1/(1+x^2)^{n+1}\) som en sum af funktionen \(\frac{x}{2n(1+x^2)^n}\) og stamfunktionen af \(1/(1+x^2)^{n}\). Derfor kan formlen bruges til at finde stamfunktionen til \(1/(1+x^2)^{n+1}\) på en rekursiv måde.

Spørgsmål d#

Brug den fundne rekursion til at bestemme stamfunktionen til \(1/(1+x^2)^2\).