|
From: Raymond T. <toy...@gm...> - 2019-06-13 00:01:48
|
On Mon, Jun 10, 2019 at 9:59 PM Peter van Summeren < pet...@gm...> wrote: > Hello, > Thanks to all for help. > Wish list: > 1. the nome q(k) as optimized procedure (the Jacobi nome is basic for the > calculation of elliptic functions) > Well, maxima uses ascending and descending Landen transformations to compute the elliptic functions sn and cn. For dn, we use Gauss' transformation. > 2. the same for K(k)/K'(k) ( used for designing elliptic filters). > For elliptic filters, especially if you're going to implement them with analog components, double precision is more than enough accuracy and what maxima provides is probably more than good enough. Even for digital implementations, this is probably more than accurate enough. There are many more useful functions for designing elliptic filters. > With friendly greetings, > Peter > > Op ma 10 jun. 2019 19:41 schreef Raymond Toy <toy...@gm...>: > >> >>>>> "Peter" == Peter van Summeren <pet...@gm...> writes: >> >> Peter> Hello, >> >> Peter> I am checking a book from Miroslav Lutovac for the nomen >> q(k)=e^(-pi * K'/K) of the elliptic functions. >> >> Peter> He gives for k=sin(86degrees) a q of 0.2954883855586914 on >> page 512. >> >> Peter> I did: >> >> >> Peter> q(k):= (%e)^(-%pi * elliptic_kc(1-k^2)/elliptic_kc(k^2)); >> >> Peter> q(sin(%pi * 86/180)),numer; >> >> Peter> And got: 0.2954883855586907 >> >> Peter> It is a very small difference - only in the last two digits, >> but is it significant for something wrong? >> >> Peter> Can anyone check this result? >> >> Some notes. sin(%pi*88/180) produces 3 rounding errors for the arg, >> then then some error for sin. This is k. You then compute 1-k^2, >> This loses some accuracy since k is close to 1. It's probably more >> accurate to comput 1-k^2 = (1-k)*(1+k). >> >> elliptic_kc has some error, and computation of the ratio does too. >> Another round-off for multiplying by pi and finally, some error for >> the computation of the exponential. >> >> So, the result is pretty good. Could it be better, and still use >> double-float numbers? Probably. Having functions of k instead of m >> would help. An algorithm for q(k) would probably also help instead of >> using the definition of q(k). >> >> -- >> Ray >> >> >> >> _______________________________________________ >> Maxima-discuss mailing list >> Max...@li... >> https://lists.sourceforge.net/lists/listinfo/maxima-discuss >> > -- Ray |