PLASMA  2.4.5
PLASMA - Parallel Linear Algebra for Scalable Multi-core Architectures
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
testing_dpotri.c File Reference
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <plasma.h>
#include <cblas.h>
#include <lapacke.h>
#include <core_blas.h>
#include "testing_dmain.h"
Include dependency graph for testing_dpotri.c:

Go to the source code of this file.

Enumerations

enum  blas_order_type {
  blas_rowmajor = 101, blas_colmajor = 102, blas_rowmajor = 101, blas_colmajor = 102,
  blas_rowmajor = 101, blas_colmajor = 102, blas_rowmajor = 101, blas_colmajor = 102,
  blas_rowmajor = 101, blas_colmajor = 102, blas_rowmajor = 101, blas_colmajor = 102,
  blas_rowmajor = 101, blas_colmajor = 102, blas_rowmajor = 101, blas_colmajor = 102,
  blas_rowmajor = 101, blas_colmajor = 102, blas_rowmajor = 101, blas_colmajor = 102,
  blas_rowmajor = 101, blas_colmajor = 102, blas_rowmajor = 101, blas_colmajor = 102,
  blas_rowmajor = 101, blas_colmajor = 102, blas_rowmajor = 101, blas_colmajor = 102,
  blas_rowmajor = 101, blas_colmajor = 102, blas_rowmajor = 101, blas_colmajor = 102,
  blas_rowmajor = 101, blas_colmajor = 102
}
enum  blas_cmach_type {
  blas_base = 151, blas_t = 152, blas_rnd = 153, blas_ieee = 154,
  blas_emin = 155, blas_emax = 156, blas_eps = 157, blas_prec = 158,
  blas_underflow = 159, blas_overflow = 160, blas_sfmin = 161, blas_base = 151,
  blas_t = 152, blas_rnd = 153, blas_ieee = 154, blas_emin = 155,
  blas_emax = 156, blas_eps = 157, blas_prec = 158, blas_underflow = 159,
  blas_overflow = 160, blas_sfmin = 161, blas_base = 151, blas_t = 152,
  blas_rnd = 153, blas_ieee = 154, blas_emin = 155, blas_emax = 156,
  blas_eps = 157, blas_prec = 158, blas_underflow = 159, blas_overflow = 160,
  blas_sfmin = 161, blas_base = 151, blas_t = 152, blas_rnd = 153,
  blas_ieee = 154, blas_emin = 155, blas_emax = 156, blas_eps = 157,
  blas_prec = 158, blas_underflow = 159, blas_overflow = 160, blas_sfmin = 161,
  blas_base = 151, blas_t = 152, blas_rnd = 153, blas_ieee = 154,
  blas_emin = 155, blas_emax = 156, blas_eps = 157, blas_prec = 158,
  blas_underflow = 159, blas_overflow = 160, blas_sfmin = 161, blas_base = 151,
  blas_t = 152, blas_rnd = 153, blas_ieee = 154, blas_emin = 155,
  blas_emax = 156, blas_eps = 157, blas_prec = 158, blas_underflow = 159,
  blas_overflow = 160, blas_sfmin = 161, blas_base = 151, blas_t = 152,
  blas_rnd = 153, blas_ieee = 154, blas_emin = 155, blas_emax = 156,
  blas_eps = 157, blas_prec = 158, blas_underflow = 159, blas_overflow = 160,
  blas_sfmin = 161, blas_base = 151, blas_t = 152, blas_rnd = 153,
  blas_ieee = 154, blas_emin = 155, blas_emax = 156, blas_eps = 157,
  blas_prec = 158, blas_underflow = 159, blas_overflow = 160, blas_sfmin = 161,
  blas_base = 151, blas_t = 152, blas_rnd = 153, blas_ieee = 154,
  blas_emin = 155, blas_emax = 156, blas_eps = 157, blas_prec = 158,
  blas_underflow = 159, blas_overflow = 160, blas_sfmin = 161, blas_base = 151,
  blas_t = 152, blas_rnd = 153, blas_ieee = 154, blas_emin = 155,
  blas_emax = 156, blas_eps = 157, blas_prec = 158, blas_underflow = 159,
  blas_overflow = 160, blas_sfmin = 161, blas_base = 151, blas_t = 152,
  blas_rnd = 153, blas_ieee = 154, blas_emin = 155, blas_emax = 156,
  blas_eps = 157, blas_prec = 158, blas_underflow = 159, blas_overflow = 160,
  blas_sfmin = 161, blas_base = 151, blas_t = 152, blas_rnd = 153,
  blas_ieee = 154, blas_emin = 155, blas_emax = 156, blas_eps = 157,
  blas_prec = 158, blas_underflow = 159, blas_overflow = 160, blas_sfmin = 161,
  blas_base = 151, blas_t = 152, blas_rnd = 153, blas_ieee = 154,
  blas_emin = 155, blas_emax = 156, blas_eps = 157, blas_prec = 158,
  blas_underflow = 159, blas_overflow = 160, blas_sfmin = 161, blas_base = 151,
  blas_t = 152, blas_rnd = 153, blas_ieee = 154, blas_emin = 155,
  blas_emax = 156, blas_eps = 157, blas_prec = 158, blas_underflow = 159,
  blas_overflow = 160, blas_sfmin = 161, blas_base = 151, blas_t = 152,
  blas_rnd = 153, blas_ieee = 154, blas_emin = 155, blas_emax = 156,
  blas_eps = 157, blas_prec = 158, blas_underflow = 159, blas_overflow = 160,
  blas_sfmin = 161, blas_base = 151, blas_t = 152, blas_rnd = 153,
  blas_ieee = 154, blas_emin = 155, blas_emax = 156, blas_eps = 157,
  blas_prec = 158, blas_underflow = 159, blas_overflow = 160, blas_sfmin = 161,
  blas_base = 151, blas_t = 152, blas_rnd = 153, blas_ieee = 154,
  blas_emin = 155, blas_emax = 156, blas_eps = 157, blas_prec = 158,
  blas_underflow = 159, blas_overflow = 160, blas_sfmin = 161
}
enum  blas_norm_type {
  blas_one_norm = 171, blas_real_one_norm = 172, blas_two_norm = 173, blas_frobenius_norm = 174,
  blas_inf_norm = 175, blas_real_inf_norm = 176, blas_max_norm = 177, blas_real_max_norm = 178,
  blas_one_norm = 171, blas_real_one_norm = 172, blas_two_norm = 173, blas_frobenius_norm = 174,
  blas_inf_norm = 175, blas_real_inf_norm = 176, blas_max_norm = 177, blas_real_max_norm = 178,
  blas_one_norm = 171, blas_real_one_norm = 172, blas_two_norm = 173, blas_frobenius_norm = 174,
  blas_inf_norm = 175, blas_real_inf_norm = 176, blas_max_norm = 177, blas_real_max_norm = 178,
  blas_one_norm = 171, blas_real_one_norm = 172, blas_two_norm = 173, blas_frobenius_norm = 174,
  blas_inf_norm = 175, blas_real_inf_norm = 176, blas_max_norm = 177, blas_real_max_norm = 178,
  blas_one_norm = 171, blas_real_one_norm = 172, blas_two_norm = 173, blas_frobenius_norm = 174,
  blas_inf_norm = 175, blas_real_inf_norm = 176, blas_max_norm = 177, blas_real_max_norm = 178,
  blas_one_norm = 171, blas_real_one_norm = 172, blas_two_norm = 173, blas_frobenius_norm = 174,
  blas_inf_norm = 175, blas_real_inf_norm = 176, blas_max_norm = 177, blas_real_max_norm = 178,
  blas_one_norm = 171, blas_real_one_norm = 172, blas_two_norm = 173, blas_frobenius_norm = 174,
  blas_inf_norm = 175, blas_real_inf_norm = 176, blas_max_norm = 177, blas_real_max_norm = 178,
  blas_one_norm = 171, blas_real_one_norm = 172, blas_two_norm = 173, blas_frobenius_norm = 174,
  blas_inf_norm = 175, blas_real_inf_norm = 176, blas_max_norm = 177, blas_real_max_norm = 178,
  blas_one_norm = 171, blas_real_one_norm = 172, blas_two_norm = 173, blas_frobenius_norm = 174,
  blas_inf_norm = 175, blas_real_inf_norm = 176, blas_max_norm = 177, blas_real_max_norm = 178,
  blas_one_norm = 171, blas_real_one_norm = 172, blas_two_norm = 173, blas_frobenius_norm = 174,
  blas_inf_norm = 175, blas_real_inf_norm = 176, blas_max_norm = 177, blas_real_max_norm = 178,
  blas_one_norm = 171, blas_real_one_norm = 172, blas_two_norm = 173, blas_frobenius_norm = 174,
  blas_inf_norm = 175, blas_real_inf_norm = 176, blas_max_norm = 177, blas_real_max_norm = 178,
  blas_one_norm = 171, blas_real_one_norm = 172, blas_two_norm = 173, blas_frobenius_norm = 174,
  blas_inf_norm = 175, blas_real_inf_norm = 176, blas_max_norm = 177, blas_real_max_norm = 178,
  blas_one_norm = 171, blas_real_one_norm = 172, blas_two_norm = 173, blas_frobenius_norm = 174,
  blas_inf_norm = 175, blas_real_inf_norm = 176, blas_max_norm = 177, blas_real_max_norm = 178,
  blas_one_norm = 171, blas_real_one_norm = 172, blas_two_norm = 173, blas_frobenius_norm = 174,
  blas_inf_norm = 175, blas_real_inf_norm = 176, blas_max_norm = 177, blas_real_max_norm = 178,
  blas_one_norm = 171, blas_real_one_norm = 172, blas_two_norm = 173, blas_frobenius_norm = 174,
  blas_inf_norm = 175, blas_real_inf_norm = 176, blas_max_norm = 177, blas_real_max_norm = 178,
  blas_one_norm = 171, blas_real_one_norm = 172, blas_two_norm = 173, blas_frobenius_norm = 174,
  blas_inf_norm = 175, blas_real_inf_norm = 176, blas_max_norm = 177, blas_real_max_norm = 178,
  blas_one_norm = 171, blas_real_one_norm = 172, blas_two_norm = 173, blas_frobenius_norm = 174,
  blas_inf_norm = 175, blas_real_inf_norm = 176, blas_max_norm = 177, blas_real_max_norm = 178
}

