# Compare Methods

> ライブラリ内の類似した信号処理手法の技術的・物理的な違いを分析し、比較解説付きのノートブックセクションを作成する

- Skill: `majiayu000/compare-methods` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/compare-methods`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/compare-methods/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/compare-methods

---


# Document Method Comparison

This skill provides a procedure for creating educational sections in Jupyter Notebooks that compare two or more methods (e.g., `gwpy` vs `gwexpy`).

## Instructions

1.  **Technical Analysis**:
    *   Examine the source code of both methods to identify implementation differences.
        - **Averaging/Integration**: Does it downsample the data using a sliding window? (e.g., `gwpy.heterodyne`)
        - **Filtering**: Does it use a Low-Pass Filter (LPF) like Butterworth or FIR? (e.g., `gwexpy.lock_in`)
    *   Compare numerical characteristics like time resolution and frequency response (aliasing).

2.  **Physical/Conceptual Context**:
    *   Check if there are differences between engineering definitions and package conventions.
        - Example: `gwpy.heterodyne` effectively performing "Homodyne" detection relative to the carrier frequency.
    *   Identify the target use case for each (e.g., stationary signal vs transient analysis).

3.  **Construct Comparative Sample Code**:
    *   Create a synthetic signal that highlights the differences (e.g., a signal with rapid amplitude/phase changes).
    *   Execute both methods on the same input signal with comparable parameters (e.g., matching the averaging stride with the filter bandwidth).
    *   Visualize results in a single plot for direct comparison.
        - Use `plt.step(..., where='post')` for discrete averaged data.
        - Use `plt.plot(...)` for continuous filtered data.

4.  **Draft Markdown Explanation**:
    *   Use tables to summarize differences (Algorithm, Resolution, Post-Processing, Features).
    *   Provide a clear summary statement on "which method to choose" for specific user goals (e.g., "Use `.lock_in()` for control system transient response").

5.  **Integration**:
    *   Use Python scripts to inject these cells (Markdown and Code) into the target `.ipynb` file, typically appending to the end or inserting into a relevant section.

