Skip to main content

linear-algebra

Master linear algebra operations including matrix manipulation, vector spaces, eigenvalues, and linear transformations for scientific computing and machine learning applications.

Ir a la instalación

Datos de origen

Repositorio
NeuralBlitz/Agent-Gateway
Última actividad en el origen
9 de abril de 2026 a las 10:58
Idioma detectado de SKILL.md
inglés
Estrellas
1
Forks
0

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
name
Linear Algebra
description
Master linear algebra operations including matrix manipulation, vector spaces, eigenvalues, and linear transformations for scientific computing and machine learning applications.
license
MIT
compatibility
python>=3.8
audience
data-scientists, engineers, physicists, mathematicians
category
mathematics
# Linear Algebra ## What I Do I provide comprehensive linear algebra capabilities including matrix operations, vector space computations, eigenvalue problems, singular value decomposition, and linear transformations essential for scientific computing, machine learning, and engineering applications. ## When to Use Me - Solving systems of linear equations - Dimensionality reduction with SVD/PCA - Eigenvalue computations for stability analysis - Linear transformations in graphics and robotics - Quantum state representations - Machine learning weight transformations ## Core Concepts - **Matrix Operations**: Multiplication, inversion, factorization - **Vector Spaces**: Basis, span, orthogonality, projections - **Eigenvalues/Eigenvectors**: Spectral decomposition, diagonalization - **Linear Transformations**: Mappings, rank, null space - **Matrix Factorizations**: LU, QR, SVD, Cholesky - **Least Squares**: Normal equations, pseudoinverse - **Matrix Decompositions**: Eigendecomposition, Schur, Jordan ## Code Examples ### Matrix Operations ```python import numpy as np from numpy.linalg import inv, det, eig, svd A = np.array([[3, 1], [1, 2]]) B = np.array([[1, 2], [2, 1]]) matrix_mult = np.dot(A, B) matrix_inv = inv(A) matrix_det = det(A) print(f"Matrix multiplication:\n{matrix_mult}") print(f"Determinant: {matrix_det}") ``` ### Eigenvalue Decomposition ```python A = np.array([[4, 2], [2, 3]]) eigenvalues, eigenvectors = eig(A) print(f"Eigenvalues: {eigenvalues}") print(f"Eigenvectors:\n{eigenvectors}") normalized_eigenvectors = eigenvectors / np.linalg.norm(eigenvectors, axis=0) ``` ### Singular Value Decomposition ```python M = np.array([[1, 2], [3, 4], [5, 6]]) U, s, Vt = svd(M) print(f"U matrix:\n{U}") print(f"Singular values: {s}") print(f"V transpose:\n{Vt}") reconstructed = U @ np.diag(s) @ Vt print(f"Reconstructed:\n{reconstructed}") ``` ### Solving Linear Systems ```python A = np.array([[2, 1], [1, 3]]) b = np.array([5, 8]) x = np.linalg.solve(A, b) print(f"Solution: {x}") least_squares_solution = np.linalg.lstsq(A, b, rcond=None)[0] ``` ### Vector Projections and Orthogonality ```python v = np.array([1, 2, 3]) u = np.array([1, 0, 1]) proj = np.dot(v, u) / np.dot(u, u) * u orthogonal = v - proj print(f"Projection of v onto u: {proj}") print(f"Orthogonal component: {orthogonal}") print(f"Dot product (should be ~0): {np.dot(proj, orthogonal)}") ``` ## Best Practices 1. **Preconditioning**: Use well-conditioned matrices to avoid numerical instability 2. **Sparse Matrices**: Use scipy.sparse for large sparse systems 3. **Memory Efficiency**: Consider dtype float32 for large matrices 4. **Parallelization**: Use BLAS libraries for optimized matrix operations 5. **Numerical Stability**: Prefer QR decomposition over direct inversion ## Common Patterns ```python # Power iteration for largest eigenvalue def power_iteration(A, max_iter=100, tol=1e-10): b_k = np.random.rand(A.shape[1]) for _ in range(max_iter): b_k_next = np.dot(A, b_k) b_k_next = b_k_next / np.linalg.norm(b_k_next) if abs(np.dot(b_k, b_k_next)) > 1 - tol: break b_k = b_k_next return b_k, np.dot(b_k, np.dot(A, b_k)) # Gram-Schmidt orthogonalization def gram_schmidt(vectors): basis = [] for v in vectors: for b in basis: v = v - np.dot(v, b) / np.dot(b, b) * b if np.linalg.norm(v) > 1e-10: basis.append(v / np.linalg.norm(v)) return np.array(basis) ``` ## Core Competencies 1. Matrix operations and factorizations 2. Eigenvalue/eigenvector computations 3. Singular value decomposition 4. Linear system solving 5. Vector space operations and projections
Ver en GitHub