From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 10.157.52.68 with SMTP id v62mr21690491otb.27.1470517141073; Sat, 06 Aug 2016 13:59:01 -0700 (PDT) X-Received: by 10.157.49.75 with SMTP id v11mr2040795otd.12.1470517141022; Sat, 06 Aug 2016 13:59:01 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!feeder.eternal-september.org!news.glorb.com!f6no7910836ith.0!news-out.google.com!d68ni18986ith.0!nntp.google.com!f6no7910828ith.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Sat, 6 Aug 2016 13:59:00 -0700 (PDT) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=50.111.146.161; posting-account=Ies7ywoAAACcdHZMiIRy0M84lcJvfxwg NNTP-Posting-Host: 50.111.146.161 References: <31c22983-150c-4dab-abba-588e15f75914@googlegroups.com> <84d258dc-b60d-4a49-9af4-27dd6f3e5f5f@googlegroups.com> <1703ca9a-2665-4435-9564-4abd8a77ebe9@googlegroups.com> <12ca4276-cd1e-49ae-b5dc-56432e721687@googlegroups.com> <2a3fc931-feb3-4542-a4c9-e43affa5c4f4@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Re: New IEEE Language Popularity Ratings From: brbarkstrom@gmail.com Injection-Date: Sat, 06 Aug 2016 20:59:01 +0000 Content-Type: text/plain; charset=UTF-8 Xref: news.eternal-september.org comp.lang.ada:31309 Date: 2016-08-06T13:59:00-07:00 List-Id: LUP decomposition is part of the tools involved in SVD. You should consult either Numerical Recipes for Scientists and Engineers, or, better, Lawson, C. L. and Hanson, R. J., 1974: Solving Least Squares Problems, Prentice-Hall, Englewood Cliffs, NJ They use Householder reductions, not just simple LUP decomposition. They demonstrate that this approach preserves accuracy and does well with phenomena such as truncation error. The problems arise when the singular values get small. The matrix inversion takes the inverse of the singular values as part of its calculations. This introduces wild oscillations in the solutions. if the matrix is ill-conditioned. Lawson and Hanson's algorithms were used in the Linpack and Lapack libraries. The algorithms include pivoting to sort the singular values and reduce loss of significant digits. While the code was originally written for machines such as the 60-bit CDC machines as well as other architectures, they work fine on Windows 32 and 64-bit machines. You might look up the code, which is available in FORTRAN - and try some of the examples of nearly singular matrices to see how your LUP inversions hold up. On RNG, the Park-Miller algorithm is written for at least 64-bit calculations. The critical issue in this is the length of the cycles, not just the hardware. I expect that the RNG algorithms have improved, although I haven't actively checked their current state. There's a lot of mathematical sophistication involved in generating a reliable generator. Again, Knuth should be the start of the discussion. His third edition of The Art of Computer Programming, Volume 2, has about 50 pages devoted to statistical tests of random number generators. They include empirical tests, theoretical tests, and spectral tests. Knuth also describes how to do multi-byte numerical calculations with a sound mathematical basis. Along this line, is there documentation of which random number tests GNAT used for its generator? Bruce B.