Rewrite to make a=1 (i.e get 4 2 3 % 4)
'b c' =:2 3%4
(-b)(+,-)%:(*:b=:-:b)-c
_0.25j0.829156 _0.25j_0.829156
p.3 2 4
┌─┬──────────────────────────────┐
│4│_0.25j0.829156 _0.25j_0.829156│
└─┴──────────────────────────────┘
or , to retain b, c
'b c'=:(2 4)%3
(- -:b)(+,-)%:(*:-:b)-c
_0.333333j1.10554 _0.333333j_1.10554
b,c
0.666667 1.33333
p.4 2 3
┌─┬────────────────────────────────────┐
│3│_0.333333j1.10554 _0.333333j_1.10554│
└─┴────────────────────────────────────┘
Don
On 12/12/2012 4:10 AM, km wrote:
Thanks, Linda, I like this. Was trying to stay close to the Iverson-McDonnell
formula. Kip
Sent from my iPad
On Dec 12, 2012, at 2:24 AM, "Linda Alvord" <[email protected]> wrote:
Kip, Here are two thoughts:
This uses [: only rather than both [: and @
%~ can be "read" as "into" (it makes a prettier tree!)
a =:0 { ]
b =:1 { ]
c =:2 { ]
roots2=:(2*a)%~([:-b)(+,-)[:%:([:*:b)-4*a*c
roots2 1 3 2
_1 _2
roots2 1 0 4
0j2 0j_2
5!:4 <'roots2'
┌─ 2
┌─────┼─ *
│ └─ a
│
├─ ~ ─── %
│ ┌─ [:
──┤ ┌───┼─ -
│ │ └─ b
│ │
│ │ ┌─ +
│ ├───┼─ ,
└─────┤ └─ -
│
│ ┌─ [:
│ ├─ %:
│ │ ┌─ [:
└───┤ ┌───┼─ *:
│ │ └─ b
│ ├─ -
└────┤ ┌─ 4
│ ├─ *
└───┤ ┌─ a
└────┼─ *
└─ c
Linda
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Roger Hui
Sent: Wednesday, December 12, 2012 2:23 AM
To: Programming forum
Subject: Re: [Jprogramming] Cool roots
Cool.
On Tue, Dec 11, 2012 at 7:54 PM, km < <mailto:[email protected]>
[email protected]> wrote:
Apologies:
a =: 0 { ]
b =: 1 { ]
c =: 2 { ]
roots =: ( (-@b) (+ , -) [: %: *:@b - 4 * a * c ) % 2 * a
roots 1 3 2
_1 _2
roots 1 0 1
0j1 0j_1
roots 1 2 1
_1 _1
Kip Murray
Sent from my iPad
On Dec 11, 2012, at 5:29 PM, Roger Hui < <mailto:[email protected]>
[email protected]> wrote:
There are some cheeky (or is it cheesy?) versions:
(2*a) %~ (-b) (+,-) %: (b^2) - 4*a*c NB. Kip Murray
(2*a) %~ - b (+,-) %: (b^2) - 4*a*c
(+:a) %~ - b (+,-) %: (*:b) - 4*a*c
-: a %~ - b (+,-) %: (*:b) - 4*a*c
On Tue, Dec 11, 2012 at 11:37 AM, km < <mailto:[email protected]>
[email protected]> wrote:
It appears this could be translated into J as the rather cool
(2*a) %~ (-b) (+,-) %: (b^2) - 4*a*c
Sent from my iPad
On Dec 11, 2012, at 12:59 PM, Roger Hui < <mailto:[email protected]>
[email protected]>
wrote:
Example from the Iverson and McDonnell *Phrasal
Forms*< <http://www.jsoftware.com/papers/fork.htm>
http://www.jsoftware.com/papers/fork.htm>paper (which
introduced fork):
(-b)(+,-)√((b*2)-4×a×c)÷2×a
√ is a postulated APL primitive, spelled %: in J.
On Tue, Dec 11, 2012 at 10:49 AM, km < <mailto:[email protected]>
[email protected]> wrote:
What is the coolest way of programming the quadratic formula in
J? We
are
finding the roots of polynomial c + x*(b + x*a) without using p.
. I
offer
roots
3 : 0
'a b c' =. y
q =. %: (b^2) - 4*a*c
(2*a) %~ (-b) + q,-q
)
roots 1 3 2
_1 _2
roots 1 0 1
0j1 0j_1
roots 1 _2 1
1 1
partly as problem definition. I am looking for cool roots verbs!
Kip Murray
Sent from my iPad
-----------------------------------------------------------------
----- For information about J forums see
<http://www.jsoftware.com/forums.htm> http://www.jsoftware.com/forums.htm
------------------------------------------------------------------
---- For information about J forums see
<http://www.jsoftware.com/forums.htm> http://www.jsoftware.com/forums.htm
-------------------------------------------------------------------
--- For information about J forums see
<http://www.jsoftware.com/forums.htm> http://www.jsoftware.com/forums.htm
--------------------------------------------------------------------
-- For information about J forums see
<http://www.jsoftware.com/forums.htm> http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see <http://www.jsoftware.com/forums.htm>
http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see <http://www.jsoftware.com/forums.htm>
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