python - 如何通过生成随机矩阵找到特定矩阵
问题描述
我正在尝试通过制作一个测试用例来增加我的测试覆盖率,该测试用例将在以下程序中检查 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. 安德森。
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
推荐阅读
- regex - Spark Scala:类似 SQL 与自定义 UDF
- javascript - 如何转义变量中的“/”字符?
- jquery - 无法使用 JQuery AJAX 获取请求下载 Pdf/Excel,其中一些数据与获取请求一起发送
- java - Spring Autowired 组件在 bean 方法中为空
- javascript - Javascript对象数组获取最后一个数组
- javascript - 为什么 SaveSvgAsPng 不支持标签
- php - 为什么在对每个请求使用 session_regenerate_id() 时打开一个新选项卡会导致先前选项卡中的页面被注销?
- java - Eclipse 自动完成方法变量
- python - 从数据框中删除多列
- swift - 传递传递的绑定 (@Binding)