Zeynep Yeşim KoçCode · Math · Chemistry
Laboratuvar & Araştırma Notları28 Ekim 20263 dk okuma

Nümerik Analizden Reaksiyon Kinetiğine: Matris Algoritmaları ve Diferansiyel Denklemler

İyileştirilmiş Euler Yöntemi, Cholesky Ayrışımı ve Power Method algoritmalarının kimyasal reaksiyon ağları ve kuantum kimyası hesaplamalarındaki karşılıkları.

#Hesaplamalı Kimya#Veri Analizi#Kimya#Literatür

Teorik matematik eğitimim boyunca C# ve MATLAB üzerinde kodladığım nümerik analiz algoritmalarının, kimya laboratuvarındaki gerçek fiziksel sistemleri açıklarken bu kadar doğrudan karşılık bulması beni her seferinde heyecanlandırıyor. Bu notta, daha önce geliştirdiğim Numerical Analysis & Matrix Algorithms Suite içindeki üç temel yöntemin kimyasal problemlere nasıl uygulandığını inceliyorum.


1. İyileştirilmiş Euler Yöntemi (Heun Metodu) ile Ardışık Reaksiyon Kinetiği

Bir A→k1B→k2CA \xrightarrow{k_1} B \xrightarrow{k_2} C ardışık reaksiyon sisteminde, türlerin konsantrasyonlarının zamana göre değişimi adi diferansiyel denklem (ODE) sistemi ile tanımlanır:

d[A]dt=−k1[A],d[B]dt=k1[A]−k2[B],d[C]dt=k2[B]\frac{d[A]}{dt} = -k_1 [A], \quad \frac{d[B]}{dt} = k_1 [A] - k_2 [B], \quad \frac{d[C]}{dt} = k_2 [B]

Analitik çözümün zorlaştığı doğrusal olmayan (nonlinear) çok adımlı mekanizmalarda İyileştirilmiş Euler (Heun) Yöntemi, standart Euler yöntemine göre O(h2)O(h^2) global hata mertebesiyle çok daha kararlı sonuçlar verir:

y~n+1=yn+h f(tn,yn)\tilde{y}_{n+1} = y_n + h \, f(t_n, y_n) yn+1=yn+h2[f(tn,yn)+f(tn+1,y~n+1)]y_{n+1} = y_n + \frac{h}{2} \left[ f(t_n, y_n) + f(t_{n+1}, \tilde{y}_{n+1}) \right]
csharp
// C# ile İyileştirilmiş Euler (Heun) Adımı - Konsantrasyon Vektörü Güncellemesi
public static double[] HeunStep(
    Func<double, double[], double[]> rateLaw,
    double t,
    double[] concentrations,
    double dt)
{
    int n = concentrations.Length;
    double[] k1 = rateLaw(t, concentrations);
    double[] predictor = new double[n];

    for (int i = 0; i < n; i++)
        predictor[i] = concentrations[i] + dt * k1[i];

    double[] k2 = rateLaw(t + dt, predictor);
    double[] next = new double[n];

    for (int i = 0; i < n; i++)
        next[i] = concentrations[i] + 0.5 * dt * (k1[i] + k2[i]);

    return next;
}

2. Cholesky Ayrışımı ve Spektroskopik Kalibrasyon

Kantitatif analizde UV-Vis veya FTIR spektrumlarından çok bileşenli konsantrasyon tahmini yaparken En Küçük Kareler (Least Squares) problemi çözeriz. Normal denklemlerdeki kovaryans matrisi A=XTX\mathbf{A} = \mathbf{X}^T \mathbf{X} simetrik ve pozitif tanımlı olduğunda, Cholesky Ayrışımı (A=LLT\mathbf{A} = \mathbf{L}\mathbf{L}^T) standart LU ayrışımına kıyasla iki kat daha hızlı ve sayısal olarak çok daha kararlıdır:

Ljj=Ajj−∑k=1j−1Ljk2,Lij=1Ljj(Aij−∑k=1j−1LikLjk)(i>j)L_{jj} = \sqrt{A_{jj} - \sum_{k=1}^{j-1} L_{jk}^2}, \quad L_{ij} = \frac{1}{L_{jj}} \left( A_{ij} - \sum_{k=1}^{j-1} L_{ik} L_{jk} \right) \quad (i > j)

3. Power Method ve Moleküler Orbital Özdeğerleri

Hückel moleküler orbital teorisinde veya Markov zinciri tabanlı konformasyon geçiş matrislerinde en baskın özdeğeri (λmax⁡\lambda_{\max}) ve özvektörü bulmak için Power Method temel bir yapı taşıdır:

v(k+1)=Av(k)∥Av(k)∥2,λ(k)=(v(k))TAv(k)(v(k))Tv(k)\mathbf{v}^{(k+1)} = \frac{\mathbf{A} \mathbf{v}^{(k)}}{\|\mathbf{A} \mathbf{v}^{(k)}\|_2}, \quad \lambda^{(k)} = \frac{(\mathbf{v}^{(k)})^T \mathbf{A} \mathbf{v}^{(k)}}{(\mathbf{v}^{(k)})^T \mathbf{v}^{(k)}}

Laboratuvar Notu Özeti

  • Diferansiyel Denklemler: Reaksiyon hız yasalarının zamansal simülasyonu.
  • Lineer Cebir & Cholesky: Sensör kalibrasyonu ve Gauss Süreci regresyonunda çekirdek (kernel) matrisinin tersinin alınması.
  • Özdeğer Analizi: Moleküler kararlılık ve temel bileşen analizi (PCA).