paramrf 0.26.0__tar.gz → 0.26.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {paramrf-0.26.0/paramrf.egg-info → paramrf-0.26.4}/PKG-INFO +3 -1
- {paramrf-0.26.0 → paramrf-0.26.4}/README.rst +2 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/docs/api/index.rst +1 -1
- {paramrf-0.26.0 → paramrf-0.26.4}/docs/examples/model_optimization.rst +1 -1
- {paramrf-0.26.0 → paramrf-0.26.4}/docs/tutorials/1_cable_fitting.ipynb +2 -2
- paramrf-0.26.4/docs/tutorials/2_chip_inductor_fitting.ipynb +518 -0
- paramrf-0.26.4/docs/tutorials/data/on-chip-inductor.s2p +405 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/docs/tutorials/index.rst +2 -1
- {paramrf-0.26.0 → paramrf-0.26.4}/paper/paper.md +3 -3
- {paramrf-0.26.0 → paramrf-0.26.4/paramrf.egg-info}/PKG-INFO +3 -1
- {paramrf-0.26.0 → paramrf-0.26.4}/paramrf.egg-info/SOURCES.txt +7 -2
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/__init__.py +1 -1
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/models/base.py +61 -17
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/models/components/ideal.py +1 -20
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/models/components/lumped.py +175 -202
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/models/components/sections.py +16 -103
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/models/composite/interconnected.py +17 -1
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/parameters.py +23 -12
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/rf/__init__.py +10 -2
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/rf/conversions.py +291 -42
- paramrf-0.26.4/pmrf/rf/mna.py +25 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/simulate/__init__.py +7 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/simulate/base.py +75 -1
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/simulate/reduce.py +114 -2
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/simulate/solvers/kron.py +15 -2
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/simulate/solvers/mobius_terminator.py +5 -5
- paramrf-0.26.4/pmrf/simulate/solvers/modified_kron.py +82 -0
- {paramrf-0.26.0/pmrf → paramrf-0.26.4/pmrf/simulate}/topology.py +63 -2
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/utils/__init__.py +3 -1
- paramrf-0.26.4/pmrf/utils/debug.py +72 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pyproject.toml +1 -1
- {paramrf-0.26.0 → paramrf-0.26.4}/.github/workflows/docs.yml +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/.github/workflows/draft-pdf.yml +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/.github/workflows/publish.yml +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/.github/workflows/tests.yml +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/.gitignore +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/CONTRIBUTING.md +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/LICENSE +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/assets/logo.png +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/docs/Makefile +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/docs/_static/custom.css +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/docs/_templates/autosummary/class.rst +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/docs/_templates/autosummary/function.rst +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/docs/_templates/autosummary/module.rst +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/docs/conf.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/docs/core_concepts/core_primitives.rst +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/docs/core_concepts/index.rst +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/docs/core_concepts/jax_overview.rst +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/docs/core_concepts/optimization_and_inference.rst +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/docs/examples/cascading_and_terminating.rst +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/docs/examples/circuit_clc.png +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/docs/examples/circuit_models.rst +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/docs/examples/custom_composite_models.rst +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/docs/examples/custom_parametric_models.rst +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/docs/examples/derivatives_and_sweeps.rst +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/docs/examples/index.rst +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/docs/examples/parameter_naming_and_model_manipulation.rst +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/docs/index.rst +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/docs/license.rst +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/docs/make.bat +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/docs/models/index.rst +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/docs/skrf_comparison.rst +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/docs/tutorials/data/CBN-1.5FT-SMSM.s2p +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/paper/paper.bib +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/paper/rlc.png +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/paramrf.egg-info/dependency_links.txt +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/paramrf.egg-info/requires.txt +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/paramrf.egg-info/top_level.txt +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/constraints.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/covariance_kernels.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/discrepancy_models.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/distributions.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/evaluators.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/fitting/__init__.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/fitting/minimize.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/fitting/result.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/fitting/routers.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/fitting/sample.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/frequency.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/infer/__init__.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/infer/base.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/infer/result.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/infer/sample.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/infer/solvers/__init__.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/infer/solvers/blackjax.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/infer/solvers/polychord.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/likelihoods.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/losses.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/math/__init__.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/math/aggregations.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/math/conversions.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/math/losses.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/math/misc.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/models/__init__.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/models/adapters/__init__.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/models/adapters/base.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/models/adapters/bridge.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/models/adapters/callable.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/models/adapters/static.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/models/components/__init__.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/models/components/lines/__init__.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/models/components/lines/nonuniform.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/models/components/lines/uniform.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/models/composite/__init__.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/models/composite/nodal.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/models/composite/topological.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/models/composite/transformed.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/models/composite/wrapped.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/models/surrogates/__init__.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/models/surrogates/expansion.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/models/surrogates/rational.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/network_collection.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/noise_models.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/optimize/__init__.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/optimize/base.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/optimize/minimize.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/optimize/result.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/optimize/solvers/__init__.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/optimize/solvers/jaxopt.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/optimize/solvers/optimistix.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/optimize/solvers/scipy.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/problem.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/serialization.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/simulate/cascade.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/simulate/result.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/simulate/solvers/__init__.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/simulate/solvers/hallbjorner.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/simulate/solvers/linear_fractional_terminator.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/simulate/solvers/redheffer.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/simulate/solvers/transfer_cascader.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/simulate/terminate.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/types.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/utils/array.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/utils/network.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/utils/optix.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/utils/random.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/utils/rf.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/utils/transforms.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/utils/tree.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/utils/type.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/viz/__init__.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/pmrf/viz/plots.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/setup.cfg +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/tests/__init__.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/tests/data/10m_cable.s2p +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/tests/test_autodiff.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/tests/test_evaluators.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/tests/test_fitting_minimize.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/tests/test_fitting_routers.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/tests/test_fitting_sample.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/tests/test_frequency.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/tests/test_infer_base.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/tests/test_infer_sample.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/tests/test_model.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/tests/test_models/test_adapters.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/tests/test_models/test_interconnected.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/tests/test_models/test_lines.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/tests/test_models/test_lumped.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/tests/test_models/test_nodal.py +0 -0
- /paramrf-0.26.0/tests/test_models/test_topological.py → /paramrf-0.26.4/tests/test_models/test_sections.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/tests/test_models/test_transformed.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/tests/test_naming.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/tests/test_optimize_base.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/tests/test_optimize_minimize.py +0 -0
- {paramrf-0.26.0 → paramrf-0.26.4}/tests/test_transforms.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: paramrf
|
|
3
|
-
Version: 0.26.
|
|
3
|
+
Version: 0.26.4
|
|
4
4
|
Summary: Parametric radio frequency modeling
|
|
5
5
|
Author-email: Gary Allen <gvcallen@gmail.com>
|
|
6
6
|
Project-URL: homepage, https://github.com/gvcallen/paramrf
|
|
@@ -108,6 +108,8 @@ The code below demonstrate how to define and optimize an RLC model to satisfy a
|
|
|
108
108
|
model.plot_s_db(plot_freq, m=0, n=0, label='initial')
|
|
109
109
|
result.model.plot_s_db(plot_freq, m=0, n=0, label='optimized')
|
|
110
110
|
|
|
111
|
+
print(result.model.named_params())
|
|
112
|
+
|
|
111
113
|
Next steps
|
|
112
114
|
----------
|
|
113
115
|
* For an overview of the library's features, see the `examples <https://gvcallen.github.io/paramrf/examples/index.html>`_ page.
|
|
@@ -68,6 +68,8 @@ The code below demonstrate how to define and optimize an RLC model to satisfy a
|
|
|
68
68
|
model.plot_s_db(plot_freq, m=0, n=0, label='initial')
|
|
69
69
|
result.model.plot_s_db(plot_freq, m=0, n=0, label='optimized')
|
|
70
70
|
|
|
71
|
+
print(result.model.named_params())
|
|
72
|
+
|
|
71
73
|
Next steps
|
|
72
74
|
----------
|
|
73
75
|
* For an overview of the library's features, see the `examples <https://gvcallen.github.io/paramrf/examples/index.html>`_ page.
|
|
@@ -6,7 +6,7 @@ ParamRF allows you to easily optimize model parameters to meet a given design go
|
|
|
6
6
|
Defining the Model
|
|
7
7
|
~~~~~~~~~~~~~~~~~~~
|
|
8
8
|
|
|
9
|
-
When optimizing a model, instead of passing fixed floats, we pass *
|
|
9
|
+
When optimizing a model, instead of passing fixed floats, we pass *free* parameters to indicate that they are free to be tuned by the optimizer. This can be done using constructors like :class:`pmrf.Unconstrained` or, more commonly, :class:`pmrf.Bounded`:
|
|
10
10
|
|
|
11
11
|
.. plot::
|
|
12
12
|
:context: reset
|
|
@@ -108,7 +108,7 @@
|
|
|
108
108
|
"source": [
|
|
109
109
|
"ParamRF provides a few transmission line models, such as ``PhysicalLine``, ``CoaxialLine`` and ``DatasheetLine``. Looking at the datasheet, we see no mention of physical parameters like loss tangent, conductor loss or detailed geometry dimensions. However, there is a velocity factor, as well as loss factors ``k1`` and ``k2``. This is just what ``DatasheetLine`` was meant for.\n",
|
|
110
110
|
"\n",
|
|
111
|
-
"Let's try fitting the model with its expected length and default parameters as a quick check. Note that if we construct a default model or pass in float values, all parameters in the model are seen as fixed (non-tunable). For demonstration purposes, if we want to optimize the default model but don't have an initial guess, we can set all the parameters to be
|
|
111
|
+
"Let's try fitting the model with its expected length and default parameters as a quick check. Note that if we construct a default model or pass in float values, all parameters in the model are seen as fixed (non-tunable). For demonstration purposes, if we want to optimize the default model but don't have an initial guess, we can set all the parameters to be free (tunable) using ``pmrf.as_free``."
|
|
112
112
|
]
|
|
113
113
|
},
|
|
114
114
|
{
|
|
@@ -477,7 +477,7 @@
|
|
|
477
477
|
],
|
|
478
478
|
"metadata": {
|
|
479
479
|
"kernelspec": {
|
|
480
|
-
"display_name": ".venv",
|
|
480
|
+
"display_name": ".venv (3.12.3)",
|
|
481
481
|
"language": "python",
|
|
482
482
|
"name": "python3"
|
|
483
483
|
},
|