LASs - Linear Algebra Routines on OmpSs 1.0.0 LASs

- Main Page
- Files

- File List
- File Members

Functions
ddss_dpotrf.c File Reference

LASs-DDSs ddss_dpotrf routine. More...

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

Go to the source code of this file.

## Functions
int | ddss_dpotrf (enum DDSS_UPLO UPLO, int N, double *A, int LDA)

## Detailed Description

LASs-DDSs ddss_dpotrf 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

Date
  2017-15-08

Definition in file ddss_dpotrf.c.

## Function Documentation

int ddss_dpotrf | ( | enum DDSS_UPLO | UPLO,
|  | int | N,
|  | double * | A,
|  | int | LDA
| ) |  |

Performs the Cholesky factorization of a symmetric positive definite matrix A:

    A = L \times L^T
    or
    A = U^T \times U

where L is a lower triangular matrix and U is an upper triangular matrix.

Parameters

  [in] | UPLO | enum DDSS_UPLO. UPLO specifies the form of A is stored: Lower: Lower triangle of A is stored. The upper traingular part is not referenced. Upper: Upper triangle of A is stored. The lower triangular part is not referenced.
  [in] | N | int. N specifies the order of the square matrix A. N >= 0.
  [in,out] | A | double *. A is a pointer to a positive definite matrix of dimension N by LDA. On exit, if return value is Success, the matrix A is overwriten by the factor U or L.
  [in] | LDA | int. LDA specifies the number of columns of A ( row-major order ). LDA must be at least max( 1, N ).

Return values

  Success | successful exit
  NoSuccess | unsuccessful exit

See also
  kdpotrf

Definition at line 74 of file ddss_dpotrf.c.

References kdpotrf().

75 {
76
77 // Argument checking
78 if ( ( UPLO != Upper ) && ( UPLO != Lower ) )
79 {
80 fprintf( stderr, "Illegal value of UPLO, in ddss_dportf code\n" );
81 return NoSuccess;
82 }
83
84 if ( N < 0 )
85 {
86 fprintf( stderr, "Illegal value of N, in ddss_dportf code\n" );
87 return NoSuccess;
88 }
89
90 if ( LDA < MAX( 1, N ) )
91 {
92 fprintf( stderr, "Illegal value of LDA, in ddss_dportf code\n" );
93 return NoSuccess;
94 }
95
96 // Quick return
97 if ( MAX( N, 0 ) == 0 )
98 {
99 return Success;
100 }
101
102 return kdpotrf( UPLO, N, A, LDA );
103
104 }
kdpotrf
enum LASS_RETURN kdpotrf(enum DDSS_UPLO UPLO, int N, double *A, int LDA)
Definition: kdpotrf.c:78