作为合成噪声生成算法的一部分,我必须动态构造许多大型非奇异方阵
a i,j (i,j:1..n) / ∀ (i,j) a i,j ∈ ℤ and 0 ≤ a i,j ≤ k and Det[a] ≠ 0
but the a i,j should also be random following a uniform distribution in [0, k].
在当前的版本中,该问题的 n ≅ 300,k≅ 100。
在 Mathematica 中,我可以非常快速地生成随机元素矩阵,但问题是我还必须检查奇点。我目前正在使用行列式值。
问题是,对于 300x300 矩阵,此检查需要花费近 2 秒的时间,而我负担不起。
当然,我可以通过选择随机的第一行然后构造连续的正交行来构造行,但我不确定如何保证这些行的元素遵循 [0,k] 中的均匀分布。
我正在 Mathematica 中寻找解决方案,但也欢迎更快的生成矩阵的算法。
NB> U[0,k] 条件意味着采用一组矩阵,每个矩阵position整个集合中的 (i , j) 应遵循均匀分布。