Modul 4 — Jembatan ke Jupyter
Modul 4 — Jembatan ke Jupyter
Padanan cerita, hitungan, dan kode (penjelasan tambahan)
| Bagian cerita | Langkah manual atau konsep | Perintah pada blok di bawah |
|---|---|---|
| Struk menyediakan informasi berbeda | Determinan sama dengan 1 | np.linalg.det(Q) |
| Aturan balik dari kofaktor | Adjoin dibagi determinan | adj/d |
| Harga dengan Cramer | Ganti kolom barang dengan pembayaran | Aj[:, j] = b |
| Pita satu meter membentuk lingkaran | Cari koefisien D, E, F | DEF = np.linalg.solve(...) |
| Titik pada garis atau lantai | Determinan titik-titik sama dengan nol | Dua pemeriksaan np.linalg.det pada akhir blok |
Array DEF menyimpan koefisien persamaan lingkaran, bukan koordinat titik. Keluaran 0, 0, -1 menghasilkan persamaan lingkaran satuan. Sifat OBE pada determinan dijelaskan dengan hitungan manual sebelumnya.
import numpy as np
Q = np.array([[2., 1.], [1., 1.]])
b = np.array([7., 5.])
d = np.linalg.det(Q)
adj = np.array([[1., -1.], [-1., 2.]])
assert np.allclose(Q @ (adj/d), np.eye(2))
cramer = []
for j in range(2):
Aj = Q.copy()
Aj[:, j] = b
cramer.append(np.linalg.det(Aj)/d)
print(d, cramer) # 1, [2, 3]
P = np.array([[1., 0.], [0., 1.], [-1., 0.]])
DEF = np.linalg.solve(np.column_stack((P, np.ones(3))),
-np.sum(P**2, axis=1))
print(DEF) # [0, 0, -1], lingkaran satuan
assert np.allclose(np.sum(P**2, axis=1) + P @ DEF[:2] + DEF[2], 0)
assert np.isclose(np.linalg.det([[.5,.5,1],[0,0,1],[1,1,1]]), 0)
assert np.isclose(np.linalg.det([[.2,.3,0,1],[0,0,0,1],
[1,0,0,1],[0,1,0,1]]), 0)