xjiang4 / ellipsoids

Automatically exported from code.google.com/p/ellipsoids
Other
0 stars 1 forks source link

Create a non-trivial test for AReach.projection #100

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Currently we have a simple test for ReachContunuous.projection method in 
elltool.reach.test.mlunit package. Once issue 75 and issue 88 are done we need 
to make this test more sophisticated by projecting on subspaces that are not 
just a linear hull of e_{i_1},...,e_{i_k}.

Original issue reported on code.google.com by heartofm...@gmail.com on 9 Apr 2013 at 4:06

GoogleCodeExporter commented 8 years ago
The existing test is located in 
elltool.reach.test.mlunit.ContinuousReachProjTestCase, it calculates a 
reachability domains for k*k -dimensioanl system M x M (here x stands for 
cartesian product) where M is m-dimensional system. Then M x M reach domain is 
projected on m-dimensional subspace corresponding to the first m dimensions and 
this projection is compared with the reach domain of the original m-dimensional 
system.

You need to implement an additional less-trivial test which does the following:
1) Calculate reach tube for some n-dimensional system (you can use some 
existing system definition from gras.ellapx.uncertcalc.test.regr.conf package. 
Use

to see a list of system definitions use

gras.ellapx.uncertcalc.test.regr.listsysconf 

to see what the configuration looks like use

gras.ellapx.uncertcalc.test.regr.editsysconf

I think it is better to use 'osc8' configuration for 8-dimensional system. To 
load the system parameters use the same approach as in existing test for 
projection.

2) Generate n-dimensional orthogonal matrix oMat (you can use something like 
[oMat,~]=qr(rand(n,n));)

Transform all necessary system parameters (initial ellipsoid matrix X_o, matrix 
A, matrix P for control) to get a system that has a reach set "rotated" with 
oMat. 

Then find a projection of this transformed system using the matrix 
oMat(indVec,:) (here indVec is some subset of {1,...,n}, for 8-dimensional 
system in can be [1,3,6] for instance).

Finally compare the resulting projection with the projection of not-transformed 
original system projected on subspace defined by indVec (for indVec=[1,3,6] it 
will be a subspace = linear hull of {e_1,e_3,e_6})

Original comment by heartofm...@gmail.com on 10 Apr 2013 at 8:40

GoogleCodeExporter commented 8 years ago
Dmitry, have you investigated the case of no-symmetrical matrices? 

Original comment by heartofm...@gmail.com on 28 Apr 2013 at 11:19

GoogleCodeExporter commented 8 years ago
I'll assigned an additional ticket to you just in case. If you don't know what 
to do next within the scope on issue  100 - work on the next task in a separate 
branch. Once I'm back from vacation on 6th of May - we will finish issue 100.

Original comment by heartofm...@gmail.com on 1 May 2013 at 4:24

GoogleCodeExporter commented 8 years ago
I've fixed the issue with the matrix symmetry. Please make sure that all tests 
pass and then - reintegrate strictly following the procedure.

Original comment by heartofm...@gmail.com on 6 May 2013 at 2:43

GoogleCodeExporter commented 8 years ago

Original comment by DmitryK...@gmail.com on 7 May 2013 at 4:25

GoogleCodeExporter commented 8 years ago

Original comment by heartofm...@gmail.com on 8 May 2013 at 6:50