Physikalische Grundlagen der Nuklearmedizin/ Mathematischer Anhang

Aus Wikibooks
Zur Navigation springen Zur Suche springen

Einleitung[Bearbeiten]

Hier wollen wir Herleitungen der im Kapitel über dynamische Studien angegeben Formeln im Detail vorführen. Wir werden die mathematischen Verfahren mit der für Physiker üblichen Schlampigkeit zusammenfrickeln, aber zügig die gesuchten Ergebnisse erhalten. Wir werden so kleinschrittig vorgehen, dass Studenten technischer Studiengänge, die Vorlesungen über Analysis und Lineare Algebra besucht haben, die Rechnungen meist ohne Hilfsmittel nachvollziehen können. Für Mediziner ist das Kapitel kaum verständlich, da technische Rechenmethoden benutzt werden[1].


  1. Experimentelle Untersuchungen den Stoff, durch Gabe von Tetrahydrocannabinol, für Mediziner verständlicher zu machen sind in den Niederlanden geplant, nachdem in Süddeutschland durchgeführte Versuche mit C2H6O keine signifikanten Verbesserungen zeigen konnten.

Mathematische Hilfsmittel[Bearbeiten]

Wir haben es mit Differenzialgleichungssystemen zu tun. Diese haben die allgemeine Form

Hierbei die eine vektorwertige Funktion und eine Matrix mit konstanten Koeffizienten.

Ferner gibt es eine Anfangsbedingung der Form:

Die Matrix ist ein Abbildung eines Vektorraumes in sich selbst:

Ein Eigenvektor von zum Eigenwert ist definiert durch die Eigenschaft:

Die Lösungen der Gleichung ergeben sich nach der Englischen Wikipedia, sofern man paarweise verschiedene Eigenwerte mit zugehörigen Eigenvektoren hat, zu:

Wobei Konstanten darstellen die später durch die Anfangsbedingung festgelegt werden können. Wir wollen kurz nachrechnen das Funktionen dieser Art tatsächlich Lösungen sind:

Also ist der zitierte Wikipedia-Artikel korrekt.

Zur Bestimmung der berechnen wir für

In Matrixschreibweise:

Entsprechend ergibt sich durch Inversion von

Damit ist das Problem der Lösung aller hier auftretenden Differentialgleichung auf die Bestimmung von Eigenwerten und Eigenvektoren sowie der Lösung von linearen Gleichungssystemen reduziert. Für diese Arbeiten empfiehlt sich die Verwendung eines Computeralgebrasystems. Wir werden hier Wolfram Alpha verwenden, da es zur Zeit leicht zugänglich ist. Natürlich sind andere Systeme ebenso geeignet. Ferner werden wir alle Berechnungen so notieren, dass sie auch ohne Computeralgebrasystem ohne weiteres nachvollziehbar sind.

Wir wollen noch kurz erläutern wie man eigenwerte und Eigenvektoren von Hand bestimmen kann. Offenbar gilt:

Dabei steht für die Einheitsmatrix und für den Nullvektor. Damit diese Gleichung Erfüllt ist muss offenbar gelten:

Der Ausdruck ergibt ein Polynom in welches in den hier betrachten Fällen immer Grad 2 hat und somit explizit gelöst werden kann. Man nennt es das charakteristische Polynom. Wir geben noch die Formeln zur Berechnung von Determinanten im zwei- und dreidimensionalen Fall an:

und

Die allgemeinen Lösungen einer quadratischen Gleichung der Form

lauten:

Ferner gelten die als Satz von Vieta bekannten Aussagen:

In den betrachteten Systemen ist die Gesamtracermenge über die Zeit erhalten. Demnach ist die Summe der Komponenten von konstant. Als Formel:

Es folgt:

Nach den Rechenregeln der Matrizenrechung gilt:

Damit ist im Spezialfall :

Summiert man also alle Elemente jeweils einer Spalte von auf und ist die Summe immer gleich Null egal welche Spalte man wählt, so ist sichergestellt das die Gesamttracermenge eine Erhaltungsgröße des Modells ist.

Zwei Abteilungs Modell -(geschlossenes System)[Bearbeiten]

Graphische Darstellung des geschlossenen Zweiabteilungssystems

Schreiben wir dieses Bild als Formel auf so erhalten wir:

und

mit der Anfangsbedingung:

In Matrixform:


und

Wir lassen Eigenwerte und Eigenvektoren berechnen.

Man kann dieses Ergebnis leicht in die Matrixgleichung einsetzen und erkennt das es sich tatsächlich um Eingenvektoren zu den angegebenen Eigenwerten handelt. Dieser Schritt wichtig um die Berechnung komplett unabhängig von Computeralgebrasystem nachvollziehen zu können.

Aus der Anfangsbedingung erkennt unmittelbar:

und somit:

Einsetzen liefert:

Entsprechend erhalten wir die angegeben Lösungen:

und


Zweiabteilungsmodell - Offenes System[Bearbeiten]

Open catenary two compartment model.

Aus der Abbildung ergibt sich folgende Differenzialgleichung

mit der Anfangsbedingung:

In Martixform:


und

Wiederum lassen wir Eigenwerte und Eigenvektoren berechnen.

Durch eine kurze Kopfrechnung vergewissern wir uns, dass es sich bei den angegebenen Zahlen und Matrizen tatsächlich um Eigenwerte und Eigenvektoren der Matrix handelt.

Aus der Anfangsbedingung erkennt unmittelbar:

und:

Einsetzen liefert:

Somit finden wir die angegeben Lösungen:

und




Zweiabteilungsmodell - offenes mamillares system[Bearbeiten]

Open mamillary two compartment model.

Aus der Zeichnung erkennt man:

Die Anfangsbedingungen lauten:

In Matrixform:

und

Auch hier bemühen wir den Computer um Eigenwerte und Eigenvektoren zu berechnen:

Die unteren Zeilen der Eigenwertgleichungen verifiziert man leicht im Kopf. Für die oberen ist es hilfreich sich zu vergegenwärtigen, das die Gleichungen für und sehr an die Lösungen quadratischer Gleichungen erinnern. Es gilt insbesondere:

Wobei man für sowohl als auch einsetzen darf. Die oberen Zeilen der beiden Eigenwertgleichungen können wir zusammenfassend schreiben als:

Dies lässt sich vereinfachen zu:

Setzt man die Definitionen von und auf der linken Seite ein so erhält man:

Da jedoch die oben genannte quadratische Gleichung erfüllt ist damit gezeigt, dass die Eigenwertgleichungen erfüllt sind.


Aus der Anfangsbedingung erkennt unmittelbar:

und:

Laut Definition von und gilt:

sowie nach binomischer Formel:

Wir ersetzen:

Damit ist:


Einsetzen liefert:

Somit finden wir die angegeben Lösungen:

und



Dreiabteilungsmodell[Bearbeiten]

Renal clearance model.

Aus der Zeichnung erkennt man:



Die Anfangsbedingungen lauten:

In Matrixform:

und

Das Forderung nach verschwinden der Determinante lautet:

Dies lässt sich vereinfachen zu:

Hieraus ergeben sich die Eigenwerte:


Auch hier bemühen wir den Computer um Eigenvektoren zu berechnen:



Die unteren Zeilen der Eigenwertgleichungen verifiziert man leicht im Kopf, genauso alle Gleichungen für . Für die oberen erhalten wir:


Wobei wir als zusammenfassende Notation für als auch verwendet haben. Dies können wir vereinfachen zu:

Man erhält hieraus eine quadratische Gleichung

diese ist uns oben jedoch bereits begegnet und mit der dort angegeben Begründung erfüllt.

Aus der Anfangsbedingung erkennt unmittelbar:

und

Dies ergibt sofort:

Weiterhin ergibt sich aus der Anfangsbedingung:

und damit:

mit den Satz von Vieta hat man

Damit ist:


Einsetzen liefert:

Somit finden wir die angegeben Lösungen:

Wobei wir angenommen haben Man verfiziert die Aussage

durch einfache Kopfrechnung. Ferner gilt:

somit:

und damit:

Womit auch diese Identität gezeigt ist.

Wir wollen kurz den Spezialfall der zur Erstellung der Graphen Verwendet wurde im Detail betrachten. Das folgende in der Programmiersprache Python geschriebene Programm berechnet diesen Spezialfall.


from math import *
k_12=0.05
k_13=0.04
k_31=0.06
a=k_12+k_13+k_31
b=k_12*k_31
p=a/2.0
x1=-p-sqrt(p*p-b)
x2=-p+sqrt(p*p-b)
print ("k12",k_12)
print ("k13",k_13)
print ("k31",k_31)
print ("")
print ("l1=",-x1)
print ("l2=",-x2)
kappa=k_13/(x1-x2)
nu=lambda x:-kappa*k_12*(x+k_31)/(k_13*x)
eps=lambda x:kappa*(x+k_31)/k_13
print ("a1=",eps(x1))
print ("a2=",-eps(x2))
print ("a3=",nu(x1))
print ("a4=",-nu(x2))
print ("a5=",-kappa)

