-
Notifications
You must be signed in to change notification settings - Fork 402
Onboarding Guide
András Retzler edited this page Apr 18, 2024
·
65 revisions
This a cookbook/list of how-to's. Feel free to add more.
- 📖 CasADi documentation
- 📖 CasADi Python API with links to editable wiki pages for each function
- 📖 CasADi user's guide PDF
- ⏯ A video training course by Joris Gillis
- ⏯ A youtube channel
- 📔 Workshop course materials
- FAQ: courses that use CasADi
- FAQ: a list of papers, presentations by the CasADi authors
- 📫 CasADi forum
- 👉 this wiki, you can search on the right in the FAQ items
- 📫 ask support from the developers directly: they are open to industrial and academic cooperations
- FAQ: how to quickly check that CasADi is working
- FAQ: how to resolve on macOS: "casadiMEX.mexmaci64" cannot be opened because the developer cannot be verified
- FAQ: Where do I find the very latest CasADi version?
- FAQ: Where do I find the example pack corresponding to my CasADi version?
- FAQ: How do I install CasADi permanently on the MATLAB path?
- FAQ: how can I generate my own binaries on my CasADi fork?
- FAQ: what cmake build options/build flags should I use?
- FAQ: how do I configure a pip source build?
Related: ⏯ map, mapaccum · ⏯ parallelization
- FAQ: general speedup tricks
- FAQ: Warmstarting with IPOPT
- FAQ: How to parallelize linear solvers?
- FAQ: How to generate a MEX file?
- FAQ: How to generate C code?
- FAQ: How and when to use expand()?
- FAQ: How to use map() and mapaccum() to speed up calculations?
- FAQ: How to specify a custom Hessian approximation?
Related: ⏯ JIT
- FAQ: how to perform jit for function evaluations of my optimization problem?
- FAQ: how to make jit not recompile when problem is unchanged
- FAQ: is the bottleneck of my optimization in CasADi function evaluations or in the solver?
- FAQ: How to tell which CasADi version am I using?
- FAQ: How to get more information about the CasADi build I am using?
- FAQ: How to print out the whole expression graph?
- FAQ: How to print an object with details? (str)
- FAQ: How to interpret the printout of an expression graph?
- FAQ: How to print values of a subexpression during optimization? (printme)
- FAQ: How to debug regressions in numerical solvers when updating CasADi?
- FAQ: Ipopt hangs, how to debug it?
- FAQ: In MATLAB I cannot stop the optimization with Ctrl+C, what to do?
- FAQ: How to debug it if the optimization would hang?
- FAQ: How to resolve: MUMPS returned INFO ... and requires more memory, reallocating
- FAQ: cannot evaluate ... since variables ... are free
- FAQ: how to resolve 'eval_sx' not defined?
- FAQ: Unrecognized function or variable 'casadiMEX'
- FAQ: Why am I getting "NaN detected"in my optimization?
- FAQ: how to resolve: MATLAB has encountered an error and needs to close
- FAQ: how to resolve: restoration failed
- FAQ: how to resolve: TypeError: reshape() takes 2 positional arguments but 3 were given
- FAQ: Error messages that you get when you use MX() instead of MX.sym()
- FAQ: how to resolve on macOS: "casadiMEX.mexmaci64" cannot be opened because the developer cannot be verified
Related: ⏯ nlpsol, Ipopt
- FAQ: which solvers are available in CasADi?
- FAQ: how do I write my own QP solver plugin?
- FAQ: how to get third party solvers to work?
- FAQ: how to make a solver silent
- FAQ: how to pass options to solvers
- FAQ: How to get the details about solver iterations? (to see how the objective, parameters, etc. have changed)
- FAQ: How to use nlpsol the option "monitor"?
- FAQ: how to use IPOPT as QP solver?
- FAQ: how do I learn more about how Ipopt works?
- FAQ: What is the meaning of the Ipopt printout (objective, inf_pr, inf_du, lg, d, lg(rg), alpha_du, alpha_pr, ls)?
- FAQ: Ipopt: the objective is increasing instead of decreasing, how to debug that?
- FAQ: Ipopt is for nonlinear programming (NLP). Can I use it also for LLS, NLS, QP, etc. problems?
- FAQ: Ipopt: why is my callback not called
- FAQ: quick introduction to optimization via YouTube videos
- FAQ: courses that use CasADi
- FAQ: how to add non CasADi code into a CasADi optimization?
- FAQ: A one-pager to explain what is CasADi (and what it is not)
- FAQ: What kind of math functions can I use on CasADi objects?
- FAQ: how to work with discrete mixed integer problems?
- FAQ: how to work with parametric BSplines?
- FAQ: How to use a purely numerical function inside CasADi? a.k.a how to convert a symbol to a number, a.k.a custom functions, a.k.a Callback
- FAQ: What are parameters? How are they different from decision variables? And why can't I just use a constant instead of them?
- FAQ: How to add two numbers?
- FAQ: How to store a casadi.Function in a file? (save, load)
- FAQ: How to transform a Casadi matrix to a Numpy array
- FAQ: How to convert a Sympy expression to CasADi and back?
- FAQ: how to transform a CasADi expression to pure MATLAB?
- FAQ: what is the difference between SX and MX?
- FAQ: What’s the difference between a casadi.Function and an MX expression?
- FAQ: How to check if a matrix element is a structural zero?
- FAQ: When do zeros become structural?
- FAQ: When creating an MX or SX symbol, why do we have to give the name of a variable as a string argument?
- FAQ: What is the most effective way to convert between casadi.DM and torch.tensor (pytorch) other than using numpy in between?
- FAQ: In MATLAB, what is the difference between size, length and numel?
- FAQ: What kind of CAS operations does CasADi support?
- FAQ: casadi.DM is to store numerical values. Why is this type needed and what is it good for?
- FAQ: The printout of casadi.DM shows only a few digits. How to print it more accurately?
- FAQ: Is 3 (or more) dimensional data supported in CasADi data structures (e.g. DM)?
- FAQ: What is the starting index for CasADi matrices in MATLAB and Python? Is it different?
- FAQ: how to make a symbolic matrix numeric? (TODO)
- FAQ: What is the difference between an Opti.variable and casadi.MX.sym? Can I mix the two?
- FAQ: What are the limitations of Opti?
- FAQ: How to clear the constraints that I specified earlier?
- FAQ: How to change NLP parameters in between iterations?
- Add FAQ item here
- Save page, click the relevant red link to add your page
Concepts to work with the onboarding guide:
- Add links between pages as much as possible.
- You can find a list of FAQTODO items 🔍 here: feel free to contribute at those places.
- FAQTODO tasks for organizing the Onboarding Guide