Tôi có một tạm python ndarray ở một số mã tôi đang đọc mà bị thế này: (. Tức là tương đương với m * m)Ma trận ** 2 có nghĩa là gì trong python/numpy?
x = temp**2
Đây có phải là dấu chấm vuông hoặc hình vuông ma trận (tức là m phải một ma trận vuông)? Đặc biệt, tôi muốn biết liệu tôi có thể thoát khỏi các transpose trong mã này:
temp = num.transpose(whatever)
num.sum(temp**2,axis=1))
và biến nó thành này:
num.sum(whatever**2,axis=0)
Điều đó sẽ tiết kiệm cho tôi ít nhất 0.1ms, và rõ ràng xứng đáng với thời gian của tôi.
Cảm ơn! Toán tử ** không thể giải quyết được và tôi không biết gì cả! a
Woot, cảm ơn. Fifteeeeenherewecome. –
Bạn được chào đón. (Tôi đã đăng nhập trở lại để chỉ ra một lưu ý rõ ràng, rằng nếu bạn là ndarray là> 2 kích thước, tôi không nghĩ rằng transposing, trục trao đổi điều sẽ làm việc.) – tom10
Tôi có thể thấy nơi này có thể gây nhầm lẫn. Nếu không biết Python, và hiểu rằng đối với số bình phương thực (và phức tạp) có nghĩa là "nhân một số", thì sẽ hợp lý để giả định rằng nó có nghĩa là "nhân một ma trận một mình" cho ma trận. Điều này có nghĩa là ma trận có số lượng hàng và cột bằng nhau, tất nhiên. – duffymo