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: programming-boun...@forums.jsoftware.com 
[mailto:programming-boun...@forums.jsoftware.com] 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:k...@math.uh.edu> 
k...@math.uh.edu> 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:rogerhui.can...@gmail.com> 
> rogerhui.can...@gmail.com> 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:k...@math.uh.edu> 
> > k...@math.uh.edu> 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:rogerhui.can...@gmail.com> rogerhui.can...@gmail.com>

> 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:k...@math.uh.edu> 
> >>> k...@math.uh.edu> 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

Reply via email to