acados
prometeo
acados | prometeo | |
---|---|---|
5 | 11 | |
901 | 621 | |
3.6% | - | |
9.6 | 0.0 | |
about 11 hours ago | over 2 years ago | |
C | Python | |
GNU General Public License v3.0 or later | BSD 2-clause "Simplified" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
acados
-
How to understand Model Predictive Control
I would check out CasADi (specifically the opti framework) and or ACADOS. To code up a quick MPC in general is not hard, but to squeeze efficiency and exploit sparsity for good real-time performance is a little more involved and these tools really help with that.
-
Question about Model Predictive Control (MPC) cost function
Generally, nonlinear MPC uses either IPOPT (an interior point method) or sequential quadtraic programming based approaches (google GURBOI, qpoases, qrqp...). A good python framework is CasADi, or its sister project ACADOS. I think there is also a fair amount of literature on learning MPC cost functions from data you could probably find.
-
Show HN: prometeo – a Python-to-C transpiler for high-performance computing
Thanks for the question! My background is in numerical optimization for optimal control. Projects like this https://github.com/acados/acados motivated the development of prometeo. It's mostly about solving optimization problems as fast as possible to make optimal decisions in real-time.
-
Do you know a good free toolbox on mpc control for GNU Octave?
Look at Acados. I didn't use it with Octave, but according the readme it has a interface with Octave.
prometeo
-
Borgo is a statically typed language that compiles to Go
Not impossible but I guess you might end up with an extra runtime layer and some more dynamic operations will not be very fast. Or you restrict it to a subset of Python like this project does: https://github.com/zanellia/prometeo
You could of course write a bytecode VM in Golang but I guess that defeats the purpose.
- Are there any libraries that can easily convert Python to C/C#/or C++? Ones where a person doesn't have to "calibrate" it, just, pip install library and then they can have their Python code in C,C#,or C++?
-
I made a Python compiler, that can compile Python source down to fast, standalone executables.
Honest question: How does pycom compare to similar tools like Nuitka, prometeo, or mypyc?
-
Profiling and Analyzing Performance of Python Programs
If you don't mind switching to a little different syntax of Python, then you also might want to take a look at prometeo - an embedded domain specific language based on Python, specifically aimed at scientific computing. Prometeo programs transpile to pure C code and its performance can be comparable with hand-written C code.
- GitHub - zanellia/prometeo: An experimental Python-to-C transpiler and domain specific language for embedded high-performance computing
- Show HN: Prometeo – a Python-to-C transpiler for high-performance computing
- An experimental Python-to-C transpiler and domain specific language for embedded high-performance computing
-
Show HN: prometeo – a Python-to-C transpiler for high-performance computing
This is awesome! The direction of using a subset of python, while leveraging the user base and static typing to accomplish some other everyday task in a different language is very legit IMO.
I took a cursory look at:
https://github.com/zanellia/prometeo/blob/master/prometeo/cg...
It seems quite similar in spirit to
https://github.com/adsharma/py2many/blob/main/pyrs/transpile...
I'm not spending much time on py2many last few months (started a new job). Let me know if any of it sounds useful - especially the ability to transpile to 7-8 languages including Julia, C++ and Rust.
What are some alternatives?
Metatheory.jl - Makes Julia reason with equations. General purpose metaprogramming, symbolic computation and algebraic equational reasoning library for the Julia programming language: E-Graphs & equality saturation, term rewriting and more.
Octavian.jl - Multi-threaded BLAS-like library that provides pure Julia matrix multiplication
pyomo - An object-oriented algebraic modeling language in Python for structured optimization problems.
hpipm - High-performance interior-point-method QP and QCQP solvers
StaticCompiler.jl - Compiles Julia code to a standalone library (experimental)
textX - Domain-Specific Languages and parsers in Python made easy http://textx.github.io/textX/
llvm-cbe - resurrected LLVM "C Backend", with improvements
pypperoni - Pypperoni Python Compiler Source Code
depthcharge - A U-Boot hacking toolkit for security researchers and tinkerers