conI issueshttps://gitlab.cs.fau.de/lrt_infinite_dimensional_systems/coni/-/issues2020-09-02T15:45:07Zhttps://gitlab.cs.fau.de/lrt_infinite_dimensional_systems/coni/-/issues/18computation of the state transition matrix2020-09-02T15:45:07ZFerdinand Fischercomputation of the state transition matrixFor some special cases the computation of the state transition matrix returns NaN. This seems to be the case when it is computed using the symbolic matrix exponential. An example is
A = [...
0 0 1 0; ...
...For some special cases the computation of the state transition matrix returns NaN. This seems to be the case when it is computed using the symbolic matrix exponential. An example is
A = [...
0 0 1 0; ...
0 0 0 1; ...
3 -1 0 0; ...
1 3 0 0]
Quick workaround: Use the ode-solver to compute the transition matrix.
Better solution: Do not compute the transition matrix by the symbolic matrix exponential, use the numeric version of it. The disadvantage of this solution is that the transition matrix can not be returned as a quantity.Symbolic.Ferdinand FischerFerdinand Fischerhttps://gitlab.cs.fau.de/lrt_infinite_dimensional_systems/coni/-/issues/40convert "todo" and "fixme" comments into issues2020-09-02T15:22:26ZJakob Gabrieljakob.gabriel@fau.deconvert "todo" and "fixme" comments into issuesI lost overview over that comments. It would be far easier of keeping track of possible problems, if they are listed as issues.I lost overview over that comments. It would be far easier of keeping track of possible problems, if they are listed as issues.Ferdinand FischerFerdinand Fischerhttps://gitlab.cs.fau.de/lrt_infinite_dimensional_systems/coni/-/issues/56fractional.simulate2020-10-13T09:42:51ZFerdinand Fischerfractional.simulateThe simulation of fractional order systems does not work with grids that have 500 points. It seems that it has something to do with the time-steps of the used solver.The simulation of fractional order systems does not work with grids that have 500 points. It seems that it has something to do with the time-steps of the used solver.https://gitlab.cs.fau.de/lrt_infinite_dimensional_systems/coni/-/issues/20Implement quantity.[Discrete|Function|Symbolic]/int on n-dimensional domains2020-08-05T17:19:36ZFerdinand FischerImplement quantity.[Discrete|Function|Symbolic]/int on n-dimensional domainsImplement the integration of quantities on n-dimensional domains.Implement the integration of quantities on n-dimensional domains.https://gitlab.cs.fau.de/lrt_infinite_dimensional_systems/coni/-/issues/48initialization of empty quantities?2020-09-02T16:09:10ZFerdinand Fischerinitialization of empty quantities?Do we really need the following else-case: (see constructor of quantity.Discrete)
```
if isa(valueOriginal, 'quantity.Discrete')
% allows the conversion of a quantity object without
% extra check if the object is already fr...Do we really need the following else-case: (see constructor of quantity.Discrete)
```
if isa(valueOriginal, 'quantity.Discrete')
% allows the conversion of a quantity object without
% extra check if the object is already from class
% quantity.Discrete
obj = valueOriginal;
else
% % empty object. this is needed for instance, to create
% % quantity.Discrete([]), which is useful for creating default
% % values.
obj = quantity.Discrete.empty(size(valueOriginal));
end
```https://gitlab.cs.fau.de/lrt_infinite_dimensional_systems/coni/-/issues/51quantity.Discrete.interpolant2020-10-07T16:13:40ZJakob Gabrieljakob.gabriel@fau.dequantity.Discrete.interpolantTo reuse the code somewhere else, I took the code to create the interpolant of quantity.Discrete in the method obj2value, and put it in the new method getInterpolant instead. Later I found, that there is already a method quantity.Discret...To reuse the code somewhere else, I took the code to create the interpolant of quantity.Discrete in the method obj2value, and put it in the new method getInterpolant instead. Later I found, that there is already a method quantity.Discrete.interpolant. However, it seems as if it is not used in coni. Is it used elsewhere, or can I delete it?https://gitlab.cs.fau.de/lrt_infinite_dimensional_systems/coni/-/issues/55rdivide & ldivide for quantity.Symbolic2020-09-21T09:47:21ZJakob Gabrieljakob.gabriel@fau.derdivide & ldivide for quantity.SymbolicYet, rdivide & ldivide are only implemented for quantity.Discrete. Hence, even if an input argument of those functions is a quantity.Symbolic, the result might be a quantity.Discrete.Yet, rdivide & ldivide are only implemented for quantity.Discrete. Hence, even if an input argument of those functions is a quantity.Symbolic, the result might be a quantity.Discrete.https://gitlab.cs.fau.de/lrt_infinite_dimensional_systems/coni/-/issues/54reuse quantity.Domain.isequal in quantity.Discrete.assertSameGrid2020-09-18T14:52:05ZJakob Gabrieljakob.gabriel@fau.dereuse quantity.Domain.isequal in quantity.Discrete.assertSameGridTo increase reuse of existing code, assertSameGrid can be simplified by using quantity.Domain.isequalTo increase reuse of existing code, assertSameGrid can be simplified by using quantity.Domain.isequalhttps://gitlab.cs.fau.de/lrt_infinite_dimensional_systems/coni/-/issues/44revise quantity.example2020-09-21T19:05:32ZJakob Gabrieljakob.gabriel@fau.derevise quantity.examplethe example file quantity.example should be updated and revised. Additionally, a unittest should ensure, that it runs without errors and warnings.the example file quantity.example should be updated and revised. Additionally, a unittest should ensure, that it runs without errors and warnings.https://gitlab.cs.fau.de/lrt_infinite_dimensional_systems/coni/-/issues/52store interpolants for quantity.Discrete2020-09-09T06:14:13ZJakob Gabrieljakob.gabriel@fau.destore interpolants for quantity.DiscreteI expect that the performance of quantity.Discrete can be increased vastly, if the interpolants created in on() or obj2value() would not be deleted directly again. Hence, it would be nice to store them in a property, whenever the interpo...I expect that the performance of quantity.Discrete can be increased vastly, if the interpolants created in on() or obj2value() would not be deleted directly again. Hence, it would be nice to store them in a property, whenever the interpolant is created. However, its forbidden to cat griddedInterpolants into an array. Is there some other way? Maybe creating an array of function_handles that contain the interpolants? And is it really worth the effort, or will this result in memory problems instead? Ideas?