Library/ManagedCuda/CudaSolve/CudaSolveNativeMethods.cs
/// <summary>
/// generates one of the unitary matrices Q or P**T determined by GEBRD
/// </summary>
/// <param name="handle">handle to the cuSolverDN library context.</param>
/// <param name="side">if side = CUBLAS_SIDE_LEFT, generate Q. if side = CUBLAS_SIDE_RIGHT, generate P**T.</param>
/// <param name="m">number of rows of matrix Q or P**T.</param>
/// <param name="n">if side = CUBLAS_SIDE_LEFT, m>= n>= min(m,k). if side = CUBLAS_SIDE_RIGHT, n>= m>= min(n,k).</param>
/// <param name="k">if side = CUBLAS_SIDE_LEFT, the number of columns in the original mby-
/// k matrix reduced by gebrd. if side = CUBLAS_SIDE_RIGHT, the number of rows in the original k-by-n matrix reduced by gebrd.</param>
/// <param name="A">array of dimension lda * n On entry, the vectors which define the
/// elementary reflectors, as returned by gebrd. On exit, the m-by-n matrix Q or P**T.</param>
/// <param name="lda">leading dimension of two-dimensional array used to store matrix A. lda >= max(1,m);</param>
/// <param name="tau">array of dimension min(m,k) if side is CUBLAS_SIDE_LEFT; of dimension min(n,k) if side is
/// CUBLAS_SIDE_RIGHT; tau(i) must contain the scalar factor of the elementary reflector H(i) or G(i), which determines Q
/// or P**T, as returned by gebrd in its array argument TAUQ or TAUP.</param>
/// <param name="lwork">size of working array work.</param>
/// <param name="info">if info = 0, the ormqr is successful. if info = -i, the i-th parameter is wrong.</param>
/// <param name="work">working space, array of size lwork.</param>
generates one of the unitary matrices Q or P**T determined by GEBRD
generates one of the unitary matrices Q or P ** T determined by GEBRD
[DllImport(CUSOLVE_API_DLL_NAME)]
			public static extern cusolverStatus cusolverDnSorgbr(
				cusolverDnHandle handle,
				SideMode side, 
				int m,
				int n,
				int k,
				CUdeviceptr A,
				int lda,
				CUdeviceptr tau,
				CUdeviceptr work,
				int lwork,
				CUdeviceptr info);
[ DllImport ( CUSOLVE_API_DLL_NAME ) ] public static extern cusolverStatus cusolverDnSorgbr ( cusolverDnHandle handle , SideMode side , int m , int n , int k , CUdeviceptr A , int lda , CUdeviceptr tau , CUdeviceptr work , int lwork , CUdeviceptr info ) ;
generates one of the unitary matrices Q or P**T determined by GEBRD
generates one of the unitary matrices Q or P ** T determined by GEBRD
handle
cusolverDnHandle
handle to the cuSolverDN library context.
handle to the cuSolverDN library context .
side
SideMode
if side = CUBLAS_SIDE_LEFT, generate Q. if side = CUBLAS_SIDE_RIGHT, generate P**T.
if side = CUBLAS_SIDE_LEFT generate Q . if side = CUBLAS_SIDE_RIGHT generate P ** T .
m
int
number of rows of matrix Q or P**T.
number of rows of matrix Q or P ** T .
n
int
if side = CUBLAS_SIDE_LEFT, m>= n>= min(m,k). if side = CUBLAS_SIDE_RIGHT, n>= m>= min(n,k).
if side = CUBLAS_SIDE_LEFT m > = n > = min ( m k ) . if side = CUBLAS_SIDE_RIGHT n > = m > = min ( n k ) .
k
int
if side = CUBLAS_SIDE_LEFT, the number of columns in the original mby
k matrix reduced by gebrd. if side = CUBLAS_SIDE_RIGHT, the number of rows in the original k-by-n matrix reduced by gebrd.
if side = CUBLAS_SIDE_LEFT the number of columns in the original mby k matrix reduced by gebrd . if side = CUBLAS_SIDE_RIGHT the number of rows in the original k - by - n matrix reduced by gebrd .
A
CUdeviceptr
array of dimension lda * n On entry, the vectors which define the
elementary reflectors, as returned by gebrd. On exit, the m-by-n matrix Q or P**T.
array of dimension lda * n On entry the vectors which define the elementary reflectors as returned by gebrd . On exit the m - by - n matrix Q or P ** T .
lda
int
leading dimension of two-dimensional array used to store matrix A.
leading dimension of two - dimensional array used to store matrix A .
tau
CUdeviceptr
array of dimension min(m,k) if side is CUBLAS_SIDE_LEFT; of dimension min(n,k) if side is
CUBLAS_SIDE_RIGHT; tau(i) must contain the scalar factor of the elementary reflector H(i) or G(i), which determines Q
or P**T, as returned by gebrd in its array argument TAUQ or TAUP.
array of dimension min ( m k ) if side is CUBLAS_SIDE_LEFT ; of dimension min ( n k ) if side is CUBLAS_SIDE_RIGHT ; tau ( i ) must contain the scalar factor of the elementary reflector H ( i ) or G ( i ) which determines Q or P ** T as returned by gebrd in its array argument TAUQ or TAUP .
work
CUdeviceptr
working space, array of size lwork.
working space array of size lwork .
lwork
int
size of working array work.
size of working array work .
info
CUdeviceptr
if info = 0, the ormqr is successful. if info = -i, the i-th parameter is wrong.
if info = 0 the ormqr is successful . if info = - i the i - th parameter is wrong .