जटिल संख्याओं के साथ काम करना

Haskell:
जटिल संख्याओं के साथ काम करना

कैसे करें:

हास्केल Data.Complex मॉड्यूल के साथ जटिल संख्याओं को संभालता है। यहाँ एक त्वरित दौरा है:

import Data.Complex

-- दो जटिल संख्याएँ परिभाषित करें
let z1 = 3 :+ 4  -- यानी 3 + 4i
let z2 = 5 :+ (-2)  -- 5 - 2i

-- अंकगणितीय कार्यवाही
let sum = z1 + z2  -- 8 :+ 2
let difference = z1 - z2  -- -2 :+ 6
let product = z1 * z2  -- 23 :+ 14
let quotient = z1 / z2  -- 0.20689655172413793 :+ 0.9655172413793104

-- जटिल संजुग
let conjugateZ1 = conjugate z1  -- 3 :+ (-4)

-- परिमाण और चरण
let magnitudeZ1 = magnitude z1  -- 5.0
let phaseZ1 = phase z1  -- 0.9272952180016122

-- ध्रुवीय से आयताकार परिवर्तन और इसके विपरीत
let z1Polar = polar z1  -- (5.0,0.9272952180016122)
let fromPolar = mkPolar 5.0 0.9272952180016122  -- z1 के समान

GHCi में उपरोक्त कोड लोड करने के बाद नमूना आउटपुट हो सकता है:

*Main> sum
8.0 :+ 2.0
*Main> product
23.0 :+ 14.0
*Main> magnitudeZ1
5.0

गहराई से अध्ययन

जटिल संख्याएँ 16वीं सदी में वापस जाती हैं लेकिन बहुत बाद में व्यापक रूप से स्वीकार की गई थीं। हास्केल, कई भाषाओं की तरह, जटिल अंकगणित के लिए मूल समर्थन प्रदान करता है, जिससे इन संख्याओं के साथ काम करना आसान हो जाता है बिना उसके पीछे के गणित को लागू किए बिना।

विकल्पों में आपका स्वयं का जटिल संख्या प्रकार बनाना या 3D ग्राफिक्स के लिए क्वाटर्नियन जैसे विशिष्ट डोमेन के लिए पुस्तकालयों का उपयोग शामिल है। लेकिन अधिकांश उपयोग के मामलों के लिए, हास्केल का Data.Complex काफी है।

भीतर की तरफ, Data.Complex सिर्फ एक डेटा प्रकार है जो दो Float या Double मानों को जोड़ता है, जो क्रमशः वास्तविक और काल्पनिक भागों का प्रतिनिधित्व करते हैं। यह हास्केल प्लेटफॉर्म पर जटिल संख्याओं के साथ काम करने का एक सरल और कुशल तरीका है।

देखें भी

हास्केल में जटिल संख्याओं पर अधिक जानकारी के लिए इन संसाधनों को देखें:

  • आधिकारिक हास्केल Data.Complex प्रलेखन: Hackage Data.Complex
  • हास्केल के संख्या प्रकारों में गहराई से डाइव: Learn You a Haskell for Great Good!
  • एक अनुप्रयोग के लिए, हास्केल में फास्ट फूरियर ट्रांसफॉर्म एल्गोरिथ्म का पता लगाएं: Haskell FFT library