1. 使用原生Python实现:
```python
def matrix_multiply_python(a, b):
rows_a = len(a)
cols_a = len(a)
rows_b = len(b)
cols_b = len(b)
if cols_a != rows_b:
raise ValueError("Matrices are not multiplicable")
result = []
for i in range(rows_a):
row = []
for j in range(cols_b):
sum_ = 0
for k in range(cols_a):
sum_ += a[i][k] * b[k][j]
row.append(sum_)
result.append(row)
return result if len(result) == 1 else result
2. 使用NumPy库实现:
```python
import numpy as np
创建矩阵
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])
矩阵乘法
C = np.dot(A, B)
print(C) 输出:[[19 22] [43 50]]
3. 使用NumPy的`@`运算符实现:
```python
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])
矩阵乘法
C = A @ B
print(C) 输出:[[19 22] [43 50]]
4. 使用NumPy的`matmul()`函数实现:
```python
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])
矩阵乘法
C = np.matmul(A, B)
print(C) 输出:[[19 22] [43 50]]
5. 使用NumPy的`*`运算符实现点乘(对应位置元素相乘后的积相加):
```python
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])
点乘
C = A * B
print(C) 输出:[[ 5 12] [21 32]]
请根据你的需求选择合适的方法进行矩阵乘法运算。