SymPy ile Sembolik Matematik İşlemleri

SymPy Nedir?

 SymPy sembolik matematik işlemlerini gerçekleştirebileceğimiz, Python diliyle geliştirilmiş bir kütüphanedir. Türev, integral, diferansiyel, denklem çözme, matris işlemleri ve istatistiksel işlemler gibi birçok alanda fayda sağlar. Ayrıca fizik ve kimya alanlarında da oldukça faydalı işlevler barındırmaktadır.

Öncelikle SymPy kütüphanemizi ve diğer gerekli kütüphaneleri yükleyelim.

Sympy yükleme
Görsel-1-Sympy-Yükleme

1. Temel İşlemler

Temel bazı matematiksel işlemleri yapabilmek için öncelikle x ve y olarak iki sembol tanımlayalım, daha sonra bazı sembolik matematik işlemlerinin çıktısına bakalım.

Görsel-2-Sembol-Oluşturma

SymPy temel sembollerin yanı sıra alfa, beta ve theta gibi sembolleri de oluşturmaya olanak sağlar.

Görsel-3-Sembol-Oluşturma

Şimdi integral gösterimlerinin nasıl yapıldığına bakalım.

Görsel-4-Sympy-İntegral-Oluşturma

SymPy, türev, limit, toplam ve çarpım sembollerini de kolayca oluşturmamıza olanak sağlar.

Görsel-5-Sympy-Türev-Limit-Toplam-Çarpım

Ayrıca  Eq() ile eşitlik fonksiyonu da oluşturabiliriz. İşlem sonucunu görmek istiyorsak da doit() fonksiyonunu kullanabiliriz. Bu konuda işimize yarayacak bir diğer fonksiyon ise evalf() fonksiyonudur ve kaç basamak hesaplama yapacağımızı belirlememizi sağlar. Fonksiyon oluşturmak için ise Function() fonksiyonunu kullanmak faydalı olacaktır.

Görsel-6-Toplam-Eq-evalf

Binom ve faktöriyel işlemlerini de SymPy ile yapmak mümkün. Şimdi bunu nasıl yapabileceğimize bakalım.

Görsel-7-Sympy-Binom-Faktöriyel

2. Simplify(), Expand(),Factor(),Apart() ve Together()

Simplify() fonksiyonu kısaca  matematiksel ifadeyi basite indirgemeye yarıyor. Bunu örneklerle daha anlaşılabilir hale getirelim.

Görsel-8-Sympy-Simplify

factor() fonksiyonu ise polinom ifadeleri indirgenemez çarpanlara ayırır.

Görsel-9-Sympy-Factor

expand() fonksiyonu da factor() fonksiyonun tam tersi şeklinde çalışır ve matematiksel ifadeyi çarpanlara ayırır.

Görsel-10-Sympy-expand

Şimdi together() ve apart() fonksiyonlarının işlevine bakalım.

Görsel-11-Sympy-together-apart

3.  Denklem Çözme

Denklem çözmek için solveset() fonksiyonunu kullanabiliriz. Tanım kümesi belirtmek istiyorsak domain parametresini kullanabiliriz.

Görsel-12-Sympy-solveset

Lineer denklemler için linsolve(), lineer olmayan denklemler için de nonlinsolve() fonksiyonunu kullanabiliriz.

Görsel-13-Sympy-linsolve-nonlinsolve

4. Matris İşlemleri

SymPy kütüphanesi, birçok matris işlemini kolayca yapmaya olanak sağlar. Şimdi bunlardan bazılarını görelim.

Görsel-14-Sympy-Matris-İşlemleri

Görsel-15-Matris-İşlemleri-2

Görsel-16-Matris-İşlemleri-3

5.Grafik Oluşturma

Görsel-17-Sympy-Grafik-Oluşturma

SymPy’da plot() fonksiyonu ile kolayca grafik oluşturabiliriz. Şimdi-x grafiğini çizelim.

Aynı anda birden fazla fonksiyonun grafiğini oluşturmak da mümkün.

Görsel-18-Sympy-Grafik-Oluşturma-2

Şimdi yapay sinir ağlarında aktivasyon fonksiyonu olarak kullanılan sigmoid fonksiyonunu çizelim.

Görsel-19-Sympy-Grafik-Oluşturma-3

SymPy ile üç boyutlu grafikler de çizebiliyoruz. Şimdi sigmoid fonksiyonunu üç boyutlu olarak çizelim.

Görsel-20-Sympy-Grafik-Oluşturma-4

 

SymPy kütüphanesi tabi ki de bunlarla sınırlı değil. Fizik, kimya ve optimizasyon gibi alanlar için SymPy kullanılarak geliştirilmiş birçok kütüphane mevcut. SymPy ile ilgili daha fazla bilgiye buradan ulaşabilirsiniz.

Eğer yaptıklarınızı Word dosyasına kaydetmek istiyorsanız ve Jupyter Notebook kullanıyorsanız File>Download as>Markdown(.md) komutlarını takip ederek önce dosyanızı Markdown olarak kaydedip daha sonra buradan Word dosyasına çevirebilirsiniz.

Bu yazı için hazırladığım notebook’un tamamına ise buradan ulaşabilirsiniz.

Diğer yazılarım için :  https://www.datasciencearth.com/author/ferhatmetin/ 

                                                                                                                Ferhat METİN

Data Science Earth

Data Science Earth ekibi, üst düzey Veri Bilim çözümleri üretmek amacı ile toplanmış akademisyenler ve uzmanlardan oluşmaktadır. Öncelikli olarak veri bilincini geliştirmeyi ve küreselleşen rekabet ortamında verinin gücünün doğru kullanılmasını sağlamayı amaçlamaktadır.

Sponsor

QuestionPro 35 farklı soru seçim özelliği ile anket çalışmalarımıza güç katmaktadır.