I see what you mean. But, as stated, this would bulk up the display unnecessarily.
You could probably add a rule for trimming zero digits, which might make this palatable, but that would be something different. -- Raul On Sat, Mar 10, 2018 at 9:56 AM, 'Bo Jacoby' via Programming <programm...@jsoftware.com> wrote: > Yes Raul. > I do not at all claim that (p5) is better that (p.). > Perhaps J should always display the same number of decimals for the real part > and the imaginary part of a complex number, such that the result would read > _1.00000j0.00000 _1.00000j0.00000 > (%:i.2) is (0 1) , and (%:i.3) is (0 1 1.41421) , but perhaps should be > > 0.00000 1.00000 1.41421 > with the same number of decimals in every component of a vector. > > See what I mean? > Thanks. > Bo. > > > > > > > Den 15:26 lørdag den 10. marts 2018 skrev Raul Miller > <rauldmil...@gmail.com>: > > > Looks like you could use another stage to clean up results? > > 1 {:: p. 1 2 1 > _1 _1 > > p5 1 2 1 > _1j1.54593e_9 _1j3.48012e_9 > > P.S. looking at the source, J is using Laguerre's method (so I'd use > p.. if I were re-implementing it in J). > > Thanks, > > -- > Raul > > > On Sat, Mar 10, 2018 at 2:13 AM, 'Bo Jacoby' via Programming > <programm...@jsoftware.com> wrote: >> (p.) is OK, but I do not know how it works. >> Thanks to Raul Miller and to R.E.Boss, my home-cooked equation solver looks >> like this. >> p1=.+`*/&}:&|:@(,@,."_ 0) NB. evaluate polynomial x at point y >> p2=.*/&|:&(+0&=)&(-/~) NB. multiply differences between approximate roots >> p3=.]-p1%p2@:] NB. iteration step >> p4=.](p3^:_)0.8j0.6^i.@:<:&$ NB. solve a normalized equation >> p5=.p4&(%{:)&({.~>:&{:&(-.&(0&=)#i.&#)) NB. normalize and solve >> NB. This J code can probably be further compacted. >> NB. test runs: >> load'plot' >> pl=:[:'dot;pensize 5'&plot 0j1*] NB. vertical real axis >> a=. 0 1 2 3 4 5 0 NB. test coefficients >> pl p5 a NB. show complex roots using (p5) >> pl >}.p.a NB. show complex roots using (p.) >> p5 1 NB. show no roots using (p5) >> >> p.1 NB. show no roots using (p.) >> |domain error >> | p.1 >> >> Thanks! Bo. >> >> Den 20:53 onsdag den 7. marts 2018 skrev R.E. Boss <r.e.b...@outlook.com>: >> >> >> a |:@:(,@,."_ 0) b >> >> >> R.E. Boss >> >> >>> -----Original Message----- >>> From: Programming <programming-boun...@forums.jsoftware.com> On >>> Behalf Of 'Bo Jacoby' via Programming >>> Sent: maandag 5 maart 2018 14:35 >>> To: Programming Forum <programm...@jsoftware.com> >>> Subject: [Jprogramming] (,a,.2),.,a,.3 >>> >>> Let (a =. _1 _1 0 0 0 1) and (b =. 2 3). >>> For my own education I am trying to make a homecooked version of (p.). >>> >>> (+`*/}:(,a,.2),.,a,.3) produces the same result as (a p. b) I need a nice >>> verb (f) >>> such that (a f b) produces ((,a,.2),.,a,.3) Thanks! Bo. >>> ---------------------------------------------------------------------- >>> 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