numpy-linalg
Imported from https://github.com/benchflow-ai/SkillsBench.
Packaged view
This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.
Install command
npx @skill-hub/cli install benchflow-ai-skillsbench-numpy-linalg
Repository
Skill path: registry/terminal_bench_2.0/full_batch_reviewed/terminal_bench_2_0_model-extraction-relu-logits/environment/skills/numpy-linalg
Imported from https://github.com/benchflow-ai/SkillsBench.
Open repositoryBest for
Primary workflow: Analyze Data & AI.
Technical facets: Full Stack, Data / AI.
Target audience: everyone.
License: Unknown.
Original source
Catalog source: SkillHub Club.
Repository owner: benchflow-ai.
This is still a mirrored public skill entry. Review the repository before installing into production workflows.
What it helps with
- Install numpy-linalg into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
- Review https://github.com/benchflow-ai/SkillsBench before adding numpy-linalg to shared team environments
- Use numpy-linalg for development workflows
Works across
Favorites: 0.
Sub-skills: 0.
Aggregator: No.
Original source / Raw SKILL.md
--- name: numpy-linalg description: Linear algebra operations in NumPy, including matrix multiplication, SVD, system solving, and least squares fitting. Triggers: linalg, matrix multiplication, SVD, eigenvalues, matrix decomposition, lstsq, multi_dot. --- ## Overview NumPy's `linalg` module provides high-performance implementations for standard linear algebra routines. It leverages optimized backends (like BLAS/LAPACK) for operations such as Singular Value Decomposition (SVD), batch equation solving, and least-squares optimization. ## When to Use - Solving systems of linear equations ($Ax = b$). - Dimensionality reduction or matrix reconstruction using SVD. - Optimizing chains of matrix multiplications to reduce FLOPs. - Finding best-fit solutions for overdetermined systems. ## Decision Tree 1. Multiplying two matrices? - Use the `@` operator (modern standard). 2. Multiplying 3+ matrices? - Use `np.linalg.multi_dot` to optimize multiplication order. 3. Is the matrix square and full-rank? - Yes: Use `np.linalg.solve`. - No: Use `np.linalg.lstsq` for a best-fit solution. ## Workflows 1. **Solving Multiple Linear Systems in Batch** - Organize coefficient matrices into a stack of shape (K, M, M). - Organize ordinate values into a stack of shape (K, M). - Call `np.linalg.solve(a, b)` to compute all solutions simultaneously. 2. **Rank-Reduced Reconstruction via SVD** - Perform Singular Value Decomposition using `np.linalg.svd(a, full_matrices=False)`. - Set small singular values in 's' to zero to perform noise reduction. - Reconstruct the matrix using `(u * s) @ vh`. 3. **Least Squares Fitting for Overdetermined Systems** - Construct the matrix 'A' of variables and vector 'b' of results. - Use `np.linalg.lstsq(A, b)` to find the solution that minimizes the Euclidean 2-norm. - Retrieve the coefficients and residuals from the returned tuple. ## Non-Obvious Insights - **Modern Operator:** The `@` operator is preferred over `dot()` for 2D matrix products for readability and intent. - **Multi-Dot Optimization:** `multi_dot` uses dynamic programming to find the optimal parenthesization of matrix products, which can significantly speed up calculations with varying matrix sizes. - **Batch Processing:** Most `linalg` functions support "stacked" arrays, processing multiple independent problems in leading dimensions automatically. ## Evidence - "The @ operator... is preferable to other methods when computing the matrix product between 2d arrays." [Source](https://numpy.org/doc/stable/reference/routines.linalg.html) - "a must be square and of full-rank... if either is not true, use lstsq for the least-squares best “solution”." [Source](https://numpy.org/doc/stable/reference/generated/numpy.linalg.solve.html) ## Scripts - `scripts/numpy-linalg_tool.py`: Demonstrates SVD reconstruction and batch solving. - `scripts/numpy-linalg_tool.js`: Simulated vector normalization logic. ## Dependencies - `numpy` (Python) ## References - [references/README.md](references/README.md)