Post Reply 
41CL Quiz: Determinant of 30x30 anti-Identity matrix
05-12-2018, 05:21 AM (This post was last modified: 05-12-2018 08:56 AM by Ángel Martin.)
Post: #8
RE: 41CL Quiz: Determinant of 30x30 anti-Identity matrix
First, thanks John, Joe & Valentín for your inputs - cheating perhaps, but definitely worth it ;-) Obviously there's no color in comparing a PC emulator speed with a real machine - but I agree the emulators that mimic the real speed fall short of delivering what they should...

Now let's come back to the snail-world for a while, should we.

(05-11-2018 08:41 PM)Gene Wrote:  Gene: My mind went to the Y-registers applications rom right away (rom ID 21). The PPC matrix functions and the JMB are in there in FOCAL. Will love to see what the YRRM program does at 50X on this. MUCH slower than Valentin's solution though. :-)

And your mind is going to the right place - I guessed you'd make the connection, eagle-eyed as you are ;-)

Here's the detailed description of the solution.

1. We need the CL-Expanded Memory and the Y-REGS Apps ROMS plugged in the CL. Their mnemonics are XPMM and YRGA, just use the function PLUG to configure the MMU. Each of these two is a 4k ROM, thus two pages will be used.

2. Unless you feel like entering the 900 elements by hand (ouch!), we also need a short data entry routine to build the test matrix. The code snippets below take care of it, and I've also thrown in another short one to create an identity matrix (the opposite to our test case, i.e. an Anti-AntiIdentity ;=O

The two routines we'll use are YONE - to create a matrix with all ones, and YZDG, to Zero the diagonal elements of a matrix. They can be chained so just press R/S after YONE to complete the task - or use them individually if you prefer).

3. With the routines loaded in RAM we can execute the order:

Remembering that the matrix control words are of the form bbb.eeerr, we type:

1.90030, XEQ "YONE", R/S, CF 00, 30, XROM "YDET" => -28.999999977

That's all there's to it - at least the command line here is comparable in size with those in the ultra-powerful universes shown by Valentín, John and Joe,

I'd love to hear other options you have in mind - specially faster ones - perhaps using other DETerminant programs as I hinted at in a previous post.

Code:
1    LBL "YONE"
2    ENTER^
3    FIX 3
4    RND
5    E
6    XEQ 00
7    RTN
8    RCL Z
9    LBL "YZDG"
10    E-5
11    +
12    0
13    LBL 00
14    YSTO IND Y(3)
15    ISG Y(3)
16    GTO 00
17    END

Code:
1    LBL "YIDN"
2    ENTER^
3    FIX 3
4    RND
5    CLYRGX
6    X<>Y
7    E-5
8    +
9    E
10    LBL 02
11    YSTO IND Y(3)
12    ISG Y(3)
13    GTO 02

Best,
ÁM

"To live or die by your own sword one must first learn to wield it aptly."
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: 41CL Quiz: Determinant of 30x30 anti-Identity matrix - Ángel Martin - 05-12-2018 05:21 AM



User(s) browsing this thread: 6 Guest(s)