MCPcopy Create free account
hub / github.com/QuEST-Kit/QuEST / getDisceteFourierTransform

Function getDisceteFourierTransform

tests/utils/linalg.cpp:160–176  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

158
159
160qvector getDisceteFourierTransform(qvector in) {
161 DEMAND( in.size() > 0 );
162
163 size_t dim = in.size();
164 qvector out = getZeroVector(dim);
165
166 // PI must be accurate here
167 qreal pi = 3.14159265358979323846;
168 qreal a = 1 / std::sqrt(dim);
169 qreal b = 2 * pi / dim;
170
171 for (size_t x=0; x<dim; x++)
172 for (size_t y=0; y<dim; y++)
173 out[x] += a * std::exp(b * x * y * 1_i) * in[y];
174
175 return out;
176}
177
178
179qvector getDisceteFourierTransform(qvector in, vector<int> targs) {

Callers 1

SECTIONFunction · 0.85

Calls 4

getZeroVectorFunction · 0.85
getPow2Function · 0.85
getBitsAtFunction · 0.85
setBitsAtFunction · 0.85

Tested by

no test coverage detected