在 Julia 中构建随机正交矩阵序列

问题描述 投票:0回答:2

在 Julia 中构建随机正交矩阵序列

可以像在 matlab 中那样通过 qr 分解构造一个随机正交:

A = rand(n,n)

Q, R = qr(A).

但是,如何构建 50 或 100 个正交随机矩阵?

matrix julia linear-algebra
2个回答
2
投票

这是一个生成 100 个正交 5x5 矩阵的数组理解:

Qs = [copy(qr(randn(5, 5)).Q) for _=1:100]

你可以检查它们是否都是正交的:

julia> all(Q'Q ≈ I for Q in Qs)
true

0
投票

Q = [rand(Haar(1),2) for _ = 1:n]

作为已接受答案的替代方案

© www.soinside.com 2019 - 2024. All rights reserved.