本文へ移動
cccskills
無料GitHub で公開

scipy-best-practices

Best practices for SciPy scientific computing, optimization, signal processing, and statistical analysis in Python

インストール方法を見る

含まれるファイル(1)

  • SKILL.md4.3 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

SciPy Best Practices

Expert guidelines for SciPy development, focusing on scientific computing, optimization, signal processing, and statistical analysis.

Code Style and Structure

  • Write concise, technical Python code with accurate SciPy examples
  • Prioritize numerical accuracy and computational efficiency
  • Use functional programming patterns for mathematical operations
  • Prefer vectorized operations over explicit loops
  • Use descriptive variable names reflecting scientific context
  • Follow PEP 8 style guidelines

scipy.optimize - Optimization

  • Use scipy.optimize.minimize() for general-purpose optimization
  • Choose appropriate method based on problem characteristics:
    • 'BFGS' for smooth, unconstrained problems
    • 'L-BFGS-B' for bounded problems
    • 'SLSQP' for constrained optimization
    • 'Nelder-Mead' for non-differentiable functions
  • Provide gradients when available for faster convergence
  • Use scipy.optimize.curve_fit() for nonlinear least squares fitting
  • Use scipy.optimize.root() for finding roots of equations

scipy.linalg - Linear Algebra

  • Prefer scipy.linalg over numpy.linalg for additional functionality
  • Use scipy.linalg.solve() instead of computing matrix inverse
  • Leverage specialized solvers for structured matrices (banded, triangular)
  • Use scipy.linalg.lu_factor() and lu_solve() for multiple right-hand sides
  • Use sparse matrix solvers from scipy.sparse.linalg for large sparse systems

scipy.stats - Statistics

  • Use distribution objects for probability calculations
  • Leverage scipy.stats.describe() for summary statistics
  • Use hypothesis testing functions: ttest_ind(), chi2_contingency(), mannwhitneyu()
  • Generate random samples with .rvs() method on distributions
  • Use .fit() for parameter estimation from data

scipy.interpolate - Interpolation

  • Use scipy.interpolate.interp1d() for 1D interpolation
  • Use scipy.interpolate.griddata() for scattered data interpolation
  • Choose appropriate interpolation method: 'linear', 'cubic', 'nearest'
  • Use spline functions for smooth interpolation: UnivariateSpline, BSpline
  • Consider RegularGridInterpolator for regular grid data

scipy.integrate - Integration

  • Use scipy.integrate.quad() for single integrals
  • Use scipy.integrate.dblquad(), tplquad() for multiple integrals
  • Use scipy.integrate.solve_ivp() for ordinary differential equations
  • Choose appropriate ODE method: 'RK45', 'BDF', 'LSODA'
  • Provide Jacobian for stiff systems to improve performance

scipy.signal - Signal Processing

  • Use scipy.signal.butter(), cheby1(), ellip() for filter design
  • Apply filters with scipy.signal.filtfilt() for zero-phase filtering
  • Use scipy.signal.welch() for power spectral density estimation
  • Use scipy.signal.find_peaks() for peak detection
  • Leverage scipy.signal.convolve() and correlate() for convolution

scipy.sparse - Sparse Matrices

  • Use appropriate sparse format for your use case:
    • csr_matrix for efficient row slicing and matrix-vector products
    • csc_matrix for efficient column slicing
    • coo_matrix for constructing sparse matrices
    • lil_matrix for incremental construction
  • Convert to optimal format before operations
  • Use scipy.sparse.linalg solvers for sparse linear systems

Performance Optimization

  • Use appropriate data types (float64 for precision, float32 for memory)
  • Leverage BLAS/LAPACK through SciPy for optimized linear algebra
  • Pre-allocate arrays when possible
  • Use in-place operations when available

Error Handling and Validation

  • Check convergence status of optimization routines
  • Validate numerical results for reasonableness
  • Handle ill-conditioned problems gracefully
  • Use appropriate tolerances for convergence criteria

Testing Scientific Code

  • Test against known analytical solutions
  • Use np.testing.assert_allclose() for numerical comparisons
  • Test edge cases and boundary conditions
  • Verify conservation laws and invariants

Key Conventions

  • Import specific submodules: from scipy import optimize, stats, linalg
  • Use snake_case for variables and functions
  • Document algorithm choices and parameters
  • Include convergence diagnostics in output

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

12-agent academic paper writing pipeline. 10 modes (full/plan/outline/revision/revision-coach/abstract/lit-review/format-convert/citation-check/disclosure). 6 paper types, 5 citation formats, bilingual abstracts, LaTeX/DOCX-via-Pandoc/PDF output. Style Calibration + Writing Quality Check + Anti-Patterns with IRON RULE markers. Triggers: write paper, academic paper, guide my paper, parse reviews, AI disclosure, 寫論文, 學術論文, 引導我寫論文, 審查意見.

日本語の概要は準備中です。原文の説明を表示しています。

bouclem/skills62026年5月31日 更新

Multi-perspective academic paper review with dynamic reviewer personas. Simulates 5 independent reviewers (EIC + 3 peer reviewers + Devil's Advocate) with field-specific expertise. Supports full review, re-review (verification), quick assessment, methodology focus, Socratic guided, and calibration modes. Triggers on: review paper, peer review, manuscript review, referee report, review my paper, critique paper, simulate review, editorial review, calibrate reviewer, reviewer calibration, measure reviewer accuracy.

日本語の概要は準備中です。原文の説明を表示しています。

bouclem/skills62026年5月31日 更新

Orchestrator for the full academic research pipeline: research -> write -> integrity check -> review -> revise -> re-review -> re-revise -> final integrity check -> finalize. Coordinates deep-research, academic-paper, and academic-paper-reviewer into a seamless 10-stage workflow with mandatory integrity verification, two-stage peer review, and reproducible quality gates. Triggers on: academic pipeline, research to paper, full paper workflow, paper pipeline, end-to-end paper, research-to-publication, complete paper workflow.

日本語の概要は準備中です。原文の説明を表示しています。

bouclem/skills62026年5月31日 更新

Create, iterate, and scale paid ad creative for Google Ads, Meta, LinkedIn, TikTok, and similar platforms. Use when generating headlines, descriptions, primary text, or large sets of ad variations for testing and performance optimization.

日本語の概要は準備中です。原文の説明を表示しています。

bouclem/skills62026年5月31日 更新

This skill should be used when the user asks to "implement LLM-as-judge", "compare model outputs", "create evaluation rubrics", "mitigate evaluation bias", or mentions direct scoring, pairwise comparison, position bias, evaluation pipelines, or automated quality assessment.

日本語の概要は準備中です。原文の説明を表示しています。

bouclem/skills62026年5月31日 更新

AI agent development workflow for building autonomous agents, multi-agent systems, and agent orchestration with CrewAI, LangGraph, and custom agents.

日本語の概要は準備中です。原文の説明を表示しています。

bouclem/skills62026年5月31日 更新

bouclem のスキルをすべて見る

このスキルの問題を報告する