LASs - Linear Algebra Routines on OmpSs  1.0.0
LASs
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]UPLOenum 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]Nint. N specifies the order of the square matrix A. N >= 0.
[in,out]Adouble *. 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]LDAint. LDA specifies the number of columns of A ( row-major order ). LDA must be at least max( 1, N ).
Return values
Successsuccessful exit
NoSuccessunsuccessful 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 }
enum LASS_RETURN kdpotrf(enum DDSS_UPLO UPLO, int N, double *A, int LDA)
Definition: kdpotrf.c:78