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