porthamiltonianmodelreduction.jl
Model reduction for port-Hamiltonian and passive systems in Julia
https://github.com/jonas-nicodemus/porthamiltonianmodelreduction.jl
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.5%) to scientific vocabulary
Keywords
Repository
Model reduction for port-Hamiltonian and passive systems in Julia
Basic Info
Statistics
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
- Releases: 1
Topics
Metadata Files
README.md
PortHamiltonianModelReduction
A Julia package implementing model reduction techniques for port-Hamiltonian (pH) systems.
Installation
Install with the Julia package manager Pkg:
julia
pkg> add PortHamiltonianModelReduction # Press ']' to enter the Pkg REPL mode.
or
julia
julia> using Pkg; Pkg.add("PortHamiltonianModelReduction")
For the best experience, we recommend also installing PortHamiltonianSystems.jl and ControlSystems.jl. Furthermore, for accessing pH benchmark systems check out PortHamiltonianBenchmarkSystems.jl.
Documentation
Some available commands are:
Interpolation based methods
irka, phirka
Balancing methods
bt, prbt
Passivation methods
klap
Data driven methods
phdmd, opinf, pod
Energy matching
matchnrg
Example
```julia import Random Random.seed!(1234) # for reproducibility
using LinearAlgebra, ControlSystemsBase using PortHamiltonianSystems, PortHamiltonianModelReduction using PortHamiltonianBenchmarkSystems
J, R, Q, B = construct_system(SingleMSDConfig()); Σ = phss(J, R, Q, B, zero(B), 1e-6I(2), zeros(2,2)); # create pH system with the artificial feedthrough term 1e-6I(2) size(Σ.G) # (100, 2)
Σ = phminreal(Σ); # structure preserving minimal realization size(Σ.G) # (73, 2)
r = 10 # reduced order
Σr1 = phirka(Σ, r); norm(Σ - Σr1) # 0.08325552559202813
Σr2 = prbt(Σ, r); norm(Σ - Σr2) # 0.0031763828389874994
Σr3 = irka(ss(Σ), r); norm(Σ - Σr3) # 0.0016571113588666688 ispassive(Σr3) # false
Σr4, _ = klap(Σr3); norm(Σ - Σr4) # 0.0016577342723135616 ispassive(Σr4) # true ```
Owner
- Name: Jonas Nicodemus
- Login: Jonas-Nicodemus
- Kind: user
- Location: Germany, Stuttgart
- Company: University of Stuttgart, SC SimTech
- Repositories: 1
- Profile: https://github.com/Jonas-Nicodemus
Citation (CITATION.bib)
@incollection{BS21,
title = {Balancing-Related Model Reduction Methods},
booktitle = {Model {{Order Reduction Volume}} 1: {{System-}} and {{Data-Driven Methods}} and {{Algorithms}}},
author = {Breiten, Tobias and Stykel, Tatjana},
editor = {Benner, Peter and {Grivet-Talocia}, Stefano and Quarteroni, Alfio and Rozza, Gianluigi and Schilders, Wil and Silveira, Lu{\'i}s Miguel},
year = {2021},
pages = {15--56},
publisher = {De Gruyter},
doi = {10.1515/9783110498967-002}
}
@article{CPS04,
title = {A Convex Programming Approach for Generating Guaranteed Passive Approximations to Tabulated Frequency-Data},
author = {Coelho, C.P. and Phillips, J. and Silveira, L.M.},
year = {2004},
journal = {IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst.},
volume = {23},
number = {2},
pages = {293--301},
doi = {10.1109/TCAD.2003.822107}
}
@article{DP84,
title = {A Transformation Approach to Stochastic Model Reduction},
author = {Desai, U. and Pal, D.},
year = {1984},
journal = {IEEE Trans. Automat. Control},
volume = {29},
number = {12},
pages = {1097--1100},
doi = {10.1109/TAC.1984.1103438}
}
@article{Dum02,
title = {Parameterization of Positive-Real Transfer Functions with Fixed Poles},
author = {Dumitrescu, B.},
year = {2002},
journal = {IEEE Trans. Circuits Syst. I. Regul. Pap.},
volume = {49},
number = {4},
pages = {523--526},
doi = {10.1109/81.995670}
}
@article{GAB08,
title = {$\mathcal{H}_2$ {{Model Reduction}} for {{Large-Scale Linear Dynamical Systems}}},
author = {Gugercin, S. and Antoulas, A. C. and Beattie, C.},
year = {2008},
journal = {SIAM J. Matrix Anal. Appl.},
volume = {30},
number = {2},
pages = {609--638},
publisher = {{Society for Industrial and Applied Mathematics}},
doi = {10.1137/060666123}
}
@article{GPBS12,
title = {Structure-Preserving Tangential Interpolation for Model Reduction of Port-{{Hamiltonian}} Systems},
author = {Gugercin, Serkan and Polyuga, Rostyslav V. and Beattie, Christopher and van der Schaft, Arjan},
year = {2012},
journal = {Automatica J. IFAC},
volume = {48},
number = {9},
pages = {1963--1974},
doi = {10.1016/j.automatica.2012.05.052}
}
@incollection{GS21,
author = {Grivet-Talocia, Stefano and Silveira, Luis},
year = {2021},
pages = {139--180},
title = {Post-processing methods for passivity enforcement},
booktitle = {Model Order Reduction: Volume 1 -- System- and Data-Driven Methods and Algorithms},
editor = {Peter Benner and Stefano Grivet-Talocia and Alfio Quarteroni and Gianluigi Rozza and Wil Schilders and Luís Miguel Silveira},
publisher = {De Gruyter},
address = {Berlin, Boston},
doi = {10.1515/9783110498967-005},
}
@article{HNSU25,
title = {Energy {{Matching}} in {{Reduced Passive}} and {{Port-Hamiltonian Systems}}},
author = {Holicki, Tobias and Nicodemus, Jonas and Schwerdtner, Paul and Unger, Benjamin},
year = {2025},
journal = {SIAM J. Control Optim.},
volume = {63},
number = {3},
pages = {2154--2176},
doi = {10.1137/23M1600931}
}
@article{MNU23,
title = {Port-{{Hamiltonian Dynamic Mode Decomposition}}},
author = {Morandin, Riccardo and Nicodemus, Jonas and Unger, Benjamin},
year = {2023},
journal = {SIAM J. Sci. Comput.},
volume = {45},
number = {4},
pages = {A1690--A1710},
doi = {10.1137/22M149329X}
}
@article{NVGU25,
title = {{{KLAP}}: {{KYP}} Lemma Based Low-Rank Approximation for $\mathcal{H}_2$-Optimal Passivation},
author = {Nicodemus, Jonas and Voigt, Matthias and Gugercin, Serkan and Unger, Benjamin},
year = {2025},
journal = {ArXiv e-print 2501.05178},
doi = {10.48550/arXiv.2501.05178},
}
@article{PW16,
title = {Data-Driven Operator Inference for Nonintrusive Projection-Based Model Reduction},
author = {Peherstorfer, Benjamin and Willcox, Karen},
year = {2016},
journal = {Computer Methods in Applied Mechanics and Engineering},
volume = {306},
pages = {196--215},
doi = {10.1016/j.cma.2016.03.025}
}
GitHub Events
Total
- Issue comment event: 1
- Push event: 4
- Create event: 3
- Commit comment event: 1
Last Year
- Issue comment event: 1
- Push event: 4
- Create event: 3
- Commit comment event: 1
Issues and Pull Requests
Last synced: 7 months ago
All Time
- Total issues: 1
- Total pull requests: 0
- Average time to close issues: less than a minute
- Average time to close pull requests: N/A
- Total issue authors: 1
- Total pull request authors: 0
- Average comments per issue: 1.0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 1
- Pull requests: 0
- Average time to close issues: less than a minute
- Average time to close pull requests: N/A
- Issue authors: 1
- Pull request authors: 0
- Average comments per issue: 1.0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- JuliaTagBot (1)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- julia 2 total
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 1
juliahub.com: PortHamiltonianModelReduction
Model reduction for port-Hamiltonian and passive systems in Julia
- Documentation: https://docs.juliahub.com/General/PortHamiltonianModelReduction/stable/
- License: MIT
-
Latest release: 1.0.0
published 9 months ago
Rankings
Dependencies
- actions/checkout v4 composite
- codecov/codecov-action v5 composite
- julia-actions/cache v2 composite
- julia-actions/julia-buildpkg v1 composite
- julia-actions/julia-docdeploy v1 composite
- julia-actions/julia-processcoverage v1 composite
- julia-actions/julia-runtest v1 composite
- julia-actions/setup-julia v2 composite
- JuliaRegistries/TagBot v1 composite