में कई एरे के एलिमेंट वार गुणा कुछ क्वांटम मैकेनिक्स दिनचर्या कोडिंग, मैंने पाइथन के न्यूमपी के उत्सुक व्यवहार की खोज की है। जब मैं दो से अधिक सरणी के साथ NumPy गुणा करता हूं, तो मुझे दोषपूर्ण परिणाम मिलते हैं। नीचे दिए गए कोड में, मुझे लिखना है:पाइथन नम्पी
f = np.multiply(rowH,colH)
A[row][col]=np.sum(np.multiply(f,w))
जो सही परिणाम उत्पन्न करता है। हालांकि, मेरा प्रारंभिक फॉर्मूलेशन यह था:
A[row][col]=np.sum(np.multiply(rowH, colH, w))
जो त्रुटि संदेश उत्पन्न नहीं करता है, लेकिन गलत परिणाम। यह सोचने में मेरी गलती कहां है कि मैं संख्यात्मक गुणा दिनचर्या के लिए तीन सरणी दे सकता हूं?
यहाँ पूर्ण कोड है:
from numpy.polynomial.hermite import Hermite, hermgauss
import numpy as np
import matplotlib.pyplot as plt
dim = 3
x,w = hermgauss(dim)
A = np.zeros((dim, dim))
#build matrix
for row in range(0, dim):
rowH = Hermite.basis(row)(x)
for col in range(0, dim):
colH = Hermite.basis(col)(x)
#gaussian quadrature in vectorized form
f = np.multiply(rowH,colH)
A[row][col]=np.sum(np.multiply(f,w))
print(A)
:: नोट :: इस कोड को केवल NumPy 1.7.0 और उच्च के साथ चलता है!
ठीक है, मेरा बुरा :-)। क्या मुझे इस पोस्ट को हटा देना चाहिए या आपको लगता है कि यह दूसरों के लिए उपयोगी है? – seb
इसे छोड़ दें। मेरी मदद की :) – mrjrdnthms