Store Devices Microsoft Surface PCs & tablets Xbox Virtual reality Accessories Windows phone Microsoft Band Software Office Windows Additional software Apps All apps Windows apps Windows phone apps Games Xbox One games Xbox 360 games PC games Windows games Windows phone games Entertainment All Entertainment Movies & TV Music Business & Education Business Store Education Store Developer Sale Back-to-school essentials Sale Products Software & services Windows Office Free downloads & security Internet Explorer Microsoft Edge Skype OneNote OneDrive Microsoft Health MSN Bing Microsoft Groove Microsoft Movies & TV Devices & Xbox All Microsoft devices Microsoft Surface All Windows PCs & tablets PC accessories Xbox & games Microsoft Band Microsoft Lumia All Windows phones Microsoft HoloLens For business Cloud Platform Microsoft Azure Microsoft Dynamics Windows for business Office for business Skype for business Surface for business Enterprise solutions Small business solutions Find a solutions provider Volume Licensing For developers & IT pros Develop Windows apps Microsoft Azure MSDN TechNet Visual Studio For students & educators Office for students OneNote in classroom Shop PCs & tablets perfect for students Microsoft in Education Support Sign in Research Research o Research Home o Research areas Algorithms Artificial intelligence and machine learning Computer systems and networking Computer vision Data visualization, analytics, and platform Ecology and environment Economics Graphics and multimedia Hardware, devices, and quantum computing Human-centered computing Mathematics o o o o o Medical, health, and genomics Natural language processing and speech Programming languages and software engineering Search and information retrieval Security, privacy, and cryptography Social Sciences Technology for emerging markets Products & Downloads Programs & Events Academic Programs Events & Conferences People Careers About About Microsoft Research blog Asia Lab Cambridge Lab India Lab New England Lab New York City Lab Redmond Lab Applied Sciences Lab Research areas o Algorithms o Artificial intelligence and machine learning o Computer systems and networking o Computer vision o Data visualization, analytics, and platform o Ecology and environment o Economics o Graphics and multimedia o Hardware, devices, and quantum computing o Human-centered computing o Mathematics o Medical, health, and genomics o Natural language processing and speech o Programming languages and software engineering o Search and information retrieval o Security, privacy, and cryptography o Social Sciences o Technology for emerging markets Products & Downloads Programs & Events o Academic Programs o Events & Conferences People Careers About o About o Microsoft Research blog o Asia Lab o Cambridge Lab o India Lab o New England Lab o New York City Lab o Redmond Lab o Applied Sciences Lab Code Generation and Factoring for Fast Evaluation of Low-order Spherical Harmonic Products and Squares May 1, 2006 Download Document BibTex Authors John Snyder Publication Type TechReport Pages 9 Number MSR-TR-2006-53 Abstract Related Info Abstract We present a method for fast evaluation of spherical harmonic (SH) products or, more generally, any binary product of vectors yielding a vector, where the product is governed by a fixed, sparse, symmetric, order 3 tensor, denoted Γijk. The method is given the nonzero entries of Γ as input (they can be computed analytically or by numerical integration for the SH basis) and makes use of an offline code generator to perform the necessary array indexing using constants rather than variables. Factoring is performed by collecting the tensor’s nonzero components, represented by index triples (i,j,k), into groups (i,j,k1), (i,j,k2), …,(i,j,kNij) which share a common pair of indices (i,j) in the triple, and which vary only in the third (completion) index km and its corresponding coefficient dm = Γijkm where m ∈ \1,2,…,Nij$. The collection is done using a greedy method that successively chooses the index pair (i,j) maximizing the number Nij of different km needed to complete the tensor’s nonzero index triples. The greedy method then continues to the next best initial pair, generates its contribution, and so on, until all nonzero triples have been accounted for. The combination of “greedy pair― factoring and generating constant array indices produces code that is significantly faster than naïve evaluation methods. Related Info Research Areas Mathematics Research Labs Microsoft Research Lab - Redmond Follow Microsoft Research Follow @MSFTResearch Share this page Tweet Learn Windows Office Skype Outlook OneDrive MSN Devices Microsoft Surface Xbox PC and laptops Microsoft Lumia Microsoft Band Microsoft HoloLens Microsoft Store View account Order tracking Retail store locations Returns Sales & support Downloads Download Center Windows downloads Windows 10 Apps Office Apps Microsoft Lumia Apps Internet Explorer Values Diversity and inclusion Accessibility Environment Microsoft Philanthropies Corporate Social Responsibility Privacy at Microsoft Company Careers About Microsoft Company news Investors Research Site map English (United States) Contact us Privacy & cookies Terms of use Trademarks About our ads © 2016 Microsoft ​