Hızlı Başlangıç
Bu sayfa, her dynlib kullanıcısının yaptığı ilk üç işlemde size yol gösterir: paketi kurmak, CLI sağlamasını yapmak ve Dynlib içinde tanımlı yerleşik (built-in) bir modeli çalıştırmak. Bundan sonra, kendi kendinize ilk modelinizi tanımlamak ve kendi model kataloğunuzu oluşturmanız için sizi İlk Modeliniz rehberine yönlendireceğiz.
Kurulum
Yeni bir çalışma alanı oluşturuyorsanız önce uygun bir sanal ortam kurup etkinleştirin (python -m venv .venv ardından Linux/macOS'ta source .venv/bin/activate, Windows PowerShell'de .\.venv\Scripts\Activate.ps1). Sanal ortam aktifken paket paylaşımını ve komut satırı giriş noktalarını yüklemek için:
Eğer kaynak kodu değiştirip geliştirmeye katkıda bulunmak isterseniz paketi github üzerinden indirip kurabilirsiniz:
İşlem boyunca sanal ortamı açık tutun; böylece dynlib ve bağımlılıkları diğer projelerden izole kalır.
CLI Doğrulama
Paketle gelen CLI, kurulumun başarılı olup olmadığını test etmek için kullanılabilir. Daha fazla örnek ve açıklama için CLI rehberi'ne bakın.
dynlib --versionveyapython -m dynlib.cli --versionkurulu paket sürümünü gösterir ve giriş noktalarının çalıştığını doğrular.dynlib model validate builtin://ode/lorenz.tomlyerleşik Lorenz modelini derler ve doğrular. Diğer yerleşik modellere debuiltin://ode/veyabuiltin://map/URI ifadeleri ile erişilebilir.dynlib steppers list --kind ode --jit_capableJIT destekli stepper'ları listeler,--stiffveya--jacobian optionalgibi filtrelerle listelenecek stepper'ları sınırlayabilirsiniz.dynlib cache pathderlenmiş runner'ların yerini söyler; önbelleği incelemek içindynlib cache list, temizlemek içindynlib cache clear --dry_runkomutunu kullanın.
Her komut --help seçeneğiyle ek bayrakları ve parametreleri gösterir (örneğin dynlib steppers list --help), böylece çalışma zamanı komutlarını kaynak koduna girmeden keşfedebilirsiniz.
Python'dan yerleşik bir modeli çalıştırma
dynlib.setup bir modeli derlerken stepper seçimini, JIT kullanımını ve veri kayıt stratejilerini tek yerden yönetmenizi sağlar. Aşağıdaki örnek Lorenz sistemini yükler, runner'ı derler, 15 zaman birimi boyunca simülasyonu yürütür ve x/z durumlarını çizim yardımcılarıyla grafik olarak çizdirir:
from dynlib import setup
from dynlib.plot import fig, series, export
sim = setup(
"builtin://ode/lorenz.toml",
stepper="rk4",
)
sim.run(T=15.0, dt=0.01)
res = sim.results()
print("Recorded states:", res.state_names)
print("Recorded steps:", len(res))
print("Final z value:", res["z"][-1])
ax = fig.single()
series.plot(x=res.t, y=res["x"], ax=ax, label="x")
series.plot(x=res.t, y=res["z"], ax=ax, label="z", xlabel="time")
export.show()
res bir ResultsView nesnesidir. res.t, res["state_name"], res.event_names() ve res.to_pandas() (pandas gerektirir) gibi yardımcılar veri kopyalamadan altta yatan bellek alanlarını (buffers) okur. Simülasyona devam etmek için resume=True seçeneğiyle tekrar run() komutu çalıştırılabilir. assign() komutu ile simülasyon ve model parametreleri değiştirilebilir.
Kendi modellerinizi kullanma
builtin:// URI'leri paketle gelen ODE'leri (lorenz, vanderpol, izhikevich vb.) ve haritaları (logistic, henon, standard vb.) keşfetmeyi kolaylaştırır. Kendi TOML dosyalarınızı kullanmak için dynlib'in sunduğu URI çözümleme seçeneklerine bakın:
- Inline (satır içi) TOML metinleri ile model oluşturma: Inline (satır içi) modelleme
- Mutlak veya göreli yollar (
/path/model.toml,my_model.toml).
.toml uzantısı ihmal edilebilir.
proj://my_model.tomlgibi etiket tabanlı URI'ler: Konfigürasyon ve Kayıt Defteri.- Konfigürasyon dosyasını düzenlemeden yeni URI etiketleri eklemek için
DYN_MODEL_PATH=proj=/extra/models:/more(Windows'ta;ile ayırın) gibi bir ortam değişkeni tanımlayın.=işaretinden önceki dize etiket adını, virgülle ayrılan yolları arama kökü olarak kullanır.
Konfigürasyon dosyanız şöyle görünebilir:
[tags]
proj = ["/Users/you/dynlib-models", "~/projects/other-models"]
tests = ["~/src/dynlib/tests/data/models"]
[cache]
cache_root = "/tmp/dynlib-cache"
proj etiketi tanımlandığında artık setup("proj://decay.toml"), dynlib model validate proj://decay.toml komutlarını çalıştırabilir veya diğer tanımlarda bu URI'yi referans verebilirsiniz.
Sonraki adımlar
- İlk Modeliniz ile kendi DSL tanımınızı yazmaya devam edin ve doğrulama akışını pekiştirin.
- Rehberler → Modelleme ve Rehberler → Simülasyon üzerinden stepper'lar, kayıt seçenekleri ve runner yapılandırmaları hakkında detaylı bilgi edinin.
- Rehberler → Analiz ve Örnekler sayfalarında çizim, sabit nokta analizi, Lyapunov üsteli hesaplayıcıları gibi ek araçları keşfedin.
dynlib cache list,dynlib cache clear --dry_runvedynlib model validategibi CLI komutlarıyla cache ve model doğrulamasını pratik edin; detaylı CLI kullanımı için CLI rehberi'ni inceleyin.