Sto facendo uso di un processore basato su ARM Cortex-A8 e ho diversi punti in cui calcolo le operazioni inverse della matrice 3x3.È possibile l'inversione della matrice 3x3 utilizzando le istruzioni SIMD?
Come il processore Cortex-A8 ha un processore NEON SIMD Sono interessato a utilizzare questa co-processore per matrice 3x3 inversa, ho visto le implementazioni diverse 4x4 (Intel SSE e freevec) ma non dove ho visto una matrice 3x3 operazione inversa eseguita utilizzando le istruzioni SIMD. Il metodo utilizzato da freevec è quello di dividere la matrice 4x4 in 4, 2x2 matrici, quindi eseguire minuscole operazioni su ciascuna e ricombinare i risultati alla fine per ottenere l'inverso della matrice 4x4. Non vedo un'opportunità simile con le matrici 3x3.
Chiunque abbia un'idea di come eseguire l'inversione della matrice 3x3 utilizzando le istruzioni SIMD, sarà molto utile per me?
saluti Vikram
Forse di interesse: "Non c'è quasi mai una buona ragione per invertire una matrice". http://www.johndcook.com/blog/2010/01/19/dont-invert-that-matrix/ – AakashM
Prenderà seriamente il tuo commento e vedrò come posso eliminare l'inversione di matrice dal mio algoritmo. – HaggarTheHorrible
@AakashM che l'articolo non è pertinente. L'articolo di John D. Cook sulle matrici riguarda le grandi matrici utilizzate nel calcolo scientifico. Questa domanda riguarda le piccole matrici, che sono comunemente usate in computer grafica e simulazione fisica. È molto utile (e abbastanza veloce) invertire le matrici piccole. – exDM69