Skip to main content

BudiajiMatrix

PyPI version License: MIT

BudiajiMatrix adalah library Python untuk pengolahan matrix yang lengkap dan mudah digunakan. Cocok untuk keperluan analisis time series, GSTAR, VARIMA, dan berbagai analisis statistik lainnya.

🚀 Fitur Utama

  • Operasi Dasar: Penjumlahan, pengurangan, perkalian, pembagian matrix
  • Dekomposisi: Cholesky, QR, LU, SVD, Eigendecomposition, Schur
  • Nilai Karakteristik: Determinant, trace, rank, norm, condition number, eigenvalues, eigenvectors
  • Properti Matrix: Cek simetris, positif definit, orthogonal, singular, diagonal
  • Statistik: Mean, variance, standard deviation, covariance, correlation
  • Normalisasi: Normalisasi baris/kolom, standardisasi
  • Solving Systems: Linear system solver, least squares
  • Matrix Power: Pangkat, exponential, logarithm, square root
  • Dan banyak lagi!

📦 Instalasi

pip install budiajimatrix

💡 Cara Penggunaan

Import Library

import numpy as np
from budiajimatrix import transpose, multiply, eigenvalues, inverse, covariance

Contoh Penggunaan Dasar

import numpy as np
from budiajimatrix import transpose, multiply, add

# Buat matrix
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])

# Transpose
print("Transpose A:")
print(transpose(A))
# Output:
# [[1 3]
#  [2 4]]

# Perkalian matrix
print("A × B:")
print(multiply(A, B))
# Output:
# [[19 22]
#  [43 50]]

# Penjumlahan
print("A + B:")
print(add(A, B))
# Output:
# [[ 6  8]
#  [10 12]]

Eigenvalues dan Eigenvectors

from budiajimatrix import eigenvalues, eigenvectors

A = np.array([[4, 2], [1, 3]])

# Hitung eigenvalues (akar ciri)
eig_vals = eigenvalues(A)
print("Eigenvalues:", eig_vals)

# Hitung eigenvectors (vektor ciri)
eig_vecs = eigenvectors(A)
print("Eigenvectors:")
print(eig_vecs)

Dekomposisi Matrix

from budiajimatrix import svd, qr_decomposition, cholesky

# Singular Value Decomposition
A = np.array([[1, 2], [3, 4], [5, 6]])
U, S, Vt = svd(A)
print("U:", U)
print("S:", S)
print("Vt:", Vt)

# QR Decomposition
A = np.array([[12, -51, 4], [6, 167, -68], [-4, 24, -41]])
Q, R = qr_decomposition(A)
print("Q:", Q)
print("R:", R)

# Cholesky (untuk matrix positif definit)
A = np.array([[4, 12], [12, 37]])
L = cholesky(A)
print("L:", L)

Statistik Matrix

from budiajimatrix import covariance, correlation, mean, std

# Data matrix (observasi × variabel)
data = np.array([[1, 2, 3],
                 [4, 5, 6],
                 [7, 8, 9],
                 [10, 11, 12]])

# Covariance matrix
cov_matrix = covariance(data)
print("Covariance Matrix:")
print(cov_matrix)

# Correlation matrix
corr_matrix = correlation(data)
print("Correlation Matrix:")
print(corr_matrix)

# Mean per kolom
print("Mean:", mean(data, axis=0))

# Standard deviation per kolom
print("Std:", std(data, axis=0))

Normalisasi dan Standardisasi

from budiajimatrix import standardize, normalize_rows

data = np.array([[1, 2, 3],
                 [4, 5, 6],
                 [7, 8, 9]])

# Standardisasi (mean=0, std=1)
standardized = standardize(data)
print("Standardized:")
print(standardized)

# Normalisasi per baris
normalized = normalize_rows(data)
print("Normalized Rows:")
print(normalized)

Properti Matrix

from budiajimatrix import is_symmetric, is_positive_definite, rank, determinant

A = np.array([[2, 1], [1, 2]])

# Cek simetris
print("Symmetric?", is_symmetric(A))

# Cek positif definit
print("Positive Definite?", is_positive_definite(A))

# Rank
print("Rank:", rank(A))

# Determinant
print("Determinant:", determinant(A))

Solving Linear Systems

from budiajimatrix import solve_linear_system, least_squares

# Solve Ax = b
A = np.array([[3, 1], [1, 2]])
b = np.array([9, 8])
x = solve_linear_system(A, b)
print("Solution x:", x)

# Least squares (untuk overdetermined system)
A = np.array([[1, 1], [1, 2], [1, 3]])
b = np.array([2, 3, 4])
x = least_squares(A, b)
print("Least Squares Solution:", x)

📚 Dokumentasi Lengkap

