I think of consistency as being like virginity.
When you appeal to practicality, I wake up and remember that who knows
what code such a change would break.
With respect, I must bow out of this thread, as I need to concentrate.
Henry Rich
On 2/23/2022 10:36 AM, Elijah Stone wrote:
1. That sounds like the broken windows fallacy. That we lose one
consistency is no excuse for avoiding consistency altogether.
2. My second argument (given earlier) is not an argument for
consistency, but practicality, and it still stands.
-E
On Wed, 23 Feb 2022, Henry Rich wrote:
I am saying that it is inconsistent that (_=1e300) is 0. By the
definition, it should be 1 or NaN. Since it isn't, we are into ad hoc
expedients.
Henry Rich
On 2/23/2022 10:27 AM, Elijah Stone wrote:
I do not see the significance of your statement. Are you saying
that it would be inconsistent if _ = 1e300? Fine, but that has
nothing to do with what I propose. _ is infinite, while 1e300 is
finite. 3j_ and 5j_ are both infinite. It is not inconsistent for
two infinities to be equal; indeed, for _=_ already.
-E
On Wed, 23 Feb 2022, Henry Rich wrote:
I am just saying that
_ = 1e300
0
is inconsistent with the definition of tolerant comparison, so
further arguments appealing to consistency are built on sand.
Henry Rich
On 2/23/2022 10:18 AM, Elijah Stone wrote:
So you do not find it inconsistent that 3j1e100=5j1e100 but
3j_~:5j_; nor that 3j_ and 5j_ seem to represent the same thing
(as evinced by *.)?
It does not seem at all inconsistent or problematic to define =
such that (x j. _) = (y j. _) (for finite, real x,y), and it does
not follow from such a definition that _ must compare equal with
finite values.
-E
On Wed, 23 Feb 2022, Henry Rich wrote:
As the essay points out, according to the rules _ is tolerantly
equal to everything. To avoid that, comparisons to _ are
intolerant.
Henry Rich
On 2/23/2022 7:09 AM, Elijah Stone wrote:
https://code.jsoftware.com/wiki/Essays/Tolerant_Comparison
A good read, explains the workings of the comparators.
-E
On Wed, 23 Feb 2022, Michail L. Liarmakopoulos wrote:
Thanks for the detailed explanation and for the counterexample
to my
argument.
It seems that I haven't thought carefully how the "=" operates
behind the
scenes when comparing two complex numbers.
Best regards,
---
Michail L. Liarmakopoulos, MSc
On Wed, Feb 23, 2022, 13:03 Elijah Stone <elro...@elronnd.net>
wrote:
Two arguments:
1. Comparison is tolerant anyway. So:
3j1e100 = 5j1e100
1
Since _ is greater than 1e100, the (relative) difference
between 3j_ and
5j_ should be less than that between 3j1e100 and 5j1e100
2. Infinity is, of course, not a number. So, when
encountering an
expression involving infinity, it is necessary to ask how it
should be
interpreted. One way to interpret 3j_ is as follows: the
limit as y
approaches _ of 3 j. y. Well, that does not converge. But its
_angle_
does, as does the angle of 5 j. y, and they converge to the
same result:
0.5p1. The j interpreter is kind enough to tell us as much:
0.5p1 =!.0 {:"1*.3j_ 5j_
1 1
3j_ -:!.0&*. 5j_
1
(The fact that these expressions evaluate to 1 even with a
comparison
tolerance of 0--and would continue to do so, even given infinite
precision--is my argument for why 3j_=5j_ should be 1 even with a
comparison tolerance of 0. I recognise, however, that there
are other
tradeoffs involved, and this may not be the right choice; but
I think
there is no excuse for a 0 result given nonzero comparison
tolerance,
unless _=_ is changed.)
-E
On Wed, 23 Feb 2022, Michail L. Liarmakopoulos wrote:
> It seems correct to me, as they're two different complex
numbers. If they
> were the same:
>
> 5j_=5j_
> 1
>
>
> They have the same modulus though:
>
> %: 9 + _
>
> _
>
> %: 25 + _
>
> _
>
> (|3j_) = (|5j_)
>
> 1
>
> Best,
>
> ---
> Michail L. Liarmakopoulos, MSc
>
> On Wed, Feb 23, 2022, 10:15 Elijah Stone
<elro...@elronnd.net> wrote:
>
>> 3j_ = 5j_
>> 0
>>
>> I think it should be 1. For nonzero comparison tolerance,
at any rate.
>>
>> -E
>>
----------------------------------------------------------------------
>> For information about J forums see
http://www.jsoftware.com/forums.htm
>>
>
----------------------------------------------------------------------
> For information about J forums see
http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see
http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see
http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see
http://www.jsoftware.com/forums.htm
--
This email has been checked for viruses by AVG.
https://www.avg.com
----------------------------------------------------------------------
For information about J forums see
http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see
http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm