> Does anybody know a SHARC assembler routine for matrix inversion?
The > one described in the ADSP21000 Family Applications Handbook doesn't > work with ADSP21061. Hi Ralph, why exactly doesn't that algorithm work for the 61? Too little memory? Regards, Andor |
AW: matrix inversion
Started by ●December 17, 1999
Reply by ●December 22, 19991999-12-22
Hi Ralf, > There are two problems: > > 1. The code generates an assembler error in two lines like: > if ne jump (PC,12), f4=dm(i0,m2); Good one. try: compute, f0 = dm(i0,m2); /* or any other unused register */ if ne jump (PC,12), f4= pass f0; /* this is equivalent to the above */ or: if ne jump (PC,12) (db); f0 = dm(i0,m2); /* doesn't affect ASTAT */ if ne f0 = pass f4; /* same effect as initial instruction, with same cycle count */ > 2. If I correct this by putting the second instruction in a separate > line (rather complicated because of the "if"), assembling is possible > without errors, but the matrix inversion doesn't deliver correct > results. Hmmm. I'd suggest you make a simple example and then follow the program with the simulator to see where it goes wrong. Or, if your matrix size is fixed, try a direct imlplementation of the formal solution of the inverse matrix (which gets kind of unhandy for N>3). Regards, Andor WEISS ENGINEERING LTD. - Professional Digital Audio Products Florastrasse 42 8610 Uster Switzerland phone: +41 1 940 20 06, fax: +41 1 940 22 14 mailto: web: http://www.weiss.ch You *can* afford the best |