User:Devon McCormick/JacobiByMcIntyreLarge

From J Wiki
Jump to navigation Jump to search

This is an article by Donald McIntyre on Jacobi's method for eigenvalues from the January, 1993 issue of Vector (Vol. 9, No. 3). It's of interest as background to the "At Play With J" essay by Eugene McDonnell which refers to it. It's a bit dated from a code perspective as it uses an older version of J but it's useful as an introduction to eigenvalues and their interpretation and use.

Some of the code from the first part of the article is available File:JacobiMcIntyreSomeCode.txt; most of the earlier definitions will work in a contemporary (ca. 2010) version of J.

JacobiMethodEigenvaluesByMcIntyre125 Vec199301 66.jpg JacobiMethodEigenvaluesByMcIntyre126 Vec199301 66.jpg

The J in this section almost works in the current version of J if we re-write the definition of "pt" to be this:

pt=. [: (, i. [: >./ ut # ,) |

The other code in this section may be found File:P127Code.txt; this also includes a definition of the matrix "y" as shown in the article since the current random number generator gives a different answer.

JacobiMethodEigenvaluesByMcIntyre127 Vec199301 66.jpg

The J in this section, after the initial one-line definitions, starts to get very outdated, especially in the definition of the "jacobi" function. Note the use of "y." instead of "y" and the old loop construct. Also, it looks like "$." used to have something to do with flow control but this is before I seriously attempted to learn J so I'm not familiar with its history. The code, as shown, may be found File:P128Code.txt.

JacobiMethodEigenvaluesByMcIntyre128 Vec199301 66.jpg JacobiMethodEigenvaluesByMcIntyre129 Vec199301 66.jpg JacobiMethodEigenvaluesByMcIntyre130 Vec199301 66.jpg JacobiMethodEigenvaluesByMcIntyre131 Vec199301 66.jpg JacobiMethodEigenvaluesByMcIntyre132 Vec199301 66.jpg JacobiMethodEigenvaluesByMcIntyre133 Vec199301 66.jpg