Conversation
|
Using PR #301, you can now use |
|
Thanks Simon, this modification indeed helped me to further simplify the code. If you have any feedback I will gladly take a look at it ! |
|
@SimonRohou do you know if and how I can get the vector of radiuses (or diameters) from an IntervalVector ? For now I am using a for loop but maybe a method is already implemented. Here is what I use for now : |
|
Yes! Example: |
| assert_release (f.input_size() < f.output_size() && "input size must be strictly lower than output size"); | ||
| assert_release (X.size() == f.input_size() && "dimension of X must match input size of f"); | ||
|
|
||
| VectorVar psi_0(f.input_size()); |
There was a problem hiding this comment.
No indeed, and it is not supposed to be a VectorVar... I don't know how it ended up here
| for (int i = 0; i < X.size(); i++) | ||
| x_rad(i) = X(i).rad(); | ||
|
|
||
| Matrix A = f.diff(X.mid()).mid(); |
There was a problem hiding this comment.
Is the following inflation reliable?
There was a problem hiding this comment.
I am not sure to understand the question.
Are you asking about the guarantee of the inflation process itself or about the guarantee of the inflation process as coded ?
| return Parallelepiped(f.eval(X.mid()).mid(), A_inf); | ||
| } | ||
|
|
||
| Parallelepiped parallelepiped_inclusion(const Vector& z, const IntervalMatrix& JJf, const IntervalMatrix& JJf_punc, const AnalyticFunction<VectorType>& psi_0, const OctaSym& symmetry, const IntervalVector& X) |
There was a problem hiding this comment.
It is an enclosure of Jf. In some other codes I noticed that the first letter is sometimes doubled to indicate that it is an "Interval" version. If you prefer I can simply write Jf for clarity.
There was a problem hiding this comment.
The name of the variables have been revised in the last commit for better readibility
|
Following our conversation:
|
First version of an implementation of peibos into codac for feedbacks.
Note that this version lacks documentation and python bindings. The objective is to propose an implementation as clean as possible before writing the documentation and bindings for a complete integration.
I think that the lines 138-150 of "codac2_peibos.cpp" could be simplified by calling directly "parallelepiped_inclusion" from line 72, but it requires to be able to construct the g function. g is the composition of the AnalyticFunction f, symmetry s and AnalyticFunction psi_0. @SimonRohou if you have any idea on how to do so please let me know (if it is possible).
The only remaining "duplicate" is for the function "parallelepiped_inclusion". One implementation gives access to the complete inclusion function (i.e. just a function f and a box [x] are needed as inputs). The other one will later be used by peibos-capd or any ODE's version of PEIBOS.
Update : Happy 300th PR Codac !