2011-10-19 16 views
6

मैं सी ++ में sqrt(-1) का प्रतिनिधित्व करना चाहता हूं, क्योंकि मैं एक एफएफटी एल्गोरिदम लागू करने की कोशिश कर रहा हूं। क्या इसका प्रतिनिधित्व करने का कोई अच्छा तरीका है?प्रोग्रामिंग में sqrt (-1) का प्रतिनिधित्व कैसे करें?

+1

ब्याज से बाहर एक अच्छा कारण है कि आप [एफएफटीडब्ल्यू] (http://www.fftw.org जैसे कुछ का उपयोग करने के बजाय खुद को एक एफएफटी दिनचर्या लिखना चाहते हैं) /)? – Flexo

+0

बस मैं एल्गोरिदम पुस्तकें (एमआईटी प्रेस) के लिए एल्गोरिदम पुस्तकें पढ़ रहा हूं, इसलिए बस –

+0

प्रशिक्षण नहीं दे रहा है आप हमेशा [मार्विन] पूछ सकते हैं (http://kasmana.people.cofc.edu/MATHFICT/mfview.php?callnumber=mf458) (पृष्ठ के नीचे अंतिम बड़े पीले बॉक्स वाले पाठ को देखें) – Skizz

उत्तर

17

मुझे लगता है कि आप #include <complex> उदाहरण के लिए देख रहे हैं: sqrt(-1)

std::complex<double> num(0,1); 

आप वास्तव में इस complex प्रकार के साथ std::sqrt उपयोग कर सकते हैं गणना करने के लिए:

#include <complex> 
#include <iostream> 

int main() { 
    const std::complex<double> result = std::sqrt(std::complex<double>(-1,0)); 
    std::cout << result << std::endl; 
} 

wn=exp((2*pi*i)/n) के लिए आप कर सकते हैं:

const double pi = std::acos(-1.0); 
const std::complex<double> i(0,1); 

std::complex<double> wn = std::exp((2*pi*i)/double(n)); 
+0

और 'जटिल i (0, 1);' वांछित मूल्य है। – Joren

+1

@ जोरेन: मुझे लगता है कि उसने पहले से ही कहा है कि ... –

+0

एक प्रश्न हम जानते हैं कि, एफएफटी विधि wn = exp ((2 * pi * i)/n) में यह कैसे होगा? –

संबंधित मुद्दे