Operasi Dasar

  • add(matrix1, matrix2) - Penjumlahan matrix
  • subtract(matrix1, matrix2) - Pengurangan matrix
  • multiply(matrix1, matrix2) - Perkalian matrix
  • element_multiply(matrix1, matrix2) - Perkalian elemen per elemen
  • scalar_multiply(matrix, scalar) - Perkalian dengan skalar
  • divide(matrix, scalar) - Pembagian dengan skalar

Transformasi

  • transpose(matrix) - Transpose matrix
  • inverse(matrix) - Inverse matrix
  • pseudo_inverse(matrix) - Moore-Penrose pseudo-inverse
  • conjugate(matrix) - Konjugat matrix
  • adjoint(matrix) - Adjoint matrix

Dekomposisi

  • cholesky(matrix) - Dekomposisi Cholesky
  • qr_decomposition(matrix) - Dekomposisi QR
  • lu_decomposition(matrix) - Dekomposisi LU
  • svd(matrix) - Singular Value Decomposition
  • eigendecomposition(matrix) - Dekomposisi Eigen
  • schur(matrix) - Dekomposisi Schur

Nilai Karakteristik

  • determinant(matrix) - Determinan
  • trace(matrix) - Trace
  • rank(matrix) - Rank
  • norm(matrix, ord) - Norm matrix
  • condition_number(matrix) - Condition number
  • eigenvalues(matrix) - Eigenvalues (akar ciri)
  • eigenvectors(matrix) - Eigenvectors (vektor ciri)

Properti Matrix

  • is_symmetric(matrix) - Cek simetris
  • is_positive_definite(matrix) - Cek positif definit
  • is_orthogonal(matrix) - Cek orthogonal
  • is_singular(matrix) - Cek singular
  • is_diagonal(matrix) - Cek diagonal

Matrix Khusus

  • identity(n) - Identity matrix n×n
  • zeros(shape) - Matrix nol
  • ones(shape) - Matrix satu
  • diagonal(values) - Diagonal matrix
  • random_matrix(shape, distribution) - Random matrix

Statistik

  • mean(matrix, axis) - Mean
  • variance(matrix, axis) - Variance
  • std(matrix, axis) - Standard deviation
  • covariance(matrix) - Covariance matrix
  • correlation(matrix) - Correlation matrix

Operasi Baris/Kolom

  • row_sum(matrix) - Jumlah per baris
  • col_sum(matrix) - Jumlah per kolom
  • row_mean(matrix) - Mean per baris
  • col_mean(matrix) - Mean per kolom
  • normalize_rows(matrix) - Normalisasi per baris
  • normalize_cols(matrix) - Normalisasi per kolom
  • standardize(matrix) - Standardisasi matrix

Solving Systems

  • solve_linear_system(A, b) - Solve Ax = b
  • least_squares(A, b) - Least squares solution

Matrix Power

  • matrix_power(matrix, n) - Matrix pangkat n
  • matrix_exp(matrix) - Matrix exponential
  • matrix_log(matrix) - Matrix logarithm
  • matrix_sqrt(matrix) - Matrix square root

Distance/Similarity

  • frobenius_distance(matrix1, matrix2) - Jarak Frobenius
  • cosine_similarity(vector1, vector2) - Cosine similarity

🛠️ Requirements

  • Python >= 3.7
  • NumPy >= 1.18.0
  • SciPy >= 1.4.0

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

👨‍💻 Author

Budi Aji

🤝 Contributing

Contributions, issues, and feature requests are welcome!

⭐ Show your support

Give a ⭐️ if this project helped you!

Metadata

Release files for budiajimatrix 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for budiajimatrix 1.0.0
File Size Uploaded
budiajimatrix-1.0.0.tar.gz 8.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for budiajimatrix 1.0.0
File Interpreter ABI Platform
budiajimatrix-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 16.0 kB

Release files / budiajimatrix-1.0.0.tar.gz

Download URL budiajimatrix-1.0.0.tar.gz
Size 8.0 kB
Tags Source
SHA-256 checksum
How to use checksums
20f1aaf5f48c8598f73f88ee81d47a53463575273987612b5137d9a90dcf78ec
BLAKE2b-256 checksum
How to use checksums
18618434a13fb18fb3d83fbd194b49d3fcf3bd17c6533739fdbdc2d3d93529fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.7

Release files / budiajimatrix-1.0.0-py3-none-any.whl

Download URL budiajimatrix-1.0.0-py3-none-any.whl
Size 7.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5a51dd55a61f850271f1e84cdb24cdfd56bc90f6c5f41f97b1e402fd57793676
BLAKE2b-256 checksum
How to use checksums
5a96fa5c680f4be7c668725297220c75f9655235cc63143e282930655294c757
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.7

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page