Sie sind auf Seite 1von 2

1. Übungsblatt

(a)

1 Schreiben Sie eine Scilab-Funktion x = tri_solve(L,b), die die Dreiecks- Gleichungssystem Lx = b löst, in dem L eine n × n untere Dreiecksmatrix ist. (Das einfachste Lösungs-Verfahren heisst Vorwärtssubstitution.) Testen Sie Ihre Funktion durch Vergleich mit der in Scilab eingebauten \(“backslash”) Funktion. (Eine bequeme Methode zur zufälligen Erzeugung von L und b ist die Funktion rand().) Wenn Sie überzeugt sind, dass ihre Funktion korrekt arbeitet, wenden Sie sie auf folgendes System an:

L =

 

1 0

2

3

0

0

4

b =

1.0

0.5


1

1 ,

1

2

.
3

Erwarteter Output: Lösungsvektor x =

 

.
0.125

Bonus: Stoppen Sie die Rechenzeit T 0 Ihrer Funktion und T 1 der \-Funktion mit der Funktion timer() für verschiedene Werte von n. Vergleichen Sie die Ergebnisse, indem Sie T 0 (n) und T 1 (n) als Funktion von n plotten. Können Sie feststellen mit welchen Exponenten α die beiden Kurven anwachsen (T (n) n α ), wenn Sie eine doppelt-logarithmische Darstellung verwenden? Hinweis:

Finden Sie die beiden Funktionen f β (x) = x β , die im doppelt-logarithmischen Diagramm dieselben Steigungen haben wie T 0 (n) und T 1 (n). Erwarteter Output: Plot von T 0 (n) und T 1 (n), zusammen mit zwei passen- den Funktionen f β (x).

2 Auf dem Moodle-Server finden Sie eine Datei lr_zerlegung.sci mit der Funktion [B,z] = lr(A,pv). Sie berechnet die LR-Zerlegung der Matrix A, sodaß

(b)

P A = LR

gilt. Die Ausgabematrix B enthält sowohl L wie auch R (siehe Kommentare im Code). Der Zeilenvertauschungsvektor z hängt mit der Permutationsmatrix über

P

1

2

.

.

.

n

= z

zusammen. Das Argument pv = %T oder %F gibt an, ob Spaltenpivotisierung ver- wendet wird oder nicht. Schreiben Sie eine Funktion x = lr_solve(A,b,pv), wel- che das Gleichungssystem Ax = b mit Hilfe des Outputs der LR-Zerlegung von lr löst.

Berechnen Sie mit Hilfe ihrer Funktion die Lösung des Gleichungssystems Ax = b einmal ohne und einmal mit Pivotisierung, für

A = 10 17 1

1

1

,

b = 2 .

1

(1)

Scientific Computing UE, SS 2014

1. Übungsblatt

Vergleichen Sie die Ergebnisse! Welches ist das ”richtige” Ergebnis und warum?

Erwarteter Output: Lösungsvektor x, berechnet mit und ohne Pivotisierung.

Die ”korrekte” Lösung ist x = 1.0 1.0

3 Die Fermi-Dirac-Verteilungsfunktion

f( ) =

1

µ

1 + exp(

k B

T )

gibt für Fermionen die Besetzungswahrscheinlichkeit eines Zustandes mit der Ener- gie bei der Temperatur T und dem chemischen Potential µ an. Berechnen Sie die

Wahrscheinlichkeit p( ) = 1 f ( ), dass ein Zustand unbesetzt ist, für T = 300 K,

, 1.9, 2

eV. Möglicherweise bekommen Sie für < 1.0 eV numerische Probleme und kön- nen p( ) nicht von Null unterscheiden. Wenn ja, sehen Sie sich die Formel für p( ) noch einmal an und formen Sie um! Warum erhalten Sie jetzt ein anderes Ergebnis?

Erwarteter Output: Tabelle mit Werte-Paaren { , p( )}:

µ = 0 eV, k B = 8.6173324 × 10 5 eV/K und Energien = 0.1, 0.2,

(eV)

p( )

-0.1

2.05e-02

-0.2

4.36e-04

-0.3

9.12e-06

-0.4

1.91e-07

-0.5

3.98e-09

-0.6

8.33e-11

-0.7

1.74e-12

-0.8

3.64e-14

-0.9

7.60e-16

-1.0

1.59e-17

-1.1

3.32e-19

-1.2

6.93e-21

-1.3

1.45e-22

-1.4

3.03e-24

-1.5

6.33e-26

-1.6

1.32e-27

-1.7

2.76e-29

-1.8

5.77e-31

-1.9

1.21e-32

-2.0

2.52e-34

Scientific Computing UE, SS 2014