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 para a instalação

Informações da origem

Repositório
NeuralBlitz/Agent-Gateway
Última atividade na origem
9 de abril de 2026 às 10:58
Idioma detectado do SKILL.md
inglês
Estrelas
1
Forks
0

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
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 no GitHub