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

Reply via email to