以下是使用NumPy库补充完整的代码:
import numpy as np
def is_positive_definite(matrix):
# 判断矩阵是否是方阵
if matrix.shape[0] != matrix.shape[1]:
print("矩阵不是一个方阵!")
return False
# 计算矩阵的特征值
eigenvalues = np.linalg.eigvals(matrix)
print("矩阵的特征值为:", eigenvalues)
# 判断是否所有的特征值都大于e
e = 0
if np.any(eigenvalues <= e):
print("有特征值小于等于e")
return False
# 判断所有主子矩阵的行列式是否大于e
for i in range(1, matrix.shape[0]+1):
# 获取主子矩阵,通过提取矩阵的前i行和前i列得到
sub_matrix = matrix[:i, :i]
# 计算主子矩阵的行列式,判断其行列式是否大于e
if np.linalg.det(sub_matrix) <= e:
print("存在行列式小于等于e的主子矩阵")
return False
return True
if __name__ == '__main__':
# 在此处尝试输入不同的矩阵,验证矩阵是否具有正定性质。
# 使用np.array()函数来创建NumPy数组
matrix = np.array([[1, 2, 3], [2, 5, 6], [3, 6, 9]])
print(is_positive_definite(matrix))
以下是修改后的代码:
import numpy as np
np.random.seed(10)
x = np.random.choice(range(1, 11), 100, replace=True)
print(x)
# 初始化计数器,它计算x的奇数元素数
odd_count = 0
# 对于x中的每个元素
for elem in x:
# 当x的相关元素为奇数时,增加计数器
if elem % 2 == 1:
odd_count += 1
# 使用paste()函数粘贴字符串:“奇数元素数=”和值计数器
print("奇数元素数=", odd_count)
print("偶数元素数=", len(x) - odd_count)