Functions

int testing_dpotri (int argc, char **argv)

Detailed Description

PLASMA testing routines PLASMA is a software package provided by Univ. of Tennessee, Univ. of California Berkeley and Univ. of Colorado Denver

Version:
2.4.5
Author:
Hatem Ltaief
Date:
2010-11-15 d Tue Nov 22 14:35:49 2011

Definition in file testing_dpotri.c.


Enumeration Type Documentation

Enumerator:
blas_base 
blas_t 
blas_rnd 
blas_ieee 
blas_emin 
blas_emax 
blas_eps 
blas_prec 
blas_underflow 
blas_overflow 
blas_sfmin 
blas_base 
blas_t 
blas_rnd 
blas_ieee 
blas_emin 
blas_emax 
blas_eps 
blas_prec 
blas_underflow 
blas_overflow 
blas_sfmin 
blas_base 
blas_t 
blas_rnd 
blas_ieee 
blas_emin 
blas_emax 
blas_eps 
blas_prec 
blas_underflow 
blas_overflow 
blas_sfmin 
blas_base 
blas_t 
blas_rnd 
blas_ieee 
blas_emin 
blas_emax 
blas_eps 
blas_prec 
blas_underflow 
blas_overflow 
blas_sfmin 
blas_base 
blas_t 
blas_rnd 
blas_ieee 
blas_emin 
blas_emax 
blas_eps 
blas_prec 
blas_underflow 
blas_overflow 
blas_sfmin 
blas_base 
blas_t 
blas_rnd 
blas_ieee 
blas_emin 
blas_emax 
blas_eps 
blas_prec 
blas_underflow 
blas_overflow 
blas_sfmin 
blas_base 
blas_t 
blas_rnd 
blas_ieee 
blas_emin 
blas_emax 
blas_eps 
blas_prec 
blas_underflow 
blas_overflow 
blas_sfmin 
blas_base 
blas_t 
blas_rnd 
blas_ieee 
blas_emin 
blas_emax 
blas_eps 
blas_prec 
blas_underflow 
blas_overflow 
blas_sfmin 
blas_base 
blas_t 
blas_rnd 
blas_ieee 
blas_emin 
blas_emax 
blas_eps 
blas_prec 
blas_underflow 
blas_overflow 
blas_sfmin 
blas_base 
blas_t 
blas_rnd 
blas_ieee 
blas_emin 
blas_emax 
blas_eps 
blas_prec 
blas_underflow 
blas_overflow 
blas_sfmin 
blas_base 
blas_t 
blas_rnd 
blas_ieee 
blas_emin 
blas_emax 
blas_eps 
blas_prec 
blas_underflow 
blas_overflow 
blas_sfmin 
blas_base 
blas_t 
blas_rnd 
blas_ieee 
blas_emin 
blas_emax 
blas_eps 
blas_prec 
blas_underflow 
blas_overflow 
blas_sfmin 
blas_base 
blas_t 
blas_rnd 
blas_ieee 
blas_emin 
blas_emax 
blas_eps 
blas_prec 
blas_underflow 
blas_overflow 
blas_sfmin 
blas_base 
blas_t 
blas_rnd 
blas_ieee 
blas_emin 
blas_emax 
blas_eps 
blas_prec 
blas_underflow 
blas_overflow 
blas_sfmin 
blas_base 
blas_t 
blas_rnd 
blas_ieee 
blas_emin 
blas_emax 
blas_eps 
blas_prec 
blas_underflow 
blas_overflow 
blas_sfmin 
blas_base 
blas_t 
blas_rnd 
blas_ieee 
blas_emin 
blas_emax 
blas_eps 
blas_prec 
blas_underflow 
blas_overflow 
blas_sfmin 
blas_base 
blas_t 
blas_rnd 
blas_ieee 
blas_emin 
blas_emax 
blas_eps 
blas_prec 
blas_underflow 
blas_overflow 
blas_sfmin 

Definition at line 30 of file testing_dpotri.c.

{
blas_base = 151,
blas_t = 152,
blas_rnd = 153,
blas_ieee = 154,
blas_emin = 155,
blas_emax = 156,
blas_eps = 157,
blas_prec = 158,
blas_sfmin = 161};
Enumerator:
blas_one_norm 
blas_real_one_norm 
blas_two_norm 
blas_frobenius_norm 
blas_inf_norm 
blas_real_inf_norm 
blas_max_norm 
blas_real_max_norm 
blas_one_norm 
blas_real_one_norm 
blas_two_norm 
blas_frobenius_norm 
blas_inf_norm 
blas_real_inf_norm 
blas_max_norm 
blas_real_max_norm 
blas_one_norm 
blas_real_one_norm 
blas_two_norm 
blas_frobenius_norm 
blas_inf_norm 
blas_real_inf_norm 
blas_max_norm 
blas_real_max_norm 
blas_one_norm 
blas_real_one_norm 
blas_two_norm 
blas_frobenius_norm 
blas_inf_norm 
blas_real_inf_norm 
blas_max_norm 
blas_real_max_norm 
blas_one_norm 
blas_real_one_norm 
blas_two_norm 
blas_frobenius_norm 
blas_inf_norm 
blas_real_inf_norm 
blas_max_norm 
blas_real_max_norm 
blas_one_norm 
blas_real_one_norm 
blas_two_norm 
blas_frobenius_norm 
blas_inf_norm 
blas_real_inf_norm 
blas_max_norm 
blas_real_max_norm 
blas_one_norm 
blas_real_one_norm 
blas_two_norm 
blas_frobenius_norm 
blas_inf_norm 
blas_real_inf_norm 
blas_max_norm 
blas_real_max_norm 
blas_one_norm 
blas_real_one_norm 
blas_two_norm 
blas_frobenius_norm 
blas_inf_norm 
blas_real_inf_norm 
blas_max_norm 
blas_real_max_norm 
blas_one_norm 
blas_real_one_norm 
blas_two_norm 
blas_frobenius_norm 
blas_inf_norm 
blas_real_inf_norm 
blas_max_norm 
blas_real_max_norm 
blas_one_norm 
blas_real_one_norm 
blas_two_norm 
blas_frobenius_norm 
blas_inf_norm 
blas_real_inf_norm 
blas_max_norm 
blas_real_max_norm 
blas_one_norm 
blas_real_one_norm 
blas_two_norm 
blas_frobenius_norm 
blas_inf_norm 
blas_real_inf_norm 
blas_max_norm 
blas_real_max_norm 
blas_one_norm 
blas_real_one_norm 
blas_two_norm 
blas_frobenius_norm 
blas_inf_norm 
blas_real_inf_norm 
blas_max_norm 
blas_real_max_norm 
blas_one_norm 
blas_real_one_norm 
blas_two_norm 
blas_frobenius_norm 
blas_inf_norm 
blas_real_inf_norm 
blas_max_norm 
blas_real_max_norm 
blas_one_norm 
blas_real_one_norm 
blas_two_norm 
blas_frobenius_norm 
blas_inf_norm 
blas_real_inf_norm 
blas_max_norm 
blas_real_max_norm 
blas_one_norm 
blas_real_one_norm 
blas_two_norm 
blas_frobenius_norm 
blas_inf_norm 
blas_real_inf_norm 
blas_max_norm 
blas_real_max_norm 
blas_one_norm 
blas_real_one_norm 
blas_two_norm 
blas_frobenius_norm 
blas_inf_norm 
blas_real_inf_norm 
blas_max_norm 
blas_real_max_norm 
blas_one_norm 
blas_real_one_norm 
blas_two_norm 
blas_frobenius_norm 
blas_inf_norm 
blas_real_inf_norm 
blas_max_norm 
blas_real_max_norm 

Definition at line 43 of file testing_dpotri.c.

Enumerator:
blas_rowmajor 
blas_colmajor 
blas_rowmajor 
blas_colmajor 
blas_rowmajor 
blas_colmajor 
blas_rowmajor 
blas_colmajor 
blas_rowmajor 
blas_colmajor 
blas_rowmajor 
blas_colmajor 
blas_rowmajor 
blas_colmajor 
blas_rowmajor 
blas_colmajor 
blas_rowmajor 
blas_colmajor 
blas_rowmajor 
blas_colmajor 
blas_rowmajor 
blas_colmajor 
blas_rowmajor 
blas_colmajor 
blas_rowmajor 
blas_colmajor 
blas_rowmajor 
blas_colmajor 
blas_rowmajor 
blas_colmajor 
blas_rowmajor 
blas_colmajor 
blas_rowmajor 
blas_colmajor 

Definition at line 26 of file testing_dpotri.c.

{
blas_colmajor = 102 };

Function Documentation

int testing_dpotri ( int  argc,
char **  argv 
)

Definition at line 164 of file testing_dpotri.c.

References blas_eps, check_factorization(), PLASMA_dlacpy, PLASMA_dplgsy(), PLASMA_dpotrf(), PLASMA_dpotri(), PlasmaUpper, PlasmaUpperLower, uplo, and USAGE.

{
/* Check for number of arguments*/
if (argc != 2){
USAGE("POTRI", "N LDA",
" - N : the size of the matrix\n"
" - LDA : leading dimension of the matrix A\n");
return -1;
}
int N = atoi(argv[0]);
int LDA = atoi(argv[1]);
double eps;
int uplo;
int info_inverse, info_factorization;
double *A1 = (double *)malloc(LDA*N*sizeof(double));
double *A2 = (double *)malloc(LDA*N*sizeof(double));
double *WORK = (double *)malloc(2*LDA*sizeof(double));
/* Check if unable to allocate memory */
if ((!A1)||(!A2)){
printf("Out of Memory \n ");
return -2;
}
eps = BLAS_dfpinfo( blas_eps );
uplo = PlasmaUpper;
/*-------------------------------------------------------------
* TESTING DPOTRI
*/
/* Initialize A1 and A2 for Symmetric Positif Matrix */
PLASMA_dplgsy( (double)N, N, A1, LDA, 51 );
PLASMA_dlacpy( PlasmaUpperLower, N, N, A1, LDA, A2, LDA );
printf("\n");
printf("------ TESTS FOR PLASMA DPOTRI ROUTINE ------- \n");
printf(" Size of the Matrix %d by %d\n", N, N);
printf("\n");
printf(" The matrix A is randomly generated for each test.\n");
printf("============\n");
printf(" The relative machine precision (eps) is to be %e \n", eps);
printf(" Computational tests pass if scaled residuals are less than 60.\n");
/* PLASMA DPOTRF */
PLASMA_dpotrf(uplo, N, A2, LDA);
/* Check the factorization */
info_factorization = check_factorization( N, A1, A2, LDA, uplo, eps);
/* PLASMA DPOTRI */
PLASMA_dpotri(uplo, N, A2, LDA);
/* Check the inverse */
info_inverse = check_inverse(N, A1, A2, LDA, uplo, eps);
if ( (info_inverse == 0) && (info_factorization == 0) ) {
printf("***************************************************\n");
printf(" ---- TESTING DPOTRI ..................... PASSED !\n");
printf("***************************************************\n");
}
else {
printf("***************************************************\n");
printf(" - TESTING DPOTRI ... FAILED !\n");
printf("***************************************************\n");
}
free(A1); free(A2); free(WORK);
return 0;
}

Here is the call graph for this function:

Here is the caller graph for this function: