You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
!! Compute singular value decomposition of a matrix \( A = U \cdot S \cdot \V^T \)
496
+
!!
497
+
!!### Description
498
+
!!
499
+
!! This function computes the singular value decomposition of a `real` or `complex` matrix \( A \),
500
+
!! and returns the array of singular values, and optionally the left matrix \( U \) containing the
501
+
!! left unitary singular vectors, and the right matrix \( V^T \), containing the right unitary
502
+
!! singular vectors.
503
+
!!
504
+
!! param: a Input matrix of size [m,n].
505
+
!! param: s Output `real` array of size [min(m,n)] returning a list of singular values.
506
+
!! param: u [optional] Output left singular matrix of size [m,m] or [m,min(m,n)] (.not.full_matrices). Contains singular vectors as columns.
507
+
!! param: vt [optional] Output right singular matrix of size [n,n] or [min(m,n),n] (.not.full_matrices). Contains singular vectors as rows.
508
+
!! param: overwrite_a [optional] Flag indicating if the input matrix can be overwritten.
509
+
!! param: full_matrices [optional] If `.true.` (default), matrices \( U \) and \( V^T \) have size [m,m], [n,n]. Otherwise, they are [m,k], [k,n] with `k=min(m,n)`.
510
+
!! param: err [optional] State return flag.
511
+
!!
472
512
!> Input matrix A[m,n]
473
513
${rt}$, intent(inout), target :: a(:,:)
474
514
!> Array of singular values
475
515
real(${rk}$), intent(out) :: s(:)
476
-
!> The columns of U contain the eigenvectors of A A^T
516
+
!> The columns of U contain the left singular vectors
477
517
${rt}$, optional, intent(out), target :: u(:,:)
478
-
!> The rows of V^T contain the eigenvectors of A^T A
518
+
!> The rows of V^T contain the right singular vectors
479
519
${rt}$, optional, intent(out), target :: vt(:,:)
480
520
!> [optional] Can A data be overwritten and destroyed?
!! Compute singular value decomposition of a matrix \( A = U \cdot S \cdot \V^T \)
96
+
!!
97
+
!!### Description
98
+
!!
99
+
!! This function computes the singular value decomposition of a `real` or `complex` matrix \( A \),
100
+
!! and returns the array of singular values, and optionally the left matrix \( U \) containing the
101
+
!! left unitary singular vectors, and the right matrix \( V^T \), containing the right unitary
102
+
!! singular vectors.
103
+
!!
104
+
!! param: a Input matrix of size [m,n].
105
+
!! param: s Output `real` array of size [min(m,n)] returning a list of singular values.
106
+
!! param: u [optional] Output left singular matrix of size [m,m] or [m,min(m,n)] (.not.full_matrices). Contains singular vectors as columns.
107
+
!! param: vt [optional] Output right singular matrix of size [n,n] or [min(m,n),n] (.not.full_matrices). Contains singular vectors as rows.
108
+
!! param: overwrite_a [optional] Flag indicating if the input matrix can be overwritten.
109
+
!! param: full_matrices [optional] If `.true.` (default), matrices \( U \) and \( V^T \) have size [m,m], [n,n]. Otherwise, they are [m,k], [k,n] with `k=min(m,n)`.
110
+
!! param: err [optional] State return flag.
111
+
!!
94
112
!> Input matrix A[m,n]
95
113
${rt}$, intent(inout), target :: a(:,:)
96
114
!> Array of singular values
97
115
real(${rk}$), intent(out) :: s(:)
98
-
!> The columns of U contain the eigenvectors of A A^T
116
+
!> The columns of U contain the left singular vectors
99
117
${rt}$, optional, intent(out), target :: u(:,:)
100
-
!> The rows of V^T contain the eigenvectors of A^T A
118
+
!> The rows of V^T contain the right singular vectors
101
119
${rt}$, optional, intent(out), target :: vt(:,:)
102
120
!> [optional] Can A data be overwritten and destroyed?
0 commit comments