P1788/D9.2 draft (10.5.5)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Dear all,
Though I have not read the D9.2 draft of the P1788 standard in its
entirety yet, I am already puzzled, to say the least, by Section
10.5.5 on reverse-mode elementary functions.
I have been working on constraint satisfaction algorithms for several
years now and I still cannot make sense of the required functions in
Table 10.1, even though they are meant to be used precisely for that.
As I see it, the whole point of reverse-mode functions is to consider
statements such as:
XY = Z (1)
as relations, meaning that we should be able to identically write it as
X = Z/Y
or
Y = Z/X.
For Statement (1), we want to be able to narrow the domains for X, Y
and Z with the operations:
mul(X,Y,Z) == hull({z\in Z\mid \exists x\in X, \exists y\in Y: xy = z})
mulRev(Z,X,Y) == hull({x\in X\mid\exists y\in Y, \exists z\in Z: xy = z})
mulRev(Z,Y,X) == hull({y\in Y\mid\exists x\in X, \exists z\in Z: xy = z})
Note that the division is not used in the definition of the operators.
Note also that we only need 2 operators, mul()---which is the usual
interval multiplication---and mulRev().
The same goes for the pow operator.
If you take a look at the documentation of GAOL
(http://sourceforge.net/projects/gaol/), the interval arithmetic
library I have been developing for the past 13 years to specifically
support reverse operators (aka relational operators), you will see
that the mulRev1/mulRev2 and powRev1/powRev2 dichotomy is not present.
Having worked for some time in the constraint programming domain
exclusively, I may have missed some important issue that dictated the
choices made in the draft to accommodate broader applications. If it
is the case, I very much welcome some precise motivating example.
Otherwise, I believe that the whole section should be rewritten.
Best regards,
FG.
- --
Frédéric Goualard LINA - UMR CNRS 6241
Tel.: +33 2 76 64 50 12 Univ. of Nantes - Ecole des Mines de Nantes
2, rue de la Houssinière - BP 92208
http://frederic.goualard.net/ F-44322 NANTES CEDEX 3
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.14 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iQEcBAEBAgAGBQJTdh8QAAoJEIyjRWvAvCeCb/UH/26ghDilf/9KUEBq56viD87j
RyONS5pJFJnppqLibIF1wGQBpKD/Ftdd5XZnqoEM/gHkklyhMvo8hKnRsg+Lyz7h
sWIV4Ck278FeLnenYszqgt3es19KI4D1sXVNcP2BCzrIA2cFlBPHkZ7uh64usHTj
0dMw6gbV/e7LZZJUieP3RQGxwjgXNdb200imBtx1PVPj1U2YjB2GTlJqfhUac/b4
UqDdVwOMQZoMm5JfqBubt1AWRlYrd09mjzzufZ85u08Gf8qkui6DmoNYuHHbEuFl
zee8VjQCdYIw/hUu1Tss21p/N3v9AvYSrzCQjX1glKfuEFSbuXyQhlgFY7LKdvk=
=2Vkm
-----END PGP SIGNATURE-----