Class CudaSolveDense
CudaSolveDense: The cuSolverDN library was designed to solve dense linear systems of the form Ax=B
Inheritance
Implements
Inherited Members
Namespace: ManagedCuda.CudaSolve
Assembly: CudaSolve.dll
Syntax
public class CudaSolveDense : IDisposable
Constructors
| Improve this Doc View SourceCudaSolveDense()
Create new dense solve instance
Declaration
public CudaSolveDense()
CudaSolveDense(CudaStream)
Create new dense solve instance using stream stream
Declaration
public CudaSolveDense(CudaStream stream)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaStream | stream |
Methods
| Improve this Doc View SourceDispose()
Dispose
Declaration
public void Dispose()
Dispose(Boolean)
For IDisposable
Declaration
protected virtual void Dispose(bool fDisposing)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Boolean | fDisposing |
Finalize()
For dispose
Declaration
protected void Finalize()
Gebrd(Int32, Int32, CudaDeviceVariable<cuDoubleComplex>, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, Int32, CudaDeviceVariable<Int32>)
This function reduces a general real m×n matrix A to upper or lower bidiagonal form B by an orthogonal transformation: Q^HAP=B
Declaration
public void Gebrd(int m, int n, CudaDeviceVariable<cuDoubleComplex> A, int lda, CudaDeviceVariable<double> D, CudaDeviceVariable<double> E, CudaDeviceVariable<cuDoubleComplex> TAUQ, CudaDeviceVariable<cuDoubleComplex> TAUP, CudaDeviceVariable<cuDoubleComplex> Work, int Lwork, CudaDeviceVariable<int> devInfo)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaDeviceVariable<cuDoubleComplex> | A | array of dimension lda * n with lda is not less than max(1,n). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
| CudaDeviceVariable<System.Double> | D | array of dimension min(m,n). The diagonal elements of the bidiagonal matrix B: D(i) = A(i,i). |
| CudaDeviceVariable<System.Double> | E | array of dimension min(m,n). The off-diagonal elements of the bidiagonal matrix B: if m>=n, E(i) = A(i,i+1) for i = 1,2,...,n-1; if m<n, E(i) = A(i+1,i) for i = 1,2,...,m-1. |
| CudaDeviceVariable<cuDoubleComplex> | TAUQ | array of dimension min(m,n). The scalar factors of the elementary reflectors which represent the orthogonal matrix Q. |
| CudaDeviceVariable<cuDoubleComplex> | TAUP | array of dimension min(m,n). The scalar factors of the elementary reflectors which represent the orthogonal matrix P. |
| CudaDeviceVariable<cuDoubleComplex> | Work | working space, array of size Lwork. |
| System.Int32 | Lwork | size of Work, returned by gebrd_bufferSize. |
| CudaDeviceVariable<System.Int32> | devInfo | if devInfo = 0, the operation is successful. if devInfo = -i, the i-th parameter is wrong. |
Gebrd(Int32, Int32, CudaDeviceVariable<cuFloatComplex>, Int32, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, Int32, CudaDeviceVariable<Int32>)
This function reduces a general real m×n matrix A to upper or lower bidiagonal form B by an orthogonal transformation: Q^HAP=B
Declaration
public void Gebrd(int m, int n, CudaDeviceVariable<cuFloatComplex> A, int lda, CudaDeviceVariable<float> D, CudaDeviceVariable<float> E, CudaDeviceVariable<cuFloatComplex> TAUQ, CudaDeviceVariable<cuFloatComplex> TAUP, CudaDeviceVariable<cuFloatComplex> Work, int Lwork, CudaDeviceVariable<int> devInfo)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaDeviceVariable<cuFloatComplex> | A | array of dimension lda * n with lda is not less than max(1,n). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
| CudaDeviceVariable<System.Single> | D | array of dimension min(m,n). The diagonal elements of the bidiagonal matrix B: D(i) = A(i,i). |
| CudaDeviceVariable<System.Single> | E | array of dimension min(m,n). The off-diagonal elements of the bidiagonal matrix B: if m>=n, E(i) = A(i,i+1) for i = 1,2,...,n-1; if m<n, E(i) = A(i+1,i) for i = 1,2,...,m-1. |
| CudaDeviceVariable<cuFloatComplex> | TAUQ | array of dimension min(m,n). The scalar factors of the elementary reflectors which represent the orthogonal matrix Q. |
| CudaDeviceVariable<cuFloatComplex> | TAUP | array of dimension min(m,n). The scalar factors of the elementary reflectors which represent the orthogonal matrix P. |
| CudaDeviceVariable<cuFloatComplex> | Work | working space, array of size Lwork. |
| System.Int32 | Lwork | size of Work, returned by gebrd_bufferSize. |
| CudaDeviceVariable<System.Int32> | devInfo | if devInfo = 0, the operation is successful. if devInfo = -i, the i-th parameter is wrong. |
Gebrd(Int32, Int32, CudaDeviceVariable<Double>, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, Int32, CudaDeviceVariable<Int32>)
This function reduces a general real m×n matrix A to upper or lower bidiagonal form B by an orthogonal transformation: Q^HAP=B
Declaration
public void Gebrd(int m, int n, CudaDeviceVariable<double> A, int lda, CudaDeviceVariable<double> D, CudaDeviceVariable<double> E, CudaDeviceVariable<double> TAUQ, CudaDeviceVariable<double> TAUP, CudaDeviceVariable<double> Work, int Lwork, CudaDeviceVariable<int> devInfo)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaDeviceVariable<System.Double> | A | array of dimension lda * n with lda is not less than max(1,n). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
| CudaDeviceVariable<System.Double> | D | array of dimension min(m,n). The diagonal elements of the bidiagonal matrix B: D(i) = A(i,i). |
| CudaDeviceVariable<System.Double> | E | array of dimension min(m,n). The off-diagonal elements of the bidiagonal matrix B: if m>=n, E(i) = A(i,i+1) for i = 1,2,...,n-1; if m<n, E(i) = A(i+1,i) for i = 1,2,...,m-1. |
| CudaDeviceVariable<System.Double> | TAUQ | array of dimension min(m,n). The scalar factors of the elementary reflectors which represent the orthogonal matrix Q. |
| CudaDeviceVariable<System.Double> | TAUP | array of dimension min(m,n). The scalar factors of the elementary reflectors which represent the orthogonal matrix P. |
| CudaDeviceVariable<System.Double> | Work | working space, array of size Lwork. |
| System.Int32 | Lwork | size of Work, returned by gebrd_bufferSize. |
| CudaDeviceVariable<System.Int32> | devInfo | if devInfo = 0, the operation is successful. if devInfo = -i, the i-th parameter is wrong. |
Gebrd(Int32, Int32, CudaDeviceVariable<Single>, Int32, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, Int32, CudaDeviceVariable<Int32>)
This function reduces a general real m×n matrix A to upper or lower bidiagonal form B by an orthogonal transformation: Q^HAP=B
Declaration
public void Gebrd(int m, int n, CudaDeviceVariable<float> A, int lda, CudaDeviceVariable<float> D, CudaDeviceVariable<float> E, CudaDeviceVariable<float> TAUQ, CudaDeviceVariable<float> TAUP, CudaDeviceVariable<float> Work, int Lwork, CudaDeviceVariable<int> devInfo)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaDeviceVariable<System.Single> | A | array of dimension lda * n with lda is not less than max(1,n). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
| CudaDeviceVariable<System.Single> | D | array of dimension min(m,n). The diagonal elements of the bidiagonal matrix B: D(i) = A(i,i). |
| CudaDeviceVariable<System.Single> | E | array of dimension min(m,n). The off-diagonal elements of the bidiagonal matrix B: if m>=n, E(i) = A(i,i+1) for i = 1,2,...,n-1; if m<n, E(i) = A(i+1,i) for i = 1,2,...,m-1. |
| CudaDeviceVariable<System.Single> | TAUQ | array of dimension min(m,n). The scalar factors of the elementary reflectors which represent the orthogonal matrix Q. |
| CudaDeviceVariable<System.Single> | TAUP | array of dimension min(m,n). The scalar factors of the elementary reflectors which represent the orthogonal matrix P. |
| CudaDeviceVariable<System.Single> | Work | working space, array of size Lwork. |
| System.Int32 | Lwork | size of Work, returned by gebrd_bufferSize. |
| CudaDeviceVariable<System.Int32> | devInfo | if devInfo = 0, the operation is successful. if devInfo = -i, the i-th parameter is wrong. |
GebrdBufferSizeDouble(Int32, Int32)
This function reduces a general real m×n matrix A to upper or lower bidiagonal form B by an orthogonal transformation: Q^HAP=B
Declaration
public int GebrdBufferSizeDouble(int m, int n)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
Returns
| Type | Description |
|---|---|
| System.Int32 | size of Workspace |
GebrdBufferSizeDoubleComplex(Int32, Int32)
This function reduces a general real m×n matrix A to upper or lower bidiagonal form B by an orthogonal transformation: Q^HAP=B
Declaration
public int GebrdBufferSizeDoubleComplex(int m, int n)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
Returns
| Type | Description |
|---|---|
| System.Int32 | size of Workspace |
GebrdBufferSizeFloat(Int32, Int32)
This function reduces a general real m×n matrix A to upper or lower bidiagonal form B by an orthogonal transformation: Q^HAP=B
Declaration
public int GebrdBufferSizeFloat(int m, int n)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
Returns
| Type | Description |
|---|---|
| System.Int32 | size of Workspace |
GebrdBufferSizeFloatComplex(Int32, Int32)
This function reduces a general real m×n matrix A to upper or lower bidiagonal form B by an orthogonal transformation: Q^HAP=B
Declaration
public int GebrdBufferSizeFloatComplex(int m, int n)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
Returns
| Type | Description |
|---|---|
| System.Int32 | size of Workspace |
Geqrf(Int32, Int32, CudaDeviceVariable<cuDoubleComplex>, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, Int32, CudaDeviceVariable<Int32>)
This function computes the QR factorization of a m×n matrix A=Q*R where A is a m×n matrix, Q is a m×n matrix, and R is a n×n upper triangular matrix.
Declaration
public void Geqrf(int m, int n, CudaDeviceVariable<cuDoubleComplex> A, int lda, CudaDeviceVariable<cuDoubleComplex> TAU, CudaDeviceVariable<cuDoubleComplex> Workspace, int Lwork, CudaDeviceVariable<int> devInfo)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaDeviceVariable<cuDoubleComplex> | A | array of dimension lda * n with lda is not less than max(1,m). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
| CudaDeviceVariable<cuDoubleComplex> | TAU | array of dimension at least min(m,n). |
| CudaDeviceVariable<cuDoubleComplex> | Workspace | working space, array of size Lwork. |
| System.Int32 | Lwork | size of working array Workspace. |
| CudaDeviceVariable<System.Int32> | devInfo | if info = 0, the LU factorization is successful. if info = -i, the i-th parameter is wrong. |
Geqrf(Int32, Int32, CudaDeviceVariable<cuFloatComplex>, Int32, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, Int32, CudaDeviceVariable<Int32>)
This function computes the QR factorization of a m×n matrix A=Q*R where A is a m×n matrix, Q is a m×n matrix, and R is a n×n upper triangular matrix.
Declaration
public void Geqrf(int m, int n, CudaDeviceVariable<cuFloatComplex> A, int lda, CudaDeviceVariable<cuFloatComplex> TAU, CudaDeviceVariable<cuFloatComplex> Workspace, int Lwork, CudaDeviceVariable<int> devInfo)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaDeviceVariable<cuFloatComplex> | A | array of dimension lda * n with lda is not less than max(1,m). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
| CudaDeviceVariable<cuFloatComplex> | TAU | array of dimension at least min(m,n). |
| CudaDeviceVariable<cuFloatComplex> | Workspace | working space, array of size Lwork. |
| System.Int32 | Lwork | size of working array Workspace. |
| CudaDeviceVariable<System.Int32> | devInfo | if info = 0, the LU factorization is successful. if info = -i, the i-th parameter is wrong. |
Geqrf(Int32, Int32, CudaDeviceVariable<Double>, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, Int32, CudaDeviceVariable<Int32>)
This function computes the QR factorization of a m×n matrix A=Q*R where A is a m×n matrix, Q is a m×n matrix, and R is a n×n upper triangular matrix.
Declaration
public void Geqrf(int m, int n, CudaDeviceVariable<double> A, int lda, CudaDeviceVariable<double> TAU, CudaDeviceVariable<double> Workspace, int Lwork, CudaDeviceVariable<int> devInfo)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaDeviceVariable<System.Double> | A | array of dimension lda * n with lda is not less than max(1,m). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
| CudaDeviceVariable<System.Double> | TAU | array of dimension at least min(m,n). |
| CudaDeviceVariable<System.Double> | Workspace | working space, array of size Lwork. |
| System.Int32 | Lwork | size of working array Workspace. |
| CudaDeviceVariable<System.Int32> | devInfo | if info = 0, the LU factorization is successful. if info = -i, the i-th parameter is wrong. |
Geqrf(Int32, Int32, CudaDeviceVariable<Single>, Int32, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, Int32, CudaDeviceVariable<Int32>)
This function computes the QR factorization of a m×n matrix A=Q*R where A is a m×n matrix, Q is a m×n matrix, and R is a n×n upper triangular matrix.
Declaration
public void Geqrf(int m, int n, CudaDeviceVariable<float> A, int lda, CudaDeviceVariable<float> TAU, CudaDeviceVariable<float> Workspace, int Lwork, CudaDeviceVariable<int> devInfo)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaDeviceVariable<System.Single> | A | array of dimension lda * n with lda is not less than max(1,m). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
| CudaDeviceVariable<System.Single> | TAU | array of dimension at least min(m,n). |
| CudaDeviceVariable<System.Single> | Workspace | working space, array of size Lwork. |
| System.Int32 | Lwork | size of working array Workspace. |
| CudaDeviceVariable<System.Int32> | devInfo | if info = 0, the LU factorization is successful. if info = -i, the i-th parameter is wrong. |
GeqrfBufferSize(Int32, Int32, CudaDeviceVariable<cuDoubleComplex>, Int32)
This function computes the QR factorization of a m×n matrix A=Q*R where A is a m×n matrix, Q is a m×n matrix, and R is a n×n upper triangular matrix.
Declaration
public int GeqrfBufferSize(int m, int n, CudaDeviceVariable<cuDoubleComplex> A, int lda)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaDeviceVariable<cuDoubleComplex> | A | array of dimension lda * n with lda is not less than max(1,m). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
Returns
| Type | Description |
|---|---|
| System.Int32 | size of Workspace |
GeqrfBufferSize(Int32, Int32, CudaDeviceVariable<cuFloatComplex>, Int32)
This function computes the QR factorization of a m×n matrix A=Q*R where A is a m×n matrix, Q is a m×n matrix, and R is a n×n upper triangular matrix.
Declaration
public int GeqrfBufferSize(int m, int n, CudaDeviceVariable<cuFloatComplex> A, int lda)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaDeviceVariable<cuFloatComplex> | A | array of dimension lda * n with lda is not less than max(1,m). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
Returns
| Type | Description |
|---|---|
| System.Int32 | size of Workspace |
GeqrfBufferSize(Int32, Int32, CudaDeviceVariable<Double>, Int32)
This function computes the QR factorization of a m×n matrix A=Q*R where A is a m×n matrix, Q is a m×n matrix, and R is a n×n upper triangular matrix.
Declaration
public int GeqrfBufferSize(int m, int n, CudaDeviceVariable<double> A, int lda)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaDeviceVariable<System.Double> | A | array of dimension lda * n with lda is not less than max(1,m). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
Returns
| Type | Description |
|---|---|
| System.Int32 | size of Workspace |
GeqrfBufferSize(Int32, Int32, CudaDeviceVariable<Single>, Int32)
This function computes the QR factorization of a m×n matrix A=Q*R where A is a m×n matrix, Q is a m×n matrix, and R is a n×n upper triangular matrix.
Declaration
public int GeqrfBufferSize(int m, int n, CudaDeviceVariable<float> A, int lda)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaDeviceVariable<System.Single> | A | array of dimension lda * n with lda is not less than max(1,m). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
Returns
| Type | Description |
|---|---|
| System.Int32 | size of Workspace |
Gesvd(Char, Char, Int32, Int32, CudaDeviceVariable<cuDoubleComplex>, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<cuDoubleComplex>, Int32, CudaDeviceVariable<cuDoubleComplex>, Int32, CudaDeviceVariable<cuDoubleComplex>, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>)
This function computes the singular value decomposition (SVD) of a m×n matrix A and corresponding the left and/or right singular vectors.
Declaration
public void Gesvd(char jobu, char jobvt, int m, int n, CudaDeviceVariable<cuDoubleComplex> A, int lda, CudaDeviceVariable<double> S, CudaDeviceVariable<cuDoubleComplex> U, int ldu, CudaDeviceVariable<cuDoubleComplex> VT, int ldvt, CudaDeviceVariable<cuDoubleComplex> Work, int Lwork, CudaDeviceVariable<double> rwork, CudaDeviceVariable<int> devInfo)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Char | jobu | specifies options for computing all or part of the matrix U: = 'A': all m columns of U are returned in array U: = 'S': the first min(m,n) columns of U (the left singular vectors) are returned in the array U; = 'O': the first min(m,n) columns of U (the left singular vectors) are overwritten on the array A; = 'N': no columns of U (no left singular vectors) are computed. |
| System.Char | jobvt | specifies options for computing all or part of the matrix VT: = 'A': all N rows of VT are returned in the array VT; = 'S': the first min(m,n) rows of VT (the right singular vectors) are returned in the array VT; = 'O': the first min(m,n) rows of VT (the right singular vectors) are overwritten on the array A; = 'N': no rows of V**T (no right singular vectors) are computed. |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaDeviceVariable<cuDoubleComplex> | A | array of dimension lda * n with lda is not less than max(1,m). On exit, the contents of A are destroyed. |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
| CudaDeviceVariable<System.Double> | S | array of dimension min(m,n). The singular values of A, sorted so that S(i)
|
| CudaDeviceVariable<cuDoubleComplex> | U | array of dimension ldu * m with ldu is not less than max(1,m). U contains the m×m unitary matrix U. |
| System.Int32 | ldu | leading dimension of two-dimensional array used to store matrix U. |
| CudaDeviceVariable<cuDoubleComplex> | VT | array of dimension ldvt * n with ldvt is not less than max(1,n). VT contains the n×n unitary matrix V**T. |
| System.Int32 | ldvt | leading dimension of two-dimensional array used to store matrix Vt. |
| CudaDeviceVariable<cuDoubleComplex> | Work | working space, array of size Lwork. |
| System.Int32 | Lwork | size of Work, returned by gesvd_bufferSize. |
| CudaDeviceVariable<System.Double> | rwork | |
| CudaDeviceVariable<System.Int32> | devInfo | if devInfo = 0, the operation is successful. if devInfo = -i, the ith parameter is wrong. if devInfo > 0, devInfo indicates how many superdiagonals of an intermediate bidiagonal form B did not converge to zero. |
Gesvd(Char, Char, Int32, Int32, CudaDeviceVariable<cuFloatComplex>, Int32, CudaDeviceVariable<Single>, CudaDeviceVariable<cuFloatComplex>, Int32, CudaDeviceVariable<cuFloatComplex>, Int32, CudaDeviceVariable<cuFloatComplex>, Int32, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>)
This function computes the singular value decomposition (SVD) of a m×n matrix A and corresponding the left and/or right singular vectors.
Declaration
public void Gesvd(char jobu, char jobvt, int m, int n, CudaDeviceVariable<cuFloatComplex> A, int lda, CudaDeviceVariable<float> S, CudaDeviceVariable<cuFloatComplex> U, int ldu, CudaDeviceVariable<cuFloatComplex> VT, int ldvt, CudaDeviceVariable<cuFloatComplex> Work, int Lwork, CudaDeviceVariable<float> rwork, CudaDeviceVariable<int> devInfo)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Char | jobu | specifies options for computing all or part of the matrix U: = 'A': all m columns of U are returned in array U: = 'S': the first min(m,n) columns of U (the left singular vectors) are returned in the array U; = 'O': the first min(m,n) columns of U (the left singular vectors) are overwritten on the array A; = 'N': no columns of U (no left singular vectors) are computed. |
| System.Char | jobvt | specifies options for computing all or part of the matrix VT: = 'A': all N rows of VT are returned in the array VT; = 'S': the first min(m,n) rows of VT (the right singular vectors) are returned in the array VT; = 'O': the first min(m,n) rows of VT (the right singular vectors) are overwritten on the array A; = 'N': no rows of V**T (no right singular vectors) are computed. |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaDeviceVariable<cuFloatComplex> | A | array of dimension lda * n with lda is not less than max(1,m). On exit, the contents of A are destroyed. |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
| CudaDeviceVariable<System.Single> | S | array of dimension min(m,n). The singular values of A, sorted so that S(i)
|
| CudaDeviceVariable<cuFloatComplex> | U | array of dimension ldu * m with ldu is not less than max(1,m). U contains the m×m unitary matrix U. |
| System.Int32 | ldu | leading dimension of two-dimensional array used to store matrix U. |
| CudaDeviceVariable<cuFloatComplex> | VT | array of dimension ldvt * n with ldvt is not less than max(1,n). VT contains the n×n unitary matrix V**T. |
| System.Int32 | ldvt | leading dimension of two-dimensional array used to store matrix Vt. |
| CudaDeviceVariable<cuFloatComplex> | Work | working space, array of size Lwork. |
| System.Int32 | Lwork | size of Work, returned by gesvd_bufferSize. |
| CudaDeviceVariable<System.Single> | rwork | |
| CudaDeviceVariable<System.Int32> | devInfo | if devInfo = 0, the operation is successful. if devInfo = -i, the ith parameter is wrong. if devInfo > 0, devInfo indicates how many superdiagonals of an intermediate bidiagonal form B did not converge to zero. |
Gesvd(Char, Char, Int32, Int32, CudaDeviceVariable<Double>, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, Int32, CudaDeviceVariable<Double>, Int32, CudaDeviceVariable<Double>, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>)
This function computes the singular value decomposition (SVD) of a m×n matrix A and corresponding the left and/or right singular vectors.
Declaration
public void Gesvd(char jobu, char jobvt, int m, int n, CudaDeviceVariable<double> A, int lda, CudaDeviceVariable<double> S, CudaDeviceVariable<double> U, int ldu, CudaDeviceVariable<double> VT, int ldvt, CudaDeviceVariable<double> Work, int Lwork, CudaDeviceVariable<double> rwork, CudaDeviceVariable<int> devInfo)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Char | jobu | specifies options for computing all or part of the matrix U: = 'A': all m columns of U are returned in array U: = 'S': the first min(m,n) columns of U (the left singular vectors) are returned in the array U; = 'O': the first min(m,n) columns of U (the left singular vectors) are overwritten on the array A; = 'N': no columns of U (no left singular vectors) are computed. |
| System.Char | jobvt | specifies options for computing all or part of the matrix VT: = 'A': all N rows of VT are returned in the array VT; = 'S': the first min(m,n) rows of VT (the right singular vectors) are returned in the array VT; = 'O': the first min(m,n) rows of VT (the right singular vectors) are overwritten on the array A; = 'N': no rows of V**T (no right singular vectors) are computed. |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaDeviceVariable<System.Double> | A | array of dimension lda * n with lda is not less than max(1,m). On exit, the contents of A are destroyed. |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
| CudaDeviceVariable<System.Double> | S | array of dimension min(m,n). The singular values of A, sorted so that S(i)
|
| CudaDeviceVariable<System.Double> | U | array of dimension ldu * m with ldu is not less than max(1,m). U contains the m×m unitary matrix U. |
| System.Int32 | ldu | leading dimension of two-dimensional array used to store matrix U. |
| CudaDeviceVariable<System.Double> | VT | array of dimension ldvt * n with ldvt is not less than max(1,n). VT contains the n×n unitary matrix V**T. |
| System.Int32 | ldvt | leading dimension of two-dimensional array used to store matrix Vt. |
| CudaDeviceVariable<System.Double> | Work | working space, array of size Lwork. |
| System.Int32 | Lwork | size of Work, returned by gesvd_bufferSize. |
| CudaDeviceVariable<System.Double> | rwork | |
| CudaDeviceVariable<System.Int32> | devInfo | if devInfo = 0, the operation is successful. if devInfo = -i, the ith parameter is wrong. if devInfo > 0, devInfo indicates how many superdiagonals of an intermediate bidiagonal form B did not converge to zero. |
Gesvd(Char, Char, Int32, Int32, CudaDeviceVariable<Single>, Int32, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, Int32, CudaDeviceVariable<Single>, Int32, CudaDeviceVariable<Single>, Int32, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>)
This function computes the singular value decomposition (SVD) of a m×n matrix A and corresponding the left and/or right singular vectors.
Declaration
public void Gesvd(char jobu, char jobvt, int m, int n, CudaDeviceVariable<float> A, int lda, CudaDeviceVariable<float> S, CudaDeviceVariable<float> U, int ldu, CudaDeviceVariable<float> VT, int ldvt, CudaDeviceVariable<float> Work, int Lwork, CudaDeviceVariable<float> rwork, CudaDeviceVariable<int> devInfo)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Char | jobu | specifies options for computing all or part of the matrix U: = 'A': all m columns of U are returned in array U: = 'S': the first min(m,n) columns of U (the left singular vectors) are returned in the array U; = 'O': the first min(m,n) columns of U (the left singular vectors) are overwritten on the array A; = 'N': no columns of U (no left singular vectors) are computed. |
| System.Char | jobvt | specifies options for computing all or part of the matrix VT: = 'A': all N rows of VT are returned in the array VT; = 'S': the first min(m,n) rows of VT (the right singular vectors) are returned in the array VT; = 'O': the first min(m,n) rows of VT (the right singular vectors) are overwritten on the array A; = 'N': no rows of V**T (no right singular vectors) are computed. |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaDeviceVariable<System.Single> | A | array of dimension lda * n with lda is not less than max(1,m). On exit, the contents of A are destroyed. |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
| CudaDeviceVariable<System.Single> | S | array of dimension min(m,n). The singular values of A, sorted so that S(i)
|
| CudaDeviceVariable<System.Single> | U | array of dimension ldu * m with ldu is not less than max(1,m). U contains the m×m unitary matrix U. |
| System.Int32 | ldu | leading dimension of two-dimensional array used to store matrix U. |
| CudaDeviceVariable<System.Single> | VT | array of dimension ldvt * n with ldvt is not less than max(1,n). VT contains the n×n unitary matrix V**T. |
| System.Int32 | ldvt | leading dimension of two-dimensional array used to store matrix Vt. |
| CudaDeviceVariable<System.Single> | Work | working space, array of size Lwork. |
| System.Int32 | Lwork | size of Work, returned by gesvd_bufferSize. |
| CudaDeviceVariable<System.Single> | rwork | |
| CudaDeviceVariable<System.Int32> | devInfo | if devInfo = 0, the operation is successful. if devInfo = -i, the ith parameter is wrong. if devInfo > 0, devInfo indicates how many superdiagonals of an intermediate bidiagonal form B did not converge to zero. |
GesvdBufferSizeDouble(Int32, Int32)
This function computes the singular value decomposition (SVD) of a m×n matrix A and corresponding the left and/or right singular vectors.
Declaration
public int GesvdBufferSizeDouble(int m, int n)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
Returns
| Type | Description |
|---|---|
| System.Int32 | size of Workspace |
GesvdBufferSizeDoubleComplex(Int32, Int32)
This function computes the singular value decomposition (SVD) of a m×n matrix A and corresponding the left and/or right singular vectors.
Declaration
public int GesvdBufferSizeDoubleComplex(int m, int n)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
Returns
| Type | Description |
|---|---|
| System.Int32 | size of Workspace |
GesvdBufferSizeFloat(Int32, Int32)
This function computes the singular value decomposition (SVD) of a m×n matrix A and corresponding the left and/or right singular vectors.
Declaration
public int GesvdBufferSizeFloat(int m, int n)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
Returns
| Type | Description |
|---|---|
| System.Int32 | size of Workspace |
GesvdBufferSizeFloatComplex(Int32, Int32)
This function computes the singular value decomposition (SVD) of a m×n matrix A and corresponding the left and/or right singular vectors.
Declaration
public int GesvdBufferSizeFloatComplex(int m, int n)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
Returns
| Type | Description |
|---|---|
| System.Int32 | size of Workspace |
Getrf(Int32, Int32, CudaDeviceVariable<cuDoubleComplex>, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This function computes the LU factorization of a m×n matrix PA=LU where A is a m×n matrix, P is a permutation matrix, L is a lower triangular matrix with unit diagonal, and U is an upper triangular matrix.
Declaration
public void Getrf(int m, int n, CudaDeviceVariable<cuDoubleComplex> A, int lda, CudaDeviceVariable<cuDoubleComplex> Workspace, CudaDeviceVariable<int> devIpiv, CudaDeviceVariable<int> devInfo)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaDeviceVariable<cuDoubleComplex> | A | array of dimension lda * n with lda is not less than max(1,m). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
| CudaDeviceVariable<cuDoubleComplex> | Workspace | working space, array of size Lwork. |
| CudaDeviceVariable<System.Int32> | devIpiv | array of size at least min(m,n), containing pivot indices. |
| CudaDeviceVariable<System.Int32> | devInfo | if devInfo = 0, the LU factorization is successful. if devInfo = -i, the i-th parameter is wrong. if devInfo = i, the U(i,i) = 0. |
Getrf(Int32, Int32, CudaDeviceVariable<cuFloatComplex>, Int32, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This function computes the LU factorization of a m×n matrix PA=LU where A is a m×n matrix, P is a permutation matrix, L is a lower triangular matrix with unit diagonal, and U is an upper triangular matrix.
Declaration
public void Getrf(int m, int n, CudaDeviceVariable<cuFloatComplex> A, int lda, CudaDeviceVariable<cuFloatComplex> Workspace, CudaDeviceVariable<int> devIpiv, CudaDeviceVariable<int> devInfo)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaDeviceVariable<cuFloatComplex> | A | array of dimension lda * n with lda is not less than max(1,m). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
| CudaDeviceVariable<cuFloatComplex> | Workspace | working space, array of size Lwork. |
| CudaDeviceVariable<System.Int32> | devIpiv | array of size at least min(m,n), containing pivot indices. |
| CudaDeviceVariable<System.Int32> | devInfo | if devInfo = 0, the LU factorization is successful. if devInfo = -i, the i-th parameter is wrong. if devInfo = i, the U(i,i) = 0. |
Getrf(Int32, Int32, CudaDeviceVariable<Double>, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This function computes the LU factorization of a m×n matrix PA=LU where A is a m×n matrix, P is a permutation matrix, L is a lower triangular matrix with unit diagonal, and U is an upper triangular matrix.
Declaration
public void Getrf(int m, int n, CudaDeviceVariable<double> A, int lda, CudaDeviceVariable<double> Workspace, CudaDeviceVariable<int> devIpiv, CudaDeviceVariable<int> devInfo)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaDeviceVariable<System.Double> | A | array of dimension lda * n with lda is not less than max(1,m). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
| CudaDeviceVariable<System.Double> | Workspace | working space, array of size Lwork. |
| CudaDeviceVariable<System.Int32> | devIpiv | array of size at least min(m,n), containing pivot indices. |
| CudaDeviceVariable<System.Int32> | devInfo | if devInfo = 0, the LU factorization is successful. if devInfo = -i, the i-th parameter is wrong. if devInfo = i, the U(i,i) = 0. |
Getrf(Int32, Int32, CudaDeviceVariable<Single>, Int32, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This function computes the LU factorization of a m×n matrix PA=LU where A is a m×n matrix, P is a permutation matrix, L is a lower triangular matrix with unit diagonal, and U is an upper triangular matrix.
Declaration
public void Getrf(int m, int n, CudaDeviceVariable<float> A, int lda, CudaDeviceVariable<float> Workspace, CudaDeviceVariable<int> devIpiv, CudaDeviceVariable<int> devInfo)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaDeviceVariable<System.Single> | A | array of dimension lda * n with lda is not less than max(1,m). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
| CudaDeviceVariable<System.Single> | Workspace | working space, array of size Lwork. |
| CudaDeviceVariable<System.Int32> | devIpiv | array of size at least min(m,n), containing pivot indices. |
| CudaDeviceVariable<System.Int32> | devInfo | if devInfo = 0, the LU factorization is successful. if devInfo = -i, the i-th parameter is wrong. if devInfo = i, the U(i,i) = 0. |
GetrfBufferSize(Int32, Int32, CudaDeviceVariable<cuDoubleComplex>, Int32)
This function computes the LU factorization of a m×n matrix PA=LU where A is a m×n matrix, P is a permutation matrix, L is a lower triangular matrix with unit diagonal, and U is an upper triangular matrix.
Declaration
public int GetrfBufferSize(int m, int n, CudaDeviceVariable<cuDoubleComplex> A, int lda)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaDeviceVariable<cuDoubleComplex> | A | array of dimension lda * n with lda is not less than max(1,m). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
Returns
| Type | Description |
|---|---|
| System.Int32 | size of Workspace |
GetrfBufferSize(Int32, Int32, CudaDeviceVariable<cuFloatComplex>, Int32)
This function computes the LU factorization of a m×n matrix PA=LU where A is a m×n matrix, P is a permutation matrix, L is a lower triangular matrix with unit diagonal, and U is an upper triangular matrix.
Declaration
public int GetrfBufferSize(int m, int n, CudaDeviceVariable<cuFloatComplex> A, int lda)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaDeviceVariable<cuFloatComplex> | A | array of dimension lda * n with lda is not less than max(1,m). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
Returns
| Type | Description |
|---|---|
| System.Int32 | size of Workspace |
GetrfBufferSize(Int32, Int32, CudaDeviceVariable<Double>, Int32)
This function computes the LU factorization of a m×n matrix PA=LU where A is a m×n matrix, P is a permutation matrix, L is a lower triangular matrix with unit diagonal, and U is an upper triangular matrix.
Declaration
public int GetrfBufferSize(int m, int n, CudaDeviceVariable<double> A, int lda)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaDeviceVariable<System.Double> | A | array of dimension lda * n with lda is not less than max(1,m). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
Returns
| Type | Description |
|---|---|
| System.Int32 | size of Workspace |
GetrfBufferSize(Int32, Int32, CudaDeviceVariable<Single>, Int32)
This function computes the LU factorization of a m×n matrix PA=LU where A is a m×n matrix, P is a permutation matrix, L is a lower triangular matrix with unit diagonal, and U is an upper triangular matrix.
Declaration
public int GetrfBufferSize(int m, int n, CudaDeviceVariable<float> A, int lda)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaDeviceVariable<System.Single> | A | array of dimension lda * n with lda is not less than max(1,m). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
Returns
| Type | Description |
|---|---|
| System.Int32 | size of Workspace |
Getrs(Operation, Int32, Int32, CudaDeviceVariable<cuDoubleComplex>, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuDoubleComplex>, Int32, CudaDeviceVariable<Int32>)
This function solves a linear system of multiple right-hand sides op(A)*X=B.
Declaration
public void Getrs(Operation trans, int n, int nrhs, CudaDeviceVariable<cuDoubleComplex> A, int lda, CudaDeviceVariable<int> devIpiv, CudaDeviceVariable<cuDoubleComplex> B, int ldb, CudaDeviceVariable<int> devInfo)
Parameters
| Type | Name | Description |
|---|---|---|
| Operation | trans | operation op(A) that is non- or (conj.) transpose. |
| System.Int32 | n | number of rows and columns of matrix A. |
| System.Int32 | nrhs | number of right-hand sides. |
| CudaDeviceVariable<cuDoubleComplex> | A | array of dimension lda * n with lda is not less than max(1,n). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
| CudaDeviceVariable<System.Int32> | devIpiv | array of size at least n, containing pivot indices. |
| CudaDeviceVariable<cuDoubleComplex> | B | array of dimension ldb * nrhs with ldb is not less than max(1,n). |
| System.Int32 | ldb | leading dimension of two-dimensional array used to store matrix B. |
| CudaDeviceVariable<System.Int32> | devInfo | if devInfo = 0, the operation is successful. if devInfo = -i, the i-th parameter is wrong. |
Getrs(Operation, Int32, Int32, CudaDeviceVariable<cuFloatComplex>, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuFloatComplex>, Int32, CudaDeviceVariable<Int32>)
This function solves a linear system of multiple right-hand sides op(A)*X=B.
Declaration
public void Getrs(Operation trans, int n, int nrhs, CudaDeviceVariable<cuFloatComplex> A, int lda, CudaDeviceVariable<int> devIpiv, CudaDeviceVariable<cuFloatComplex> B, int ldb, CudaDeviceVariable<int> devInfo)
Parameters
| Type | Name | Description |
|---|---|---|
| Operation | trans | operation op(A) that is non- or (conj.) transpose. |
| System.Int32 | n | number of rows and columns of matrix A. |
| System.Int32 | nrhs | number of right-hand sides. |
| CudaDeviceVariable<cuFloatComplex> | A | array of dimension lda * n with lda is not less than max(1,n). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
| CudaDeviceVariable<System.Int32> | devIpiv | array of size at least n, containing pivot indices. |
| CudaDeviceVariable<cuFloatComplex> | B | array of dimension ldb * nrhs with ldb is not less than max(1,n). |
| System.Int32 | ldb | leading dimension of two-dimensional array used to store matrix B. |
| CudaDeviceVariable<System.Int32> | devInfo | if devInfo = 0, the operation is successful. if devInfo = -i, the i-th parameter is wrong. |
Getrs(Operation, Int32, Int32, CudaDeviceVariable<Double>, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Double>, Int32, CudaDeviceVariable<Int32>)
This function solves a linear system of multiple right-hand sides op(A)*X=B.
Declaration
public void Getrs(Operation trans, int n, int nrhs, CudaDeviceVariable<double> A, int lda, CudaDeviceVariable<int> devIpiv, CudaDeviceVariable<double> B, int ldb, CudaDeviceVariable<int> devInfo)
Parameters
| Type | Name | Description |
|---|---|---|
| Operation | trans | operation op(A) that is non- or (conj.) transpose. |
| System.Int32 | n | number of rows and columns of matrix A. |
| System.Int32 | nrhs | number of right-hand sides. |
| CudaDeviceVariable<System.Double> | A | array of dimension lda * n with lda is not less than max(1,n). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
| CudaDeviceVariable<System.Int32> | devIpiv | array of size at least n, containing pivot indices. |
| CudaDeviceVariable<System.Double> | B | array of dimension ldb * nrhs with ldb is not less than max(1,n). |
| System.Int32 | ldb | leading dimension of two-dimensional array used to store matrix B. |
| CudaDeviceVariable<System.Int32> | devInfo | if devInfo = 0, the operation is successful. if devInfo = -i, the i-th parameter is wrong. |
Getrs(Operation, Int32, Int32, CudaDeviceVariable<Single>, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Single>, Int32, CudaDeviceVariable<Int32>)
This function solves a linear system of multiple right-hand sides op(A)*X=B.
Declaration
public void Getrs(Operation trans, int n, int nrhs, CudaDeviceVariable<float> A, int lda, CudaDeviceVariable<int> devIpiv, CudaDeviceVariable<float> B, int ldb, CudaDeviceVariable<int> devInfo)
Parameters
| Type | Name | Description |
|---|---|---|
| Operation | trans | operation op(A) that is non- or (conj.) transpose. |
| System.Int32 | n | number of rows and columns of matrix A. |
| System.Int32 | nrhs | number of right-hand sides. |
| CudaDeviceVariable<System.Single> | A | array of dimension lda * n with lda is not less than max(1,n). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
| CudaDeviceVariable<System.Int32> | devIpiv | array of size at least n, containing pivot indices. |
| CudaDeviceVariable<System.Single> | B | array of dimension ldb * nrhs with ldb is not less than max(1,n). |
| System.Int32 | ldb | leading dimension of two-dimensional array used to store matrix B. |
| CudaDeviceVariable<System.Int32> | devInfo | if devInfo = 0, the operation is successful. if devInfo = -i, the i-th parameter is wrong. |
GetStream()
This function gets the stream to be used by the cuSolverDN library to execute its routines.
Declaration
public CudaStream GetStream()
Returns
| Type | Description |
|---|---|
| CudaStream |
Ormqr(SideMode, Operation, Int32, Int32, Int32, CudaDeviceVariable<Double>, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, Int32, CudaDeviceVariable<Double>, Int32, CudaDeviceVariable<Int32>)
This function computes the QR factorization of a m×n matrix A=Q*R where A is a m×n matrix, Q is a m×n matrix, and R is a n×n upper triangular matrix.
Declaration
public void Ormqr(SideMode side, Operation trans, int m, int n, int k, CudaDeviceVariable<double> A, int lda, CudaDeviceVariable<double> tau, CudaDeviceVariable<double> C, int ldc, CudaDeviceVariable<double> work, int lwork, CudaDeviceVariable<int> devInfo)
Parameters
| Type | Name | Description |
|---|---|---|
| SideMode | side | indicates if matrix Q is on the left or right of C. |
| Operation | trans | operation op(Q) that is non- or (conj.) transpose. |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| System.Int32 | k | number of elementary relfections. |
| CudaDeviceVariable<System.Double> | A | array of dimension lda * n with lda is not less than max(1,m). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
| CudaDeviceVariable<System.Double> | tau | array of dimension at least min(m,n). The vector tau is from geqrf, so tau(i) is the scalar of i-th elementary reflection vector. |
| CudaDeviceVariable<System.Double> | C | array of size ldc * n. On exit, C is overwritten by op(Q)*C. |
| System.Int32 | ldc | leading dimension of two-dimensional array of matrix C. ldc >= max(1,m). |
| CudaDeviceVariable<System.Double> | work | working space, array of size lwork. |
| System.Int32 | lwork | size of working array work. |
| CudaDeviceVariable<System.Int32> | devInfo | if info = 0, the ormqr is successful. if info = -i, the i-th parameter is wrong. |
Ormqr(SideMode, Operation, Int32, Int32, Int32, CudaDeviceVariable<Single>, Int32, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, Int32, CudaDeviceVariable<Single>, Int32, CudaDeviceVariable<Int32>)
This function computes the QR factorization of a m×n matrix A=Q*R where A is a m×n matrix, Q is a m×n matrix, and R is a n×n upper triangular matrix.
Declaration
public void Ormqr(SideMode side, Operation trans, int m, int n, int k, CudaDeviceVariable<float> A, int lda, CudaDeviceVariable<float> tau, CudaDeviceVariable<float> C, int ldc, CudaDeviceVariable<float> work, int lwork, CudaDeviceVariable<int> devInfo)
Parameters
| Type | Name | Description |
|---|---|---|
| SideMode | side | indicates if matrix Q is on the left or right of C. |
| Operation | trans | operation op(Q) that is non- or (conj.) transpose. |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| System.Int32 | k | number of elementary relfections. |
| CudaDeviceVariable<System.Single> | A | array of dimension lda * n with lda is not less than max(1,m). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
| CudaDeviceVariable<System.Single> | tau | array of dimension at least min(m,n). The vector tau is from geqrf, so tau(i) is the scalar of i-th elementary reflection vector. |
| CudaDeviceVariable<System.Single> | C | array of size ldc * n. On exit, C is overwritten by op(Q)*C. |
| System.Int32 | ldc | leading dimension of two-dimensional array of matrix C. ldc >= max(1,m). |
| CudaDeviceVariable<System.Single> | work | working space, array of size lwork. |
| System.Int32 | lwork | size of working array work. |
| CudaDeviceVariable<System.Int32> | devInfo | if info = 0, the ormqr is successful. if info = -i, the i-th parameter is wrong. |
Potrf(FillMode, Int32, CudaDeviceVariable<cuDoubleComplex>, Int32, CudaDeviceVariable<cuDoubleComplex>, Int32, CudaDeviceVariable<Int32>)
This function computes the Cholesky factorization of a Hermitian positive-definite matrix.
Declaration
public void Potrf(FillMode uplo, int n, CudaDeviceVariable<cuDoubleComplex> A, int lda, CudaDeviceVariable<cuDoubleComplex> Workspace, int Lwork, CudaDeviceVariable<int> devInfo)
Parameters
| Type | Name | Description |
|---|---|---|
| FillMode | uplo | indicates if matrix A lower or upper part is stored, the other part is not referenced. |
| System.Int32 | n | number of rows and columns of matrix A. |
| CudaDeviceVariable<cuDoubleComplex> | A | array of dimension lda * n with lda is not less than max(1,n). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
| CudaDeviceVariable<cuDoubleComplex> | Workspace | working space, array of size Lwork. |
| System.Int32 | Lwork | size of Workspace |
| CudaDeviceVariable<System.Int32> | devInfo | if devInfo = 0, the Cholesky factorization is successful. if devInfo = -i, the i-th parameter is wrong. if devInfo = i, the leading minor of order i is not positive definite. |
Potrf(FillMode, Int32, CudaDeviceVariable<cuFloatComplex>, Int32, CudaDeviceVariable<cuFloatComplex>, Int32, CudaDeviceVariable<Int32>)
This function computes the Cholesky factorization of a Hermitian positive-definite matrix.
Declaration
public void Potrf(FillMode uplo, int n, CudaDeviceVariable<cuFloatComplex> A, int lda, CudaDeviceVariable<cuFloatComplex> Workspace, int Lwork, CudaDeviceVariable<int> devInfo)
Parameters
| Type | Name | Description |
|---|---|---|
| FillMode | uplo | indicates if matrix A lower or upper part is stored, the other part is not referenced. |
| System.Int32 | n | number of rows and columns of matrix A. |
| CudaDeviceVariable<cuFloatComplex> | A | array of dimension lda * n with lda is not less than max(1,n). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
| CudaDeviceVariable<cuFloatComplex> | Workspace | working space, array of size Lwork. |
| System.Int32 | Lwork | size of Workspace |
| CudaDeviceVariable<System.Int32> | devInfo | if devInfo = 0, the Cholesky factorization is successful. if devInfo = -i, the i-th parameter is wrong. if devInfo = i, the leading minor of order i is not positive definite. |
Potrf(FillMode, Int32, CudaDeviceVariable<Double>, Int32, CudaDeviceVariable<Double>, Int32, CudaDeviceVariable<Int32>)
This function computes the Cholesky factorization of a Hermitian positive-definite matrix.
Declaration
public void Potrf(FillMode uplo, int n, CudaDeviceVariable<double> A, int lda, CudaDeviceVariable<double> Workspace, int Lwork, CudaDeviceVariable<int> devInfo)
Parameters
| Type | Name | Description |
|---|---|---|
| FillMode | uplo | indicates if matrix A lower or upper part is stored, the other part is not referenced. |
| System.Int32 | n | number of rows and columns of matrix A. |
| CudaDeviceVariable<System.Double> | A | array of dimension lda * n with lda is not less than max(1,n). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
| CudaDeviceVariable<System.Double> | Workspace | working space, array of size Lwork. |
| System.Int32 | Lwork | size of Workspace |
| CudaDeviceVariable<System.Int32> | devInfo | if devInfo = 0, the Cholesky factorization is successful. if devInfo = -i, the i-th parameter is wrong. if devInfo = i, the leading minor of order i is not positive definite. |
Potrf(FillMode, Int32, CudaDeviceVariable<Single>, Int32, CudaDeviceVariable<Single>, Int32, CudaDeviceVariable<Int32>)
This function computes the Cholesky factorization of a Hermitian positive-definite matrix.
Declaration
public void Potrf(FillMode uplo, int n, CudaDeviceVariable<float> A, int lda, CudaDeviceVariable<float> Workspace, int Lwork, CudaDeviceVariable<int> devInfo)
Parameters
| Type | Name | Description |
|---|---|---|
| FillMode | uplo | indicates if matrix A lower or upper part is stored, the other part is not referenced. |
| System.Int32 | n | number of rows and columns of matrix A. |
| CudaDeviceVariable<System.Single> | A | array of dimension lda * n with lda is not less than max(1,n). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
| CudaDeviceVariable<System.Single> | Workspace | working space, array of size Lwork. |
| System.Int32 | Lwork | size of Workspace |
| CudaDeviceVariable<System.Int32> | devInfo | if devInfo = 0, the Cholesky factorization is successful. if devInfo = -i, the i-th parameter is wrong. if devInfo = i, the leading minor of order i is not positive definite. |
PotrfBufferSize(FillMode, Int32, CudaDeviceVariable<cuDoubleComplex>, Int32)
This function computes the Cholesky factorization of a Hermitian positive-definite matrix.
Declaration
public int PotrfBufferSize(FillMode uplo, int n, CudaDeviceVariable<cuDoubleComplex> A, int lda)
Parameters
| Type | Name | Description |
|---|---|---|
| FillMode | uplo | indicates if matrix A lower or upper part is stored, the other part is not referenced. |
| System.Int32 | n | number of rows and columns of matrix A. |
| CudaDeviceVariable<cuDoubleComplex> | A | array of dimension lda * n with lda is not less than max(1,n). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
Returns
| Type | Description |
|---|---|
| System.Int32 | size of Workspace |
PotrfBufferSize(FillMode, Int32, CudaDeviceVariable<cuFloatComplex>, Int32)
This function computes the Cholesky factorization of a Hermitian positive-definite matrix.
Declaration
public int PotrfBufferSize(FillMode uplo, int n, CudaDeviceVariable<cuFloatComplex> A, int lda)
Parameters
| Type | Name | Description |
|---|---|---|
| FillMode | uplo | indicates if matrix A lower or upper part is stored, the other part is not referenced. |
| System.Int32 | n | number of rows and columns of matrix A. |
| CudaDeviceVariable<cuFloatComplex> | A | array of dimension lda * n with lda is not less than max(1,n). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
Returns
| Type | Description |
|---|---|
| System.Int32 | size of Workspace |
PotrfBufferSize(FillMode, Int32, CudaDeviceVariable<Double>, Int32)
This function computes the Cholesky factorization of a Hermitian positive-definite matrix.
Declaration
public int PotrfBufferSize(FillMode uplo, int n, CudaDeviceVariable<double> A, int lda)
Parameters
| Type | Name | Description |
|---|---|---|
| FillMode | uplo | indicates if matrix A lower or upper part is stored, the other part is not referenced. |
| System.Int32 | n | number of rows and columns of matrix A. |
| CudaDeviceVariable<System.Double> | A | array of dimension lda * n with lda is not less than max(1,n). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
Returns
| Type | Description |
|---|---|
| System.Int32 | size of Workspace |
PotrfBufferSize(FillMode, Int32, CudaDeviceVariable<Single>, Int32)
This function computes the Cholesky factorization of a Hermitian positive-definite matrix.
Declaration
public int PotrfBufferSize(FillMode uplo, int n, CudaDeviceVariable<float> A, int lda)
Parameters
| Type | Name | Description |
|---|---|---|
| FillMode | uplo | indicates if matrix A lower or upper part is stored, the other part is not referenced. |
| System.Int32 | n | number of rows and columns of matrix A. |
| CudaDeviceVariable<System.Single> | A | array of dimension lda * n with lda is not less than max(1,n). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
Returns
| Type | Description |
|---|---|
| System.Int32 | size of Workspace |
Potrs(FillMode, Int32, Int32, CudaDeviceVariable<cuDoubleComplex>, Int32, CudaDeviceVariable<cuDoubleComplex>, Int32, CudaDeviceVariable<Int32>)
This function solves a system of linear equations A*X=B where A is a n×n Hermitian matrix, only lower or upper part is meaningful.
Declaration
public void Potrs(FillMode uplo, int n, int nrhs, CudaDeviceVariable<cuDoubleComplex> A, int lda, CudaDeviceVariable<cuDoubleComplex> B, int ldb, CudaDeviceVariable<int> devInfo)
Parameters
| Type | Name | Description |
|---|---|---|
| FillMode | uplo | indicates if matrix A lower or upper part is stored, the other part is not referenced. |
| System.Int32 | n | number of rows and columns of matrix A. |
| System.Int32 | nrhs | number of columns of matrix X and B. |
| CudaDeviceVariable<cuDoubleComplex> | A | array of dimension lda * n with lda is not less than max(1,n). A is either lower cholesky factor L or upper Cholesky factor U. |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
| CudaDeviceVariable<cuDoubleComplex> | B | array of dimension ldb * nrhs. ldb is not less than max(1,n). As an input, B is right hand side matrix. As an output, B is the solution matrix. |
| System.Int32 | ldb | leading dimension of two-dimensional array used to store matrix B. |
| CudaDeviceVariable<System.Int32> | devInfo | if devInfo = 0, the Cholesky factorization is successful. if devInfo = -i, the i-th parameter is wrong. |
Potrs(FillMode, Int32, Int32, CudaDeviceVariable<cuFloatComplex>, Int32, CudaDeviceVariable<cuFloatComplex>, Int32, CudaDeviceVariable<Int32>)
This function solves a system of linear equations A*X=B where A is a n×n Hermitian matrix, only lower or upper part is meaningful.
Declaration
public void Potrs(FillMode uplo, int n, int nrhs, CudaDeviceVariable<cuFloatComplex> A, int lda, CudaDeviceVariable<cuFloatComplex> B, int ldb, CudaDeviceVariable<int> devInfo)
Parameters
| Type | Name | Description |
|---|---|---|
| FillMode | uplo | indicates if matrix A lower or upper part is stored, the other part is not referenced. |
| System.Int32 | n | number of rows and columns of matrix A. |
| System.Int32 | nrhs | number of columns of matrix X and B. |
| CudaDeviceVariable<cuFloatComplex> | A | array of dimension lda * n with lda is not less than max(1,n). A is either lower cholesky factor L or upper Cholesky factor U. |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
| CudaDeviceVariable<cuFloatComplex> | B | array of dimension ldb * nrhs. ldb is not less than max(1,n). As an input, B is right hand side matrix. As an output, B is the solution matrix. |
| System.Int32 | ldb | leading dimension of two-dimensional array used to store matrix B. |
| CudaDeviceVariable<System.Int32> | devInfo | if devInfo = 0, the Cholesky factorization is successful. if devInfo = -i, the i-th parameter is wrong. |
Potrs(FillMode, Int32, Int32, CudaDeviceVariable<Double>, Int32, CudaDeviceVariable<Double>, Int32, CudaDeviceVariable<Int32>)
This function solves a system of linear equations A*X=B where A is a n×n Hermitian matrix, only lower or upper part is meaningful.
Declaration
public void Potrs(FillMode uplo, int n, int nrhs, CudaDeviceVariable<double> A, int lda, CudaDeviceVariable<double> B, int ldb, CudaDeviceVariable<int> devInfo)
Parameters
| Type | Name | Description |
|---|---|---|
| FillMode | uplo | indicates if matrix A lower or upper part is stored, the other part is not referenced. |
| System.Int32 | n | number of rows and columns of matrix A. |
| System.Int32 | nrhs | number of columns of matrix X and B. |
| CudaDeviceVariable<System.Double> | A | array of dimension lda * n with lda is not less than max(1,n). A is either lower cholesky factor L or upper Cholesky factor U. |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
| CudaDeviceVariable<System.Double> | B | array of dimension ldb * nrhs. ldb is not less than max(1,n). As an input, B is right hand side matrix. As an output, B is the solution matrix. |
| System.Int32 | ldb | leading dimension of two-dimensional array used to store matrix B. |
| CudaDeviceVariable<System.Int32> | devInfo | if devInfo = 0, the Cholesky factorization is successful. if devInfo = -i, the i-th parameter is wrong. |
Potrs(FillMode, Int32, Int32, CudaDeviceVariable<Single>, Int32, CudaDeviceVariable<Single>, Int32, CudaDeviceVariable<Int32>)
This function solves a system of linear equations A*X=B where A is a n×n Hermitian matrix, only lower or upper part is meaningful.
Declaration
public void Potrs(FillMode uplo, int n, int nrhs, CudaDeviceVariable<float> A, int lda, CudaDeviceVariable<float> B, int ldb, CudaDeviceVariable<int> devInfo)
Parameters
| Type | Name | Description |
|---|---|---|
| FillMode | uplo | indicates if matrix A lower or upper part is stored, the other part is not referenced. |
| System.Int32 | n | number of rows and columns of matrix A. |
| System.Int32 | nrhs | number of columns of matrix X and B. |
| CudaDeviceVariable<System.Single> | A | array of dimension lda * n with lda is not less than max(1,n). A is either lower cholesky factor L or upper Cholesky factor U. |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
| CudaDeviceVariable<System.Single> | B | array of dimension ldb * nrhs. ldb is not less than max(1,n). As an input, B is right hand side matrix. As an output, B is the solution matrix. |
| System.Int32 | ldb | leading dimension of two-dimensional array used to store matrix B. |
| CudaDeviceVariable<System.Int32> | devInfo | if devInfo = 0, the Cholesky factorization is successful. if devInfo = -i, the i-th parameter is wrong. |
SetStream(CudaStream)
This function sets the stream to be used by the cuSolverDN library to execute its routines.
Declaration
public void SetStream(CudaStream stream)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaStream | stream | the stream to be used by the library. |
Sytrf(FillMode, Int32, CudaDeviceVariable<cuDoubleComplex>, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuDoubleComplex>, Int32, CudaDeviceVariable<Int32>)
This function computes the Bunch-Kaufman factorization of a n×n symmetric indefinite matrix.
Declaration
public void Sytrf(FillMode uplo, int n, CudaDeviceVariable<cuDoubleComplex> A, int lda, CudaDeviceVariable<int> ipiv, CudaDeviceVariable<cuDoubleComplex> work, int lwork, CudaDeviceVariable<int> devInfo)
Parameters
| Type | Name | Description |
|---|---|---|
| FillMode | uplo | indicates if matrix A lower or upper part is stored, the other part is not referenced. |
| System.Int32 | n | number of rows and columns of matrix A. |
| CudaDeviceVariable<cuDoubleComplex> | A | array of dimension lda * n with lda is not less than max(1,n). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
| CudaDeviceVariable<System.Int32> | ipiv | array of size at least n, containing pivot indices. |
| CudaDeviceVariable<cuDoubleComplex> | work | working space, array of size lwork. |
| System.Int32 | lwork | size of working space work. |
| CudaDeviceVariable<System.Int32> | devInfo | if devInfo = 0, the LU factorization is successful. if devInfo = -i, the i-th parameter is wrong. if devInfo = i, the D(i,i) = 0. |
Sytrf(FillMode, Int32, CudaDeviceVariable<cuFloatComplex>, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuFloatComplex>, Int32, CudaDeviceVariable<Int32>)
This function computes the Bunch-Kaufman factorization of a n×n symmetric indefinite matrix.
Declaration
public void Sytrf(FillMode uplo, int n, CudaDeviceVariable<cuFloatComplex> A, int lda, CudaDeviceVariable<int> ipiv, CudaDeviceVariable<cuFloatComplex> work, int lwork, CudaDeviceVariable<int> devInfo)
Parameters
| Type | Name | Description |
|---|---|---|
| FillMode | uplo | indicates if matrix A lower or upper part is stored, the other part is not referenced. |
| System.Int32 | n | number of rows and columns of matrix A. |
| CudaDeviceVariable<cuFloatComplex> | A | array of dimension lda * n with lda is not less than max(1,n). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
| CudaDeviceVariable<System.Int32> | ipiv | array of size at least n, containing pivot indices. |
| CudaDeviceVariable<cuFloatComplex> | work | working space, array of size lwork. |
| System.Int32 | lwork | size of working space work. |
| CudaDeviceVariable<System.Int32> | devInfo | if devInfo = 0, the LU factorization is successful. if devInfo = -i, the i-th parameter is wrong. if devInfo = i, the D(i,i) = 0. |
Sytrf(FillMode, Int32, CudaDeviceVariable<Double>, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Double>, Int32, CudaDeviceVariable<Int32>)
This function computes the Bunch-Kaufman factorization of a n×n symmetric indefinite matrix.
Declaration
public void Sytrf(FillMode uplo, int n, CudaDeviceVariable<double> A, int lda, CudaDeviceVariable<int> ipiv, CudaDeviceVariable<double> work, int lwork, CudaDeviceVariable<int> devInfo)
Parameters
| Type | Name | Description |
|---|---|---|
| FillMode | uplo | indicates if matrix A lower or upper part is stored, the other part is not referenced. |
| System.Int32 | n | number of rows and columns of matrix A. |
| CudaDeviceVariable<System.Double> | A | array of dimension lda * n with lda is not less than max(1,n). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
| CudaDeviceVariable<System.Int32> | ipiv | array of size at least n, containing pivot indices. |
| CudaDeviceVariable<System.Double> | work | working space, array of size lwork. |
| System.Int32 | lwork | size of working space work. |
| CudaDeviceVariable<System.Int32> | devInfo | if devInfo = 0, the LU factorization is successful. if devInfo = -i, the i-th parameter is wrong. if devInfo = i, the D(i,i) = 0. |
Sytrf(FillMode, Int32, CudaDeviceVariable<Single>, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Single>, Int32, CudaDeviceVariable<Int32>)
This function computes the Bunch-Kaufman factorization of a n×n symmetric indefinite matrix.
Declaration
public void Sytrf(FillMode uplo, int n, CudaDeviceVariable<float> A, int lda, CudaDeviceVariable<int> ipiv, CudaDeviceVariable<float> work, int lwork, CudaDeviceVariable<int> devInfo)
Parameters
| Type | Name | Description |
|---|---|---|
| FillMode | uplo | indicates if matrix A lower or upper part is stored, the other part is not referenced. |
| System.Int32 | n | number of rows and columns of matrix A. |
| CudaDeviceVariable<System.Single> | A | array of dimension lda * n with lda is not less than max(1,n). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
| CudaDeviceVariable<System.Int32> | ipiv | array of size at least n, containing pivot indices. |
| CudaDeviceVariable<System.Single> | work | working space, array of size lwork. |
| System.Int32 | lwork | size of working space work. |
| CudaDeviceVariable<System.Int32> | devInfo | if devInfo = 0, the LU factorization is successful. if devInfo = -i, the i-th parameter is wrong. if devInfo = i, the D(i,i) = 0. |
SytrfBufferSize(Int32, CudaDeviceVariable<cuDoubleComplex>, Int32)
This function computes the Bunch-Kaufman factorization of a n×n symmetric indefinite matrix.
Declaration
public int SytrfBufferSize(int n, CudaDeviceVariable<cuDoubleComplex> A, int lda)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | n | number of rows and columns of matrix A. |
| CudaDeviceVariable<cuDoubleComplex> | A | array of dimension lda * n with lda is not less than max(1,n). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
Returns
| Type | Description |
|---|---|
| System.Int32 | size of Workspace |
SytrfBufferSize(Int32, CudaDeviceVariable<cuFloatComplex>, Int32)
This function computes the Bunch-Kaufman factorization of a n×n symmetric indefinite matrix.
Declaration
public int SytrfBufferSize(int n, CudaDeviceVariable<cuFloatComplex> A, int lda)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | n | number of rows and columns of matrix A. |
| CudaDeviceVariable<cuFloatComplex> | A | array of dimension lda * n with lda is not less than max(1,n). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
Returns
| Type | Description |
|---|---|
| System.Int32 | size of Workspace |
SytrfBufferSize(Int32, CudaDeviceVariable<Double>, Int32)
This function computes the Bunch-Kaufman factorization of a n×n symmetric indefinite matrix.
Declaration
public int SytrfBufferSize(int n, CudaDeviceVariable<double> A, int lda)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | n | number of rows and columns of matrix A. |
| CudaDeviceVariable<System.Double> | A | array of dimension lda * n with lda is not less than max(1,n). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
Returns
| Type | Description |
|---|---|
| System.Int32 | size of Workspace |
SytrfBufferSize(Int32, CudaDeviceVariable<Single>, Int32)
This function computes the Bunch-Kaufman factorization of a n×n symmetric indefinite matrix.
Declaration
public int SytrfBufferSize(int n, CudaDeviceVariable<float> A, int lda)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | n | number of rows and columns of matrix A. |
| CudaDeviceVariable<System.Single> | A | array of dimension lda * n with lda is not less than max(1,n). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
Returns
| Type | Description |
|---|---|
| System.Int32 | size of Workspace |
Unmqr(SideMode, Operation, Int32, Int32, Int32, CudaDeviceVariable<cuDoubleComplex>, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, Int32, CudaDeviceVariable<cuDoubleComplex>, Int32, CudaDeviceVariable<Int32>)
This function computes the QR factorization of a m×n matrix A=Q*R where A is a m×n matrix, Q is a m×n matrix, and R is a n×n upper triangular matrix.
Declaration
public void Unmqr(SideMode side, Operation trans, int m, int n, int k, CudaDeviceVariable<cuDoubleComplex> A, int lda, CudaDeviceVariable<cuDoubleComplex> tau, CudaDeviceVariable<cuDoubleComplex> C, int ldc, CudaDeviceVariable<cuDoubleComplex> work, int lwork, CudaDeviceVariable<int> devInfo)
Parameters
| Type | Name | Description |
|---|---|---|
| SideMode | side | indicates if matrix Q is on the left or right of C. |
| Operation | trans | operation op(Q) that is non- or (conj.) transpose. |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| System.Int32 | k | number of elementary relfections. |
| CudaDeviceVariable<cuDoubleComplex> | A | array of dimension lda * n with lda is not less than max(1,m). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
| CudaDeviceVariable<cuDoubleComplex> | tau | array of dimension at least min(m,n). The vector tau is from geqrf, so tau(i) is the scalar of i-th elementary reflection vector. |
| CudaDeviceVariable<cuDoubleComplex> | C | array of size ldc * n. On exit, C is overwritten by op(Q)*C. |
| System.Int32 | ldc | leading dimension of two-dimensional array of matrix C. ldc >= max(1,m). |
| CudaDeviceVariable<cuDoubleComplex> | work | working space, array of size lwork. |
| System.Int32 | lwork | size of working array work. |
| CudaDeviceVariable<System.Int32> | devInfo | if info = 0, the ormqr is successful. if info = -i, the i-th parameter is wrong. |
Unmqr(SideMode, Operation, Int32, Int32, Int32, CudaDeviceVariable<cuFloatComplex>, Int32, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, Int32, CudaDeviceVariable<cuFloatComplex>, Int32, CudaDeviceVariable<Int32>)
This function computes the QR factorization of a m×n matrix A=Q*R where A is a m×n matrix, Q is a m×n matrix, and R is a n×n upper triangular matrix.
Declaration
public void Unmqr(SideMode side, Operation trans, int m, int n, int k, CudaDeviceVariable<cuFloatComplex> A, int lda, CudaDeviceVariable<cuFloatComplex> tau, CudaDeviceVariable<cuFloatComplex> C, int ldc, CudaDeviceVariable<cuFloatComplex> work, int lwork, CudaDeviceVariable<int> devInfo)
Parameters
| Type | Name | Description |
|---|---|---|
| SideMode | side | indicates if matrix Q is on the left or right of C. |
| Operation | trans | operation op(Q) that is non- or (conj.) transpose. |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| System.Int32 | k | number of elementary relfections. |
| CudaDeviceVariable<cuFloatComplex> | A | array of dimension lda * n with lda is not less than max(1,m). |
| System.Int32 | lda | leading dimension of two-dimensional array used to store matrix A. |
| CudaDeviceVariable<cuFloatComplex> | tau | array of dimension at least min(m,n). The vector tau is from geqrf, so tau(i) is the scalar of i-th elementary reflection vector. |
| CudaDeviceVariable<cuFloatComplex> | C | array of size ldc * n. On exit, C is overwritten by op(Q)*C. |
| System.Int32 | ldc | leading dimension of two-dimensional array of matrix C. ldc >= max(1,m). |
| CudaDeviceVariable<cuFloatComplex> | work | working space, array of size lwork. |
| System.Int32 | lwork | size of working array work. |
| CudaDeviceVariable<System.Int32> | devInfo | if info = 0, the ormqr is successful. if info = -i, the i-th parameter is wrong. |