Preliminariamacierzy w jest równa zwiniętemu splotowi kolumnyx β1 ,...,β i−1 ,•,β i+1 ,...,β d= ( ) ni −1x β1 ,...,β i−1 ,j,β i+1 ,...,β di wektora y i .Korzystając z tej definicji otrzymano metodę obliczania splotu wielowymiarowegoz = x ⊗ y zapisaną w postaci Algorytmu 3.3, w którym hipermacierz wejściowax = (x α ) α∈Qnzmienia się d razy poprzez cząstkowe splatanie z wektorem y i dlai = 1, 2, · · · , d.j=0Algorytm 3.3. Splot wielowymiarowy.Input: Hipermacierz x = (x α ) α∈Qni tablica y = (y i ) d i=1 , gdziey i = (y i,0 , y i,1 , . . . , y i,ni −1), n = (n 1 , n 2 , . . . n d ) oraz liczba całkowita d.Output: Wielowymiarowy splot z = (z α ) α∈Qn.1. Dla k od 1 do d:1.1. Oblicz x = x ⊗ k y k .2. Podstaw z = x.Algorytm dekonwolucji wielowymiarowej można skonstruować uogólniając ideepodane w Algorytmach 3.1 i 3.3:x = z ⊗ d y −1d⊗ d−1 y −1d−1 ⊗ d−2 · · · ⊗ 1 y −11 .Złożoność obliczeniowa C (N) algorytmu obliczania splotu wielowymiarowegoopartego na wzorze (3.7) wynosiO (N log N) , N = n 1 n 2 . . . n d ,w przypadku obliczania zwiniętego splotu algorytmem rzędu O (n log n) (zob. wzór(3.4)). W przypadku stosowania innych wspomnianych w poprzednim podrozdzialealgorytmów można jedynie stwierdzić, żeC (N) = N20d∑i=1c (n i )n i,
Preliminariagdzie c(n i ) oznacza koszt wyznaczenia zwiniętego splotu wektorów o n i współrzędnych.Jest to naturalną konsekwencją następującej obserwacji: w celu obliczeniasplotu wielowymiarowego należy kolejno obliczyć N N Nn 1,n 2, . . .,n dsplotów jednowymiarowychdla wektorów mających odpowiednio n 1 , n 2 , . . . , n d elementów.21