Die Ausgabe lautet:

k12 0.05
k13 0.04
k31 0.06

l1= 0.12623475383
l2= 0.0237652461702
a1= 0.646385010942
a2= 0.353614989058
a3= 0.256024981763
a4= 0.743975018237
a5= 0.390360029179

Damit ist gezeigt das die für diesen Spezialfall angegebenen Zahlenwerte korrekt sind.


Renographie[Bearbeiten]

Renal clearance model.

Aus der Zeichnung erkennt man:



Die Anfangsbedingungen lauten:

In Matrixform:

und

Nun bricht selbst unser Computeralgebrasystem zusammen. Gibt uns aber noch einen Hinweis das wir von Hand eine Lösung finden könnten.

Um die Determinante zu berechnen wenden wir den Laplaceschen Entwicklungsatz auf die 5 te Zeile an.

mit

Durch Laplaceentwicklung nach der letzten Spalte erkennt man dass:


Und die zweite Determinante kann der Computer berechnen:

Es ergeben sich sofort folgende Eigenwerte:


Offenbar gilt:

Weiterhin ist wie wir gleich sehen werden:

Die zweiten Zeilen der Eigenwertgleichungen sind klar. Die ersten lassen sich zusammenfassend schreiben als:

was offensichtlich erfüllt ist. Die verbleiben drei unteren Zeilen der Eigenwertgleichungen sind ebenfalls leicht nachzuvollziehen, wo bei man ggfs. Papier und Bleistif zur Hilfe nehmen kann.

Aus der Anfangsbedingung erkennt unmittelbar:

und

Dies ergibt sofort:

Ferner erkennt man durch Auswertung der dritten Zeile der Anfangsbedingung:

Wir stellen fest das die allgemeine Lösung folgende Form hat:

Wir haben bislang die Frage nach offen gelassen und beantworten sie nun mit der aus der Anfangsbedinung folgenden Gleichung:

Hiermit kann man alle gesuchten Parameter berechen.

Wir wollen kurz den Spezialfall der zur Erstellung der Graphen Verwendet wurde im Detail betrachten. Das folgende in der Programmiersprache Python geschriebene Programm berechnet diesen Spezialfall.

from math import *
k12=0.15
k13=0.15
k31=0.05
k45=0.30
k56=0.20



q0=1.0

a=k12+k13+k31
b=k12*k31
p=-a/2.0
l1=0.0
l2=p-sqrt(p*p-b)
l3=p+sqrt(p*p-b)
l4=-k45
l5=-k56

nu1=lambda x:(x+k31)/k13
nu2=1.0
nu3=lambda x:nu1(x)*k12/(x+k45)
nu4=lambda x:nu3(x)*k45/(x+k56)
nu5=lambda x:nu4(x)*k56/x


m1=0.0
m2=q0*k13/(l2-l3)
m3=-m2
gamma=lambda x: (x+k31)/(x+k45)
m4=m2*(k12/k13)*( gamma(l3)-gamma(l2) )
m5=-(k45/(k56-k45))*m4+m2*(nu4(l3)-nu4(l2))


a=[0]*17
a[1]=m2*nu1(l2)
a[2]=m3*nu1(l3)
a[3]=m2
a[4]=m3
a[5]=m2*nu3(l2)
a[6]=m3*nu3(l3)
a[7]=m4
a[8]=m2*nu4(l2)
a[9]=m3*nu4(l3)
a[10]=m4*k45/(k56-k45)
a[11]=m5
a[12]=m2*nu5(l2)
a[13]=m3*nu5(l3)
a[14]=m4*k56/(k45-k56)
a[15]=-m5
a[16]=-a[12]-a[13]-a[14]-a[15]

print("k12=",k12)
print("k13=",k13)
print("k31=",k31)
print("k45=",k45)
print("k56=",k56)
print("q0",q0)


print ("l2=",l2)
print ("l3=",l3)
print ("l4=",l4)
print ("l5=",l5)

for i in range(15):
  j=i+1
  print("a"+str(j)+"=",a[j])

f2="*exp(%.5f*x)"%l2
f3="*exp(%.5f*x)"%l3
f4="*exp(%.5f*x)"%l4
f5="*exp(%.5f*x)"%l5

g2=("*%.5f"%l2)+f2
g3=("*%.5f"%l3)+f3
g4=("*%.5f"%l4)+f4
g5=("*%.5f"%l5)+f5


s=lambda x:"%.3f" %a[x]
q1=s(1)+f2+"+"+s(2)+f3
q3=s(3)+f2+"+"+s(4)+f3
i=s(5)+f2+"+"+s(6)+f3+"+"+s(7)+f4
j=s(8)+f2+"+"+s(9)+f3+"+"+s(10)+f4+"+"+s(11)+f5
k=s(12)+f2+"+"+s(13)+f3+"+"+s(14)+f4+"+"+s(15)+f5+"+"+s(16)

print ("q1(x)="+q1)
print ("q3(x)="+q3)
print ("q4(x)="+i)
print ("q5(x)="+j)
print ("q6(x)="+k)
print ("q4+q5="+i+"+ "+j)
print ("0.05*q1+0.02*q3=0.05*("+q1+")+ 0.02*("+q3+")")
print ("(0.05*q1+0.02*q3)+0.5*(q4+q5)=0.05*("+q1+")+ 0.02*("+
	q3+")"+"+ 0.5*("+i+"+ "+j+")" )

#print ("plot "+k)
print (a[1]+a[2])
print (a[3]+a[4])
print (a[5]+a[6]+a[7])
print (a[8]+a[9]+a[10]+a[11])
print (a[12]+a[13]+a[14]+a[15]+a[16])
print (a[12]+a[13]+a[14]+a[15])

m=[[-k12-k13  , k31 , 0 , 0 , 0 ],
[k13 ,-k31 , 0 , 0 , 0 ],
[k12 , 0 , -k45 , 0 ,0 ],
[0 , 0 , k45 , -k56 ,0 ],
[0 , 0 , 0 , k56 ,0 ]]

print (str(m).replace("[","{").replace("]","}"))

Die Ausgabe lautet:

k12= 0.15
k13= 0.15
k31= 0.05
k45= 0.3
k56= 0.2
q0 1.0
l2= -0.327069063257
l3= -0.0229309367425
l4= -0.3
l5= -0.2
a1= 0.910997468263
a2= 0.0890025317366
a3= -0.493196961916
a4= 0.493196961916
a5= -5.04818430323
a6= 0.048184303233
a7= 5.0
a8= 11.918363543
a9= 0.0816364570071
a10= -15.0
a11= 3.0
a12= -7.28797974611
a13= -0.712020253893
a14= 10.0
a15= -3.0
q1(x)=0.911*exp(-0.32707*x)+0.089*exp(-0.02293*x)
q3(x)=-0.493*exp(-0.32707*x)+0.493*exp(-0.02293*x)
q4(x)=-5.048*exp(-0.32707*x)+0.048*exp(-0.02293*x)+5.000*exp(-0.30000*x)
q5(x)=11.918*exp(-0.32707*x)+0.082*exp(-0.02293*x)+-15.000*exp(-0.30000*x)+3.000*exp(-0.20000*x)
q6(x)=-7.288*exp(-0.32707*x)+-0.712*exp(-0.02293*x)+10.000*exp(-0.30000*x)+-3.000*exp(-0.20000*x)+1.000
q4+q5=-5.048*exp(-0.32707*x)+0.048*exp(-0.02293*x)+5.000*exp(-0.30000*x)+ 11.918*exp(-0.32707*x)+0.082*exp(-0.02293*x)+-15.000*exp(-0.30000*x)+3.000*exp(-0.20000*x)
0.05*q1+0.02*q3=0.05*(0.911*exp(-0.32707*x)+0.089*exp(-0.02293*x))+ 0.02*(-0.493*exp(-0.32707*x)+0.493*exp(-0.02293*x))
(0.05*q1+0.02*q3)+0.5*(q4+q5)=0.05*(0.911*exp(-0.32707*x)+0.089*exp(-0.02293*x))+ 0.02*(-0.493*exp(-0.32707*x)+0.493*exp(-0.02293*x))+ 0.5*(-5.048*exp(-0.32707*x)+0.048*exp(-0.02293*x)+5.000*exp(-0.30000*x)+ 11.918*exp(-0.32707*x)+0.082*exp(-0.02293*x)+-15.000*exp(-0.30000*x)+3.000*exp(-0.20000*x))
1.0
0.0
0.0
-1.7763568394e-15
0.0
-1.0
{{-0.3, 0.05, 0, 0, 0}, {0.15, -0.05, 0, 0, 0}, {0.15, 0, -0.3, 0, 0}, {0, 0, 0.3, -0.2, 0}, {0, 0, 0, 0.2, 0}}

Damit ist gezeigt das die für diesen Spezialfall angegebenen Zahlenwerte korrekt sind.