NumPy का numpy.square() फंक्शन कॉम्प्लेक्स नंबर्स सहित किसी भी संख्यात्मक टाइप के ऐरे का एलिमेंट-वाइज़ वर्ग निकालता है। कॉम्प्लेक्स नंबर z = a + bj के लिए, z² = (a² - b²) + 2ab j होता है।
सिंटैक्स
numpy.square(x, /, out=None, *, where=True, ...)
- x: इनपुट ऐरे (कोई भी संख्यात्मक टाइप: int, float, complex)।
- वापसी: समान आकार और dtype का ऐरे जिसमें प्रत्येक एलिमेंट का वर्ग हो।
कॉम्प्लेक्स नंबर के लिए वर्ग गणना
यदि z = a + bi, तो:
z² = (a + bi)² = a² + 2abi + (bi)² = a² - b² + 2abi
वास्तविक भाग: a² - b²
काल्पनिक भाग: 2ab
उदाहरण
import numpy as np
# कॉम्प्लेक्स ऐरे
arr = np.array([[3 + 4j, 5 + 7j], [2 + 6j, -2j]])
print("मूल ऐरे:\n", arr)
print("\nडायमेंशन्स:", arr.ndim)
print("डेटा टाइप:", arr.dtype)
# वर्ग निकालें
squared = np.square(arr)
print("\nवर्ग परिणाम:\n", squared)
आउटपुट
मूल ऐरे:
[[ 3.+4.j 5.+7.j]
[ 2.+6.j -0.-2.j]]
डायमेंशन्स: 2
डेटा टाइप: complex128
वर्ग परिणाम:
[[ -7.+24.j -24.+70.j]
[-32.+24.j -4.+0.j]]
चरण-दर-चरण सत्यापन
| मूल (a+bi) | a | b | a²-b² (वास्तविक) | 2ab (काल्पनिक) | परिणाम |
|---|---|---|---|---|---|
| 3+4j | 3 | 4 | 9-16=-7 | 2×3×4=24 | -7+24j |
| 5+7j | 5 | 7 | 25-49=-24 | 2×5×7=70 | -24+70j |
| 2+6j | 2 | 6 | 4-36=-32 | 2×2×6=24 | -32+24j |
| 0-2j | 0 | -2 | 0-4=-4 | 2×0×(-2)=0 | -4+0j |
अन्य टाइप्स के साथ तुलना
# इंटीजर
print(np.square([2, -3, 4])) # [4 9 16]
# फ्लोट
print(np.square([1.5, -2.5])) # [2.25 6.25]
# कॉम्प्लेक्स
print(np.square([1+1j, 2-3j])) # [0.+2.j -5.-12.j]
square() बनाम ** 2
arr = np.array([3+4j, 5+7j])
print("np.square:", np.square(arr))
print("arr ** 2:", arr ** 2)
print("समान:", np.array_equal(np.square(arr), arr ** 2)) # True
उपयोग के मामले
- DSP में कॉम्प्लेक्स सिग्नल पावर गणना:
|z|² = z × z.conj()(नहीं square) - क्वांटम मैकेनिक्स में प्रायबिलिटी एम्प्लिट्यूड्स।
- कंट्रोल थ्योरी में ट्रांसफर फंक्शन विश्लेषण।
- फ्रैक्टल जनरेशन (मैंडेलब्रॉट सेट: z = z² + c)।
महत्वपूर्ण: |z|² बनाम z²
z = 3 + 4j
print("z² (वर्ग):", np.square(z)) # -7+24j
print("|z|² (मॉड्यूलस वर्ग):", np.abs(z)**2) # 25.0 (वास्तविक, गैर-नकारात्मक)
# DSP/फिजिक्स में आमतौर पर |z|² चाहिए