🔢 linalg - Lineer Cebir

Matrix, Vector, LU/QR/SVD, Eigenvalues

43
function
848
lines
25 KB
Boyut

🚀 Quick Start

import linalg

// Matrix createma
let A = linalg.matris([[1, 2], [3, 4]])
let B = linalg.matris([[5, 6], [7, 8]])

// Matrix işlemleri
let C = linalg.matris_topla(A, B)
let D = linalg.matris_çarp(A, B)
let A_ters = linalg.ters(A)
let det = linalg.determinant(A)

// Vector işlemleri
let v1 = [1.0, 2.0, 3.0]
let v2 = [4.0, 5.0, 6.0]
let nokta = linalg.nokta_çarpım(v1, v2)  // 32.0
let norm = linalg.norm(v1)  // 3.742

// Decomposition
let (L, U) = linalg.lu_ayrıştır(A)
let (Q, R) = linalg.qr_ayrıştır(A)
let (U, S, Vt) = linalg.svd(A)

// Eigenvalues
let özdeğerler = linalg.eigenvalues(A)

📚 function Kategorileri

💡 Exampleler

Lineer Sistem Çözme (Ax = b)

import linalg

// 2x + 3y = 8
// 4x + 5y = 14

let A = linalg.matris([[2, 3], [4, 5]])
let b = [8, 14]

let x = linalg.lineer_sistem_çöz(A, b)
yazdır("Çözüm: x = " + x[0].yazıya() + ", y = " + x[1].yazıya())

Principal Component Analysis (PCA)

import linalg, stats

function pca(X: Matris, n_bileşen: tamsayı) -> Matris do
    // Veriyi merkeze al
    let X_ortalanmış = stats.merkeze_al(X)
    
    // Kovaryans matrisi
    let Σ = linalg.matris_çarp(linalg.transpoz(X_ortalanmış), X_ortalanmış)
    
    // Eigenvalue decomposition
    let (özdeğerler, özVectorler) = linalg.eig(Σ)
    
    // En büyük n_bileşen'i seç
    let pc = linalg.alt_matris(özVectorler, 0, n_bileşen)
    
    // Transform
    return linalg.matris_çarp(X_ortalanmış, pc)
end

let veri = linalg.matris([[1, 2], [3, 4], [5, 6]])
let dönüştürülmüş = pca(veri, 1)

← All Modules