2013-10-03 1 views
-1

나는 2^-1 2^-2 ... 2^-40으로 정의 된 지수 적으로 등급이 지정된 특이 값을 갖는 무작위 40x40 행렬 A를 생성한다고 가정합니다. 어떻게해야합니까? 그것은 np.linalg.qr가 유용하다고 말합니다. 나는 np.random.rand (40, 40)를 일에 대해 생각했다하지만 난 기하 급수적으로파이썬 행렬과 그램 - 슈미트 프로 시저 구현

오름차순 대각선을 만드는 방법을 알고하지 않습니다 그리고 그것은 Gradm - 슈미트 과정을 도움말을 구현하기 위해 말한다!

+0

로를 얻을 수 수학이 진행될 때까지 D = 2^-1 ... 2^-40을 40x40 대각선 행렬로 쓰고 랜덤 유니 터리 U와 V를 생성하는 것이 더 쉽습니다. "원본"행렬을 얻기 위해 곱하면됩니다. 프로그래밍을 위해 무엇을 시도 했습니까? – kalhartt

+0

나는 투영을 정의하고 나서 행렬 A에서 각 벡터에 대한 직교 벡터를 찾는 것에 대해 생각하고 있었다. – user2843309

답변

0

이 글은 댓글 용으로 다소 길기 때문에 실제 답변이 아니더라도 여기에 남겨 두겠습니다.

처음으로 임의의 40x40 매트릭스를 생성하는 경우 원하는 고유 값을 갖도록 강제 할 수있는 방법이 없습니다. 대신 대각선 화에서 거꾸로 작업하는 것이 더 쉬울 것입니다. 여러분은 고유 값을 얻었고, 임의의 고유 벡터를 만들고 행렬을 다시 계산합니다.

개의 고유 값 \ mu_i = 2^-i로 주어 졌으므로 고유 벡터의 범위는 R^40입니다. 나는 개인적으로 40x40 단위 행렬을 취하고 무작위로 U를 만들어 A = UDU *로 만듭니다. 어디 D_ 당신이, 당신은 대신 40 임의의 선형 독립 벡터를 생성 할 수 있습니다 그램 - 슈미트를 사용하는 데 필요한 경우 mu_i

\ {(IJ)} = \ delta_ {(IJ)}와 그램 - 슈미트 그들 U.

관련 문제