Show simple item record

dc.contributor.authorMcAdams, Alekaen_US
dc.contributor.authorSelle, Andrewen_US
dc.contributor.authorTamstorf, Rasmusen_US
dc.contributor.authorTeran, Josephen_US
dc.contributor.authorSifakis, Eftychiosen_US
dc.date.accessioned2012-03-15T17:25:33Z
dc.date.available2012-03-15T17:25:33Z
dc.date.created2011en_US
dc.date.issued2011en_US
dc.identifier.citationTR1690en_US
dc.identifier.urihttp://digital.library.wisc.edu/1793/60736
dc.description.abstractA numerical method for the computation of the Singular Value Decomposition of 3x3 matrices is presented.The proposed methodology robustly handles rank-deficient matrices and guarantees orthonormality of the computed rotational factors. The algorithm is tailored to the characteristics of SIMD or vector processors. In particular, it does not require any explicit branching beyond simple conditional assignments (as in the C++ ternary operator "?:", or the SSE4.1 instruction VBLENDPS), enabling trivial data-level parallelism for any number of operations. Furthermore, no trigonometric or other expensive operations are required; the only floating point operations utilized are addition, multiplication, and an inexact (yet fast) reciprocal square root which is broadly available on current SIMD/vector architectures. The performance observed approaches the limit of making the 3x3 SVD a memory-bound (as opposed to CPU-bound) operation on current SMP platforms.en_US
dc.format.mimetypeapplication/pdfen_US
dc.publisherUniversity of Wisconsin-Madison Department of Computer Sciencesen_US
dc.titleComputing the Singular Value Decomposition of 3x3 matrices with minimal branching and elementary floating point operationsen_US
dc.typeTechnical Reporten_US


Files in this item

Thumbnail

This item appears in the following Collection(s)

  • CS Technical Reports
    Technical Reports Archive for the Department of Computer Sciences at the University of Wisconsin-Madison

Show simple item record