hi, there, I am trying to look for a good algorithm for matrix inversion on ADSP ts101s. It is better be the assembler language version. I have tried the C function matinvf() from Analog device library, It costs me 1.62ms for a 32*32 float matrix. This time is not I want. I hope the computation should be about 100 microseconds. Does anybody know if the C library on VisualDSP++ is optimized for TS101/TS202 chip or not? Or if you can give me some clue to speed up this compuatation? thanks and have a nice day. bug.
matrix inversion on ADSP TS101s
Started by ●November 21, 2006
Reply by ●November 21, 20062006-11-21
caterpiller wrote:> Or if you can give me some clue to speed up this compuatation?My suggestion would be that you think carefully if you really need to invert a matrix. If it is to obtain x in Ax = b, then you most definitely don't need to find A^-1 to do that --- you solve by whatever method suits your application. Most instances where we feel that we need to compute A^-1 can be reduced to a case where you only need to solve a system Ax = b. Carlos --
Reply by ●November 21, 20062006-11-21
Thanks. I also want to confirm the time calculation this is my code: clock_t startTime,stopTime; unsigned int timeDiff; startTime = clock(); matinvf(shared_data,N,output_data); stopTime = clock(); timeDiff=stopTime-startTime; The TS101 is 250M Hz, so the total time is equal to timeDiff/250,000,000 second. right? thanks. Carlos Moreno wrote:> caterpiller wrote: > > > Or if you can give me some clue to speed up this compuatation? > > My suggestion would be that you think carefully if you really > need to invert a matrix. If it is to obtain x in Ax = b, then > you most definitely don't need to find A^-1 to do that --- you > solve by whatever method suits your application. > > Most instances where we feel that we need to compute A^-1 can > be reduced to a case where you only need to solve a system > Ax = b. > > Carlos > --