$ show mph-/lcapy
Lcapy is a Python library for symbolic linear circuit analysis and signal processing. It enables analysis of circuits in multiple domains (time, s-domain, frequency, discrete-time) using SymPy for symbolic mathematics. The library supports netlist-based circuit description, circuit solving via modified nodal analysis, transfer function analysis, noise analysis, state-space representation, and schematic generation using Circuitikz. It is designed for educational, research, and engineering applications in electrical engineering, providing both symbolic and numeric analysis capabilities.
The LLM identified 5 files worth highlighting for reuse:
Defines the Expr class as a facade for SymPy expressions with circuit analysis extensions. Uses mixin inheritance for modular features (printing, container operations, misc utilities) and a factory function to create appropriate expression objects. Demonstrates clean separation of concerns and extensible design for symbolic manipulation with domain and quantity awareness.
Provides a unified plotting interface for time, frequency, Bode, Nyquist, Nichols, and pole-zero plots across different domains. Delegates to domain-specific plotting functions while maintaining consistent API. Shows good abstraction for visualization needs in circuit analysis.
Handles schematic generation using Circuitikz with layout hints and automatic node placement. Separates circuit logic from drawing concerns, allowing customizable vector graphics output. Demonstrates good encapsulation of complex LaTeX/TikZ generation.
Implements superposition principle for linear circuits by decomposing signals into domain-specific components (DC, AC, transient, noise). Provides clean separation of analysis concerns and enables modular circuit analysis. Shows good application of a fundamental circuit theory concept in code.
Provides parameter fitting capabilities using SciPy for curve fitting to measurement data. Enables model parameter extraction from experimental data, bridging symbolic analysis with empirical data. Demonstrates good integration of optimization techniques for practical engineering applications.