public CUBLASStatusv2 cublasDtrsv(cublasHandle handle, cublasFillMode uplo, cublasOperation trans, cublasDiagType diag, int n, IntPtr A, int lda, IntPtr x, int incx)
 {
     return cublasDtrsv_v2(handle, uplo, trans, diag, n, A, lda, x, incx);
 }
 private static extern CUBLASStatusv2 cublasDtrsv_v2(cublasHandle handle, cublasFillMode uplo, cublasOperation trans, cublasDiagType diag, int n, IntPtr A, int lda, IntPtr x, int incx);
 private static extern CUBLASStatusv2 cublasDtrsm_v2(cublasHandle handle, cublasSideMode side, cublasFillMode uplo, cublasOperation trans, cublasDiagType diag, int m, int n, ref double alpha, IntPtr A, int lda, IntPtr B, int ldb);
Beispiel #4
0
 /// <summary>
 /// Performs the triangular matrix-matrix multiplication.
 /// C = alpha * op(A) * B (side left),
 /// C = alpha * B * op(A) (side right)
 /// </summary>
 /// <param name="m">number of rows of matrix B, with matrix A sized accordingly.</param>
 /// <param name="n">number of columns of matrix B, with matrix A sized accordingly.</param>
 /// <param name="alpha">scalar used for multiplication.</param>
 /// <param name="A">array of dimension m * m.</param>
 /// <param name="B">array of dimension m * n.</param>
 /// <param name="C">array of dimension m * n.</param>
 /// <param name="side">indicates if matrix A is on the left or right of B.</param>
 /// <param name="trans">operation op(A) that is non- or (conj.) transpose.</param>
 /// <param name="uplo">indicates if matrix A lower or upper part is stored, the other part is not refernced and is inferred from the stored elements.</param>
 /// <param name="diag">indicates if the elements on the main diagonal of matrix A are unity and should not be accessed.</param>
 /// <param name="lda">leading dimension of two-dimensional array used to store matrix A.</param>
 /// <param name="ldb">leading dimension of two-dimensional array used to store matrix B.</param>
 /// <param name="ldc">leading dimension of two-dimensional array used to store matrix C.</param>
 public abstract void TRMM(int m, int n, float alpha, float[] A, float[] B, float[] C, cublasSideMode side = cublasSideMode.Left, cublasOperation trans = cublasOperation.N, cublasFillMode uplo = cublasFillMode.Lower, cublasDiagType diag = cublasDiagType.NonUnit, int lda = 0, int ldb = 0, int ldc = 0);
Beispiel #5
0
 /// <summary>
 /// Solves the triangular linear system with multiple right-hand-sides.
 /// B = alpha * (op(A))^-1 * B (left side),
 /// B = alpha * B * (op(A))^-1 (right side)
 /// </summary>
 /// <param name="m">number of rows of matrix B, with matrix A sized accordingly.</param>
 /// <param name="n">number of columns of matrix B, with matrix A sized accordingly.</param>
 /// <param name="alpha">scalar used for multiplication.</param>
 /// <param name="A">array of dimension m * m (n * n right side).</param>
 /// <param name="B">array of dimension m * n.</param>
 /// <param name="side">indicates if matrix A is on the left or right of B.</param>
 /// <param name="trans">operation op(A) that is non- or (conj.) transpose.</param>
 /// <param name="uplo">indicates if matrix A lower or upper part is stored, the other part is not refernced and is inferred from the stored elements.</param>
 /// <param name="diag">indicates if the elements on the main diagonal of matrix A are unity and should not be accessed.</param>
 /// <param name="lda">leading dimension of two-dimensional array used to store matrix A.</param>
 /// <param name="ldb">leading dimension of two-dimensional array used to store matrix B.</param>
 public abstract void TRSM(int m, int n, double alpha, double[] A, double[] B, cublasSideMode side = cublasSideMode.Left, cublasOperation trans = cublasOperation.N, cublasFillMode uplo = cublasFillMode.Lower, cublasDiagType diag = cublasDiagType.NonUnit, int lda = 0, int ldb = 0);
 public CUBLASStatusv2 cublasDtrsv(cublasHandle handle, cublasFillMode uplo, cublasOperation trans, cublasDiagType diag, int n, IntPtr A, int lda, IntPtr x, int incx)
 {
     throw new NotImplementedException();
 }
 private static extern CUBLASStatusv2 cublasDtrsm_v2(cublasHandle handle, cublasSideMode side, cublasFillMode uplo, cublasOperation trans, cublasDiagType diag, int m, int n, ref double alpha, IntPtr A, int lda, IntPtr B, int ldb);
Beispiel #8
0
 public override void TRSV(int n, double[] A, double[] x, cublasOperation trans = cublasOperation.N, cublasFillMode uplo = cublasFillMode.Lower, cublasDiagType diag = cublasDiagType.NonUnit, int lda = 0, int incx = 1)
 {
     throw new NotImplementedException();
 }
Beispiel #9
0
 public override void TRSM(int m, int n, double alpha, double[] A, double[] B, cublasSideMode side = cublasSideMode.Left, cublasOperation trans = cublasOperation.N, cublasFillMode uplo = cublasFillMode.Lower, cublasDiagType diag = cublasDiagType.NonUnit, int lda = 0, int ldb = 0)
 {
     throw new NotImplementedException();
 }
Beispiel #10
0
 public CUBLASStatusv2 cublasDtrsv(cublasHandle handle, cublasFillMode uplo, cublasOperation trans, cublasDiagType diag, int n, IntPtr A, int lda, IntPtr x, int incx)
 {
     throw new NotImplementedException();
 }
Beispiel #11
0
 public CUBLASStatusv2 cublasDtrsm(cublasHandle handle, cublasSideMode side, cublasFillMode uplo, cublasOperation trans, cublasDiagType diag, int m, int n, ref double alpha, IntPtr A, int lda, IntPtr B, int ldb)
 {
     throw new NotImplementedException();
 }
 public CUBLASStatusv2 cublasDtrsm(cublasHandle handle, cublasSideMode side, cublasFillMode uplo, cublasOperation trans, cublasDiagType diag, int m, int n, ref double alpha, IntPtr A, int lda, IntPtr B, int ldb)
 {
     return(cublasDtrsm_v2(handle, side, uplo, trans, diag, m, n, ref alpha, A, lda, B, ldb));
 }
 public CUBLASStatusv2 cublasStrmm(cublasHandle handle, cublasSideMode side, cublasFillMode uplo, cublasOperation trans, cublasDiagType diag, int m, int n, ref float alpha, IntPtr A, int lda, IntPtr B, int ldb, IntPtr C, int ldc)
 {
     return(cublasStrmm_v2(handle, side, uplo, trans, diag, m, n, ref alpha, A, lda, B, ldb, C, ldc));
 }
 public CUBLASStatusv2 cublasDtrsv(cublasHandle handle, cublasFillMode uplo, cublasOperation trans, cublasDiagType diag, int n, IntPtr A, int lda, IntPtr x, int incx)
 {
     return(cublasDtrsv_v2(handle, uplo, trans, diag, n, A, lda, x, incx));
 }
 public CUBLASStatusv2 cublasStrmm(cublasHandle handle, cublasSideMode side, cublasFillMode uplo, cublasOperation trans, cublasDiagType diag, int m, int n, ref float alpha, IntPtr A, int lda, IntPtr B, int ldb, IntPtr C, int ldc)
 {
     return cublasStrmm_v2(handle, side, uplo, trans, diag, m, n, ref alpha, A, lda, B, ldb, C, ldc);
 }
Beispiel #16
0
 /// <summary>
 /// Solves the packed triangular linear system with a single right-hand-side.
 /// x = op(A)^-1 * x 
 /// </summary>
 /// <param name="n">number of rows and columns of matrix A.</param>
 /// <param name="AP">array with A stored in packed format.</param>
 /// <param name="x">vector with n elements.</param>
 /// <param name="trans">operation op(A) that is non- or (conj.) transpose.</param>
 /// <param name="uplo">indicates if matrix A lower or upper part is stored, the other part is not referenced and is inferred from the stored elements.</param>
 /// <param name="diag">indicates if the elements on the main diagonal of matrix A are unity and should not be accessed.</param>
 /// <param name="incx">stride between consecutive elements of x.</param>
 public abstract void TPSV(int n, float[] AP, float[] x, cublasOperation trans = cublasOperation.N, cublasFillMode uplo = cublasFillMode.Lower, cublasDiagType diag = cublasDiagType.NonUnit, int incx = 1);
 public CUBLASStatusv2 cublasDtrsm(cublasHandle handle, cublasSideMode side, cublasFillMode uplo, cublasOperation trans, cublasDiagType diag, int m, int n, ref double alpha, IntPtr A, int lda, IntPtr B, int ldb)
 {
     return cublasDtrsm_v2(handle, side, uplo, trans, diag, m, n, ref alpha, A, lda, B, ldb);
 }
Beispiel #18
0
 /// <summary>
 /// Solves the triangular linear system with a single right-hand-side.
 /// x = op(A)^-1 * x
 /// </summary>
 /// <param name="n">number of rows and columns of matrix A.</param>
 /// <param name="A">array of dimensions lda * n with lda >= max(1, n).</param>
 /// <param name="x">vector with n elements.</param>
 /// <param name="trans">operation op(A) that is non- or (conj.) transpose.</param>
 /// <param name="uplo">indicates if matrix A lower or upper part is stored, the other part is not referenced and is inferred from the stored elements.</param>
 /// <param name="diag">indicates if the elements on the main diagonal of matrix A are unity and should not be accessed.</param>
 /// <param name="lda">leading dimension of two-dimensional array used to store matrix A. if lda = 0, lda is automatically be n.</param>
 /// <param name="incx">stride between consecutive elements of x.</param>
 public abstract void TRSV(int n, double[] A, double[] x, cublasOperation trans = cublasOperation.N, cublasFillMode uplo = cublasFillMode.Lower, cublasDiagType diag = cublasDiagType.NonUnit, int lda = 0, int incx = 1);
 public CUBLASStatusv2 cublasDtrsm(cublasHandle handle, cublasSideMode side, cublasFillMode uplo, cublasOperation trans, cublasDiagType diag, int m, int n, ref double alpha, IntPtr A, int lda, IntPtr B, int ldb)
 {
     throw new NotImplementedException();
 }
 private static extern CUBLASStatusv2 cublasDtrsv_v2(cublasHandle handle, cublasFillMode uplo, cublasOperation trans, cublasDiagType diag, int n, IntPtr A, int lda, IntPtr x, int incx);