Opened 17 years ago
Closed 17 years ago
#539 closed defect (fixed)
InnerPoint finds a not valid point
Reported by: | Víctor de Buen Remiro | Owned by: | Liván Ramírez Dorta |
---|---|---|---|
Priority: | highest | Milestone: | |
Component: | Math | Version: | head |
Severity: | blocker | Keywords: | |
Cc: |
Description
This is an example of InnerPoint failing, due to it returns a point that not matches the inequations but there exists a inner point x2 that I've found with Mathematica
Matrix A = SetMat(SetOfSet(
SetOfReal( -1, +0, +0, +0, +0, +0),
SetOfReal( +1, +0, +0, +0, +0, +0),
SetOfReal( +0, -1, +0, +0, +0, +0),
SetOfReal( +0, +1, +0, +0, +0, +0),
SetOfReal( +0, +0, -1, +0, +0, +0),
SetOfReal( +0, +0, +1, +0, +0, +0),
SetOfReal( +0, +0, +0, -1, +0, +0),
SetOfReal( +0, +0, +0, +1, +0, +0),
SetOfReal( +0, +0, +0, +0, -1, +0),
SetOfReal( +0, +0, +0, +0, +1, +0),
SetOfReal( +0, +0, +0, +0, +0, -1),
SetOfReal( +0, +0, +0, +0, +0, +1),
SetOfReal( +0, +1, +0, +0, +0, -1),
SetOfReal( +0, +0, +0, -1, +0, +1),
SetOfReal( +1, +0, +0, +0, -1, +0),
SetOfReal( +0, +0, -1, +0, +1, +0),
SetOfReal( +0, +0, -1, +1, +0, +0),
SetOfReal( -1, +1, +0, +0, +0, +0),
SetOfReal( +0, +0, +0, +0, -1, +1)
));
Matrix a = Col( +2, -1.21, +1.3, -1.19, +2, -1.108, +1.3, -1.1, +2, -1.159, +1.3, -1.15, +0, +0, +0, +0, +0, +0, +0);
Set X = InnerPoint(A,a);
Matrix check_1 = A*X::InnerPoint-a;
Real ok_1 = MatMax(check_1)<=1.E-15;
Matrix x2 = Col(-1.21, -1.21, -1.108, -1.108, -1.159, -1.159);
Matrix check_2 = A*x2-a;
Real ok_2 = MatMax(check_2)<=1.E-15;
Change History (3)
comment:1 Changed 17 years ago by
bug_file_loc: | → http://cvs.tol-project.org/viewcvs.cgi/tol_tests/tol/Bugzilla/bug_000533 |
---|
comment:2 Changed 17 years ago by
I think that this information could be usefull. If we draw points around the inner point x2 with normal distribution N(0,0.0001), it's to say, points that are very close to x2, the ratio of inner points is very low (about 0.2%). I conclude that is a very narrow but non empty region. You can check it with this TOL code:
Real probInnerEnvironment = SetAvr(For(1,100000,Real(Real k)
{
Matrix x3 = x2+Gaussian(Rows(x2),1,0,0.0001);
Matrix check_3 = A*x3-a;
MatMax(check_3)<=1.E-15
}));
comment:3 Changed 17 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
A standard test has been added to