In the example for Singular Value Decomposition found under the following link https://docs.nvidia.com/cuda/cusolver/index.html#svd_examples, matrices U and VT are initialized in the following way:
const int m = 3;
const int n = 2;
const int lda = m;
/* | 1 2 |
* A = | 4 5 |
* | 2 1 |
*/
double A[lda*n] = { 1.0, 4.0, 2.0, 2.0, 5.0, 1.0};
double U[lda*m]; // m-by-m unitary matrix
double VT[lda*n]; // n-by-n unitary matrix
Why is VT initialized as an array of length m*n if it is suppopsed to be an n-by-n matrix?