Pengenalan Library SymPy
SymPy adalah library Python yang digunakan untuk melakukan perhitungan simbolik dalam matematika. Dengan SymPy, ekspresi matematis dapat direpresentasikan, disederhanakan, dievaluasi, dan dimanipulasi secara simbolis, bukan hanya secara numerik. Tujuan dari SymPy adalah untuk menyediakan alat-alat yang memungkinkan perhitungan matematika dilakukan dengan akurasi simbolik yang tinggi, sehingga perhitungan seperti aljabar, kalkulus, dan operasi matriks dapat diselesaikan secara analitis.
12.1. Cara Import SymPy
Untuk menggunakan modul SymPy, Anda harus melakukan import terlebih dahulu. Berikut adalah cara standar untuk mengimport library SymPy:
12.2. Pendefinisian Simbol
Langkah pertama dalam komputasi simbolik adalah mendefinisikan simbol menggunakan fungsi `symbols()`. Ini memungkinkan variabel diperlakukan sebagai entitas aljabar yang dapat dimanipulasi secara matematis.
1. Mendefinisikan satu simbol:
x
2. Mendefinisikan beberapa simbol:
a + b + c
3. Mendefinisikan simbol variabel dengan indeks:
x1 + x2 + x3
4. Mendefinisikan simbol dengan notasi range:
x0 + x1 + x2 + x3 + x4
5. Mendefinisikan simbol Yunani:
α + β + γ
12.3. Aljabar Dasar
SymPy memungkinkan Anda melakukan operasi aljabar dasar secara simbolik. Ini termasuk penjumlahan, pengurangan, perkalian, dan pembagian, serta fungsi yang lebih canggih seperti `expand()` dan `simplify()`.
1. Penjumlahan Simbolik:
x + y
2. Pengurangan Simbolik:
x - y
3. Perkalian Simbolik:
x*y
4. Pembagian Simbolik:
x/y
5. Mengembangkan Ekspresi dengan `expand()`:
x**2 + 2*x*y + y**2
6. Menyederhanakan Ekspresi dengan `simplify()`:
1
12.4. Kalkulus Dasar
SymPy sangat kuat untuk operasi kalkulus seperti diferensiasi, integrasi, dan limit. Ini memungkinkan penyelesaian analitis dari masalah kalkulus.
1. Diferensiasi dengan `.diff()`:
3*x**2 + 4*x + 1
2. Pendefinisian Fungsi Trigonometri:
sin(x)
3. Integrasi Tak Tentu dengan `.integrate()`:
-cos(x)
4. Integrasi Tentu dengan `.integrate()`:
2
5. Pendefinisian Fungsi untuk Limit:
sin(x)/x
6. Menghitung Limit dengan `.limit()`:
1
7. Derivatif Orde Tinggi (`.diff()`):
12*x**2
12.5. Penyelesaian Persamaan Simbolik
Menyelesaikan persamaan adalah salah satu fitur inti SymPy. `solve()` digunakan untuk persamaan aljabar, dan `dsolve()` untuk persamaan diferensial.
1. Mendefinisikan Persamaan Simbolik (`sp.Eq()`):
x**2 - 4 == 0
2. Mendefinisikan Persamaan dengan Beberapa Variabel (`sp.Eq()`):
x**3 - 2 == 3*x + y - 2
3. Menyelesaikan Persamaan Aljabar (`sp.solve()`):
[-2, 2]
4. Menyelesaikan Sistem Persamaan Aljabar (`sp.solve()`):
{x: 3, y: 2}
5. Menyelesaikan Persamaan Diferensial Biasa (`sp.dsolve()`):
Eq(y(t), C1*exp(-t))
6. Menyelesaikan Persamaan Diferensial Orde Tinggi (`sp.dsolve()`):
Eq(y(t), C1*sin(t) + C2*cos(t))
12.6. Manipulasi Matriks
SymPy menyediakan berbagai alat untuk manipulasi matriks, yang mencakup pendefinisian matriks, operasi determinan, operasi invers, dan perkalian matriks.
1. Pendefinisian Matriks 2x2 (`sp.Matrix()`):
Matrix([[1, 2], [3, 4]])
2. Pendefinisian Matriks Nol 3x3 (`sp.zeros()`):
Matrix([[0, 0, 0], [0, 0, 0], [0, 0, 0]])
3. Pendefinisian Matriks Identitas 3x3 (`sp.eye()`):
Matrix([[1, 0, 0], [0, 1, 0], [0, 0, 1]])
4. Menghitung Determinan Matriks (`.det()`):
-2
5. Menghitung Invers Matriks (`.inv()`):
Matrix([[-2, 1], [3/2, -1/2]])
6. Perkalian Matriks:
Matrix([[19, 22], [43, 50]])
7. Transpose Matriks (`.T`):
Matrix([[1, 4], [2, 5], [3, 6]])
8. Reshape Matriks (`.reshape()`):
Matrix([[1, 2, 3], [4, 5, 6]])
12.7. Soal Latihan
Uji pemahaman Anda dengan menyelesaikan soal-soal latihan berikut menggunakan SymPy.
A. Mencari Akar Persamaan
Carilah akar-akar dari persamaan berikut (jika akar-akarnya imajiner atau tidak ada, tuliskan output apa yang muncul di layar):
- x - 2 = 0
- x^2 - 3x - 4 = 0
- x^2 - 6x + 9 = 0
- x^2 - x - 1 = 0
- x^3 - 6x^2 + 11x - 6 = 0
- x^3 - 7x^2 + 15x - 9 = 0
- x^5 + 7x^4 - 9x^2 + 15x + 2 = 0
- x^5 + 9x^2 + 2 = 0
Solusi untuk x - 2 = 0:
[2]
Solusi untuk x^2 - 3x - 4 = 0:
[-1, 4]
Solusi untuk x^2 - 6x + 9 = 0:
[3]
Solusi untuk x^2 - x - 1 = 0:
[1/2 - sqrt(5)/2, 1/2 + sqrt(5)/2]
Solusi untuk x^3 - 6x^2 + 11x - 6 = 0:
[1, 2, 3]
Solusi untuk x^3 - 7x^2 + 15x - 9 = 0:
[1, 3]
Solusi untuk x^5 + 7x^4 - 9x^2 + 15x + 2 = 0:
[RootOf(x**5 + 7*x**4 - 9*x**2 + 15*x + 2, 0), RootOf(x**5 + 7*x**4 - 9*x**2 + 15*x + 2, 1), RootOf(x**5 + 7*x**4 - 9*x**2 + 15*x + 2, 2), RootOf(x**5 + 7*x**4 - 9*x**2 + 15*x + 2, 3), RootOf(x**5 + 7*x**4 - 9*x**2 + 15*x + 2, 4)]
Solusi untuk x^5 + 9x^2 + 2 = 0:
[RootOf(x**5 + 9*x**2 + 2, 0), RootOf(x**5 + 9*x**2 + 2, 1), RootOf(x**5 + 9*x**2 + 2, 2), RootOf(x**5 + 9*x**2 + 2, 3), RootOf(x**5 + 9*x**2 + 2, 4)]
B. Mencari Turunan
Carilah turunan pertama (dy/dx) dari:
- y = x^3 + 3x^2 + 6x
- y = x^5 + x^4
- y = (3x + 5)^3
- y = (3 - 5x)^5
- y = sin(7x)
- y = sin(x^3)
- y = 1/(x - 1)
- y = 3x/(1 - x)
Solusi untuk y = x^3 + 3x^2 + 6x:
3*x**2 + 6*x + 6
Solusi untuk y = x^5 + x^4:
5*x**4 + 4*x**3
Solusi untuk y = (3x + 5)^3:
9*(3*x + 5)**2
Solusi untuk y = (3 - 5x)^5:
-25*(3 - 5*x)**4
Solusi untuk y = sin(7x):
7*cos(7*x)
Solusi untuk y = sin(x^3):
3*x**2*cos(x**3)
Solusi untuk y = 1/(x - 1):
-1/(x - 1)**2
Solusi untuk y = 3x/(1 - x):
3/(1 - x)**2
C. Mencari Integral Tentu
Carilah integral tentu (definite integral) dari:
- Integral dari x^3 dari 0 sampai 2
- Integral dari x^4 dari -1 sampai 2
- Integral dari (3x^2 - 2x + 3) dari -1 sampai 2
- Integral dari (4x^3 + 7) dari 1 sampai 2
- Integral dari 1/w^2 dari 1 sampai 4
- Integral dari 2/t^3 dari 1 sampai 3
- Integral dari akar(t) dari 0 sampai 4
- Integral dari akar pangkat 3 dari w dari 1 sampai 8
- Integral dari (y^2 + 1/y^3) dari -4 sampai -2
- Integral dari (s^4 - 8)/s^2 dari 1 sampai 4
- Integral dari cos x dari 0 sampai pi/2
- Integral dari 2 sin t dari pi/6 sampai pi/2
- Integral dari (2x^4 - 3x^2 + 5) dari 0 sampai 1
- Integral dari (x^(4/3) - 2x^(1/3)) dari 0 sampai 1
Solusi untuk Integral dari x^3 dari 0 sampai 2:
4
Solusi untuk Integral dari x^4 dari -1 sampai 2:
33/5
Solusi untuk Integral dari (3x^2 - 2x + 3) dari -1 sampai 2:
18
Solusi untuk Integral dari (4x^3 + 7) dari 1 sampai 2:
23
Solusi untuk Integral dari 1/w^2 dari 1 sampai 4:
3/4
Solusi untuk Integral dari 2/t^3 dari 1 sampai 3:
8/9
Solusi untuk Integral dari akar(t) dari 0 sampai 4:
16/3
Solusi untuk Integral dari akar pangkat 3 dari w dari 1 sampai 8:
45/4
Solusi untuk Integral dari (y^2 + 1/y^3) dari -4 sampai -2:
56/3 - 3/32
Solusi untuk Integral dari (s^4 - 8)/s^2 dari 1 sampai 4:
57/2
Solusi untuk Integral dari cos x dari 0 sampai pi/2:
1
Solusi untuk Integral dari 2 sin t dari pi/6 sampai pi/2:
1
Solusi untuk Integral dari (2x^4 - 3x^2 + 5) dari 0 sampai 1:
22/5
Solusi untuk Integral dari (x^(4/3) - 2x^(1/3)) dari 0 sampai 1:
-19/21
D. Mencari Determinan Matriks
Diberikan matriks A sebagai berikut. Dengan menggunakan library Sympy, carilah determinan dari matriks A.
Solusi untuk determinan matriks A:
-8