livia
livia

Reputation: 1

How can I generate matrix A satisfying AT*A=I with matlab?

I want to Randomly generate i.i.d. Gaussian ensemble A∈R m×n (m<<n) satisfying the transpose of A times A equals the identity matrix with matlab. Thanks!

I found an answer in mathworks, but the size of rows is far less than the size of columns.

A = randn(m, n);     % random mxn rows x col
R = orth( A.' ).';   % orthogonal rows
O_Mat = bsxfun(@rdivide, R, sqrt( sum( R.^2, 2 ) ) )`

It CANNOT create a matrix of size d by n with n>d, so more columns than rows, that has orthogonal columns. In addition, what is satisfied here is that the transpose of A multiplied by A is equal to the identity matrix.

Upvotes: 0

Views: 54

Answers (0)

Related Questions