Henry, we can change the sign of the real part.
csr =: [: j./ _1 1 * +. NB. change sign of real part
csr 1j2
_1j2
For complex analysis purists, it is possible to change the sign of the real
part using only multiplication and conjugation -- an exercise left for the
reader.
What would happen with a hyperb plot from 0 to d if the definition of hyperb
(below) used - (negation) instead of + (conjugation)?
Finally,
plot 0j_1 * 4 hyperbola 3
gives you an "opens left and right" hyperbola -- this is why I like complex
data for plots!
--Kip Murray
Sent from my iPad
On Sep 15, 2013, at 8:02 PM, Henry Rich <[email protected]> wrote:
> I didn't know about a table of complex numbers either, till I tried it. It
> seems to recognize each row as a separate dataset, thus avoiding the line
> between them. Thorough man, that Chris.
>
> + for - would work for this hyperbola, but for the other orientation you
> would need to change sign on the real parts - it seemed safer to change both.
>
> Your toh is elegant.
>
> Henry Rich
>
> On 9/15/2013 7:39 PM, km wrote:
>> Henry, this is outstanding. I didn't know about plotting a table of complex
>> numbers.
>>
>>
>> Two comments. First, as I specified
>>
>> a hyperbola b
>>
>> for
>>
>> y^2/a^2 - x^2/b^2 = 1 ,
>>
>> you need comma tilde (,~) not comma.
>>
>> Second, you could have used + (conjugate) instead of - (negative).
>>
>>
>> Cribbing from you, I have
>>
>> hyperb =: 2 : '[: (,: +) [: j./ (n,m) * (sinh ,: cosh)'
>>
>> toh =: [: to/ [: arcsinh %~
>>
>> NB. b toh c,d is (arcsinh c%b) to (arcsinh d%b)
>>
>> The command
>>
>> plot a hyperb b [ b toh c,d
>>
>> plots the hyperbola y^2/a^2 - x^2/b^2 = 1 for x going from c to d .
>>
>>
>> --Kip Murray
>>
>> Sent from my iPad
>>
>>
>> On Sep 15, 2013, at 3:51 PM, Henry Rich <[email protected]> wrote:
>>
>>> hyperbola =: [: (,: -) [: j./ ((sinh ,: cosh) _0.4p1 to 0.4p1) * ,
>>>
>>> Henry Rich
>>>
>>> On 9/15/2013 12:27 AM, km wrote:
>>>> The next challenge is to write a conjunction hyperbola so that
>>>>
>>>> a hyperbola b is a verb that creates complex numbers for both
>>>>
>>>> branches of the hyperbola y^2/a^2 - x^2/b^2 = 1 (opens up and
>>>>
>>>> down not left and right) . The command
>>>>
>>>> plot a hyperbola b [ c to d
>>>>
>>>> plots the hyperbola. You have to work to move a stray
>>>>
>>>> straight line to the edge of the plot. Give it a try.
>>>>
>>>>
>>>> Verb "to" is
>>>>
>>>> to =: [ + -~ * 1r512 * [: i. 513"_
>>>>
>>>> NB. c to d produces 513 equally spaced values from (real) c to d
>>>>
>>>>
>>>> --Kip Murray
>>>>
>>>> Sent from my iPad
>>>>
>>>>
>>>> On Sep 14, 2013, at 9:57 PM, Henry Rich <[email protected]> wrote:
>>>>
>>>>> Yes, that's better.
>>>>>
>>>>> Henry Rich
>>>>>
>>>>> On 9/14/2013 6:38 PM, km wrote:
>>>>>> Very cool, Henry! You can also use
>>>>>>
>>>>>> ellipse2 =: [: j./ ((cos ,: sin) 0 to 2p1) * ,
>>>>>>
>>>>>> An advantage of complex number plots is they are easy to rotate and
>>>>>> translate. Try
>>>>>>
>>>>>> plot (^&j. _1r4p1) * 2 ellipse 1 NB. rotates -45 degrees
>>>>>>
>>>>>> --Kip Murray
>>>>>>
>>>>>> Sent from my iPad
>>>>>>
>>>>>>
>>>>>> On Sep 14, 2013, at 12:04 PM, Henry Rich <[email protected]> wrote:
>>>>>>
>>>>>>> Verb rather than conjunction:
>>>>>>>
>>>>>>> ellipse =: [: +.^:_1 ((cos ,. sin) 0 to 2p1) *"1 ,
>>>>>>>
>>>>>>> If you just want to plot, you can leave the real/imaginary separate:
>>>>>>>
>>>>>>> ellipse2 =: ((cos ; sin) 0 to 2p1) *&.> ,
>>>>>>>
>>>>>>> Henry Rich
>>>>>>>
>>>>>>> On 9/13/2013 6:22 PM, km wrote:
>>>>>>>> You can plot a complex list.
>>>>>>>>
>>>>>>>> Try
>>>>>>>>
>>>>>>>> L =: _1j1 0 1j1
>>>>>>>>
>>>>>>>> and
>>>>>>>>
>>>>>>>> plot L
>>>>>>>>
>>>>>>>> plot 0j1 + L
>>>>>>>>
>>>>>>>> plot 0j1 * L
>>>>>>>>
>>>>>>>> (It is easy to translate and rotate a plot defined by a complex list.)
>>>>>>>>
>>>>>>>>
>>>>>>>> Challenge: devise a conjunction ellipse that produces a complex list
>>>>>>>> for plotting the ellipse
>>>>>>>>
>>>>>>>> 1 = (*: x % a) + (*: y % b) NB. In algebra x^2/a^2 + y^2/b^2 = 1
>>>>>>>>
>>>>>>>> The command
>>>>>>>>
>>>>>>>> plot a ellipse b
>>>>>>>>
>>>>>>>> should produce a plot of the above ellipse.
>>>>>>>>
>>>>>>>>
>>>>>>>> Easier: devise an adverb parabola that produces complex numbers for
>>>>>>>> plotting the parabola
>>>>>>>>
>>>>>>>> (*: x) = 4 * p * y
>>>>>>>>
>>>>>>>> You want the command
>>>>>>>>
>>>>>>>> plot p parabola c to d
>>>>>>>>
>>>>>>>> to plot the above parabola for x in the interval from c to d.
>>>>>>>>
>>>>>>>>
>>>>>>>> Here is verb "to"
>>>>>>>>
>>>>>>>> to =: [ + -~ * 1r512 * [: i. 513"_
>>>>>>>>
>>>>>>>> NB. c to d produces 513 equally spaced values from (real) c to d
>>>>>>>>
>>>>>>>>
>>>>>>>> Above tested on my iPad
>>>>>>>>
>>>>>>>> IFIPAD
>>>>>>>> 1
>>>>>>>> VERSION
>>>>>>>> 1.3 5
>>>>>>>>
>>>>>>>>
>>>>>>>> --Kip Murray
>>>>>>>>
>>>>>>>> Sent from my iPad
>>>>>>>>
>>>>>>>> ----------------------------------------------------------------------
>>>>>>>> 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
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm