我试图通过制作一个测试用例来增加测试范围,该用例将在以下程序中检查s矩阵的if条件。我不知道我将什么矩阵传递给函数np.linalg.svd
以获取测试用例的特定s矩阵。
为了找到该矩阵,我创建了以下程序,并期望它运行直到获得该矩阵。但是由于某种原因,它在执行几次后便会生成错误,并且停止了最大递归深度。我不知道为什么它会这样。
我正在通过python program.py
运行它
请帮忙
import numpy as np
import random
import pivot as p
def randomGenerator():
condition = True
while(condition):
matrices = np.random.rand(4, 4)
print(matrices)
u, s, v = np.linalg.svd(matrices, full_matrices=False)
Rank = 0
for i in range(len(s)):
if s[i] < 0.01:
s[i] = 0
print(s)
condition = False
else:
randomGenerator()
# Main #
randomGenerator()
最佳答案
答案是这样做没有递归。感谢G. Anderson。
import numpy as np
import random
import pivot as p
condition = True
while(condition):
matrices = np.random.rand(4, 4)
print(matrices)
u, s, v = np.linalg.svd(matrices, full_matrices=False)
Rank = 0
for i in range(len(s)):
if s[i] < 0.01:
s[i] = 0
print(s)
condition = False