Physikalische Grundlagen der Nuklearmedizin/ Mathematischer Anhang

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.