LASs - Linear Algebra Routines on OmpSs 1.0.0 LASs

- Main Page
- Files

- File List
- File Members

Functions
ddss_dtpgetrf.c File Reference

LASs-DDSs ddss_dtpgetrf routine. More...

`#include "../include/lass.h"`
Include dependency graph for ddss_dtpgetrf.c:

Go to the source code of this file.

## Functions
int | ddss_dtpgetrf (int M, int N, double *A, int LDA, int *IPIV)

## Detailed Description

LASs-DDSs ddss_dtpgetrf routine.

LASs-DDSs is a software package provided by: Barcelona Supercomputing Center - Centro Nacional de Supercomputacion

Author
  Pedro Valero-Lara pedro.nosp@m..val.nosp@m.ero@b.nosp@m.sc.e.nosp@m.s
  Boro Sofranac boro..nosp@m.sofr.nosp@m.anac@.nosp@m.bsc..nosp@m.es

Date
  2018-04-08 2018-05-08

Definition in file ddss_dtpgetrf.c.

## Function Documentation

int ddss_dtpgetrf | ( | int | M,
|  | int | N,
|  | double * | A,
|  | int | LDA,
|  | int * | IPIV
| ) |  |

Performs the LU factorization with tiled pivoting ( row interchanges ) of a general M-by-N matrix A:

    A = P * L * U

where P is a permutation matrix, L is a lower triangular ( lower trapezoidal if M > N ) matrix with unit diagonal elements and U is an upper triangular ( upper trapezoidal if M < N ) matrix.

Parameters

  [in] | M | int. M specifies the number of rows of the matrix A. M >= 0.
  [in] | N | int. N specifies the number of columns of the matrix A. N >= 0.
  [in,out] | A | double *. A is a pointer to a regular matrix of dimension M-by-N. On exit, if return value is Success, the matrix A is overwriten by the factors L and U. The unit diagonal elements of L are not stored.
  [in] | LDA | int. LDA specifies the number of columns of A ( row-major order ). LDA must be at least max( 1, N ).
  [out] | IPIV | int *. ipiv is a pointer to an array of dimesion at least max( 1, min ( M, N ) ). ipiv( i ) = j, 1 <= i <= min( M, N ) implies that rows i and j have been interchanged.

Return values

  Success | successful exit
  NoSuccess | unsuccessful exit

See also
  kdtpgetrf

Definition at line 77 of file ddss_dtpgetrf.c.

References kdtpgetrf().

78 {
79
80 // Argument checking
81 if ( M < 0 )
82 {
83 fprintf( stderr, "Illegal value of M, in ddss_dtpgetrf code\n" );
84 return NoSuccess;
85 }
86
87 if ( N < 0 )
88 {
89 fprintf( stderr, "Illegal value of N, in ddss_dtpgetrf code\n" );
90 return NoSuccess;
91 }
92
93 if ( LDA < MAX( 1, N ) )
94 {
95 fprintf( stderr, "Illegal value of LDA, in ddss_dtpgetrf code\n" );
96 return NoSuccess;
97 }
98
99 // Qick return
100 if ( MIN( M, N ) == 0 )
101 {
102 return Success;
103 }
104
105 return kdtpgetrf( M, N, A, LDA, IPIV );
106
107 }
kdtpgetrf
enum LASS_RETURN kdtpgetrf(int M, int N, double *A, int LDA, int *IPIV)
Definition: kdtpgetrf.c:80