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

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

कैसे:

Go में, जटिल संख्याओं को complex, real, और imag बिल्ट-इन फंक्शंस के साथ-साथ complex64 और complex128 प्रकार (क्रमशः 64-बिट और 128-बिट जटिल संख्याओं का प्रतिनिधित्व) का उपयोग करके संभाला जाता है। यहाँ एक त्वरित प्रारंभिक मार्गदर्शिका है:

package main

import (
	"fmt"
)

func main() {
	// जटिल संख्याएँ बनाना
	a := complex(2, 3) // 2+3i
	b := complex(1, -1) // 1-1i

	// अंकगणितीय क्रियाएँ
	c := a + b
	fmt.Println("योग:", c) // परिणाम: योग: (3+2i)

	d := a * b
	fmt.Println("गुणा:", d) // परिणाम: गुणा: (5+1i)

	// वास्तविक और काल्पनिक भागों तक पहुंच
	realPart := real(a)
	imagPart := imag(a)
	fmt.Printf("वास्तविक भाग: %.1f, काल्पनिक भाग: %.1f\n", realPart, imagPart) // परिणाम: वास्तविक भाग: 2.0, काल्पनिक भाग: 3.0

	// जटिल संजुगेट और परिमाण की गणना की जा सकती है
	conjugate := complex(real(a), -imag(a)) // मैन्युअली
	fmt.Println("a का संजुगेट:", conjugate) // परिणाम: a का संजुगेट: (2-3i)
}

यह उदाहरण मूल बातों को कवर करता है, लेकिन जटिल संख्याओं के साथ आप बहुत कुछ कर सकते हैं, जिसमें परिमाण, चरण, और बहुत कुछ जैसे अधिक उन्नत ऑपरेशन के लिए math/cmplx पैकेज का लाभ उठाना शामिल है।

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

जटिल संख्याओं की अवधारणा 16वीं सदी में वापस जाती है, लेकिन केवल 19वीं सदी में व्यापक पहचान और कठोर औपचारिकता प्राप्त की। कंप्यूटर प्रोग्रामिंग में, जटिल संख्याएँ वैज्ञानिक और इंजीनियरिंग गणनाओं में जटिल अंकगणित के लिए शुरुआती दिनों से ही एक मुख्य तत्व रही हैं। Go math/cmplx पैकेज के माध्यम से बिल्ट-इन समर्थन और व्यापक मानक पुस्तकालय समर्थन के साथ इन्हें पहले दर्जे का नागरिक बनाकर, प्रोग्रामिंग भाषाओं में अद्वितीय है। यह डिज़ाइन निर्णय Go के सादगी और प्रदर्शन पर जोर देने को दर्शाता है।

फिर भी, यह ध्यान देने योग्य है कि Go में जटिल संख्याओं के साथ काम करना, जबकि शक्तिशाली, हमेशा सभी अनुप्रयोगों के लिए सर्वोत्तम दृष्टिकोण नहीं हो सकता है, विशेष रूप से उन्हें जिन्हें प्रतीकात्मक गणित या उच्च-परिशुद्धता अंकगणित की आवश्यकता होती है। वैज्ञानिक कंप्यूटिंग में विशेषीकृत भाषाएं और वातावरण, जैसे कि NumPy और SciPy जैसी पुस्तकालयों के साथ Python, या MATLAB जैसे सॉफ्टवेयर, विशिष्ट अनुप्रयोगों के लिए अधिक लचीलापन और अधिक विस्तृत रेंज की कार्यक्षमता प्रदान कर सकते हैं।

उस ने कहा, सिस्टम प्रोग्रामिंग और उन परिस्थितियों के लिए जहाँ बड़े, प्रदर्शन-संवेदनशील अनुप्रयोग में जटिल संख्या गणनाओं को एकीकृत करना महत्वपूर्ण है, Go का जटिल संख्याओं के लिए मूल समर्थन एक अद्वितीय कुशल विकल्प प्रदान करता है।