decomp

constexpr std::pair<std::vector<double>, std::vector<double>> decomp(const std::vector<Complex> &X) noexcept

Decomposes complex sequence into its real and imaginary components.

Parameters

const std::vector<Complex> &X

A complex sequence.

Returns

template<>
type std::pair<std::vector<double>, std::vector<double>>

The real and imaginary seqeunces.

Example

std::vector<Complex> X = {1 + 2_j, 2 + 3_j, 3, 4, 5};

int n = X.size();
auto [reX, imX] = decomp(X);

for(int i = 0; i < n; i++){
    std::cout << reX[i] << " " << imX[i] << "\n";
}

Output:

1 2
2 3
3 0
4 0
5 0