SuperLU
5.2.0
|
Colamd prototypes and definitions. More...
#include <stdlib.h>
Go to the source code of this file.
Data Structures | |
struct | Colamd_Col_struct |
struct | Colamd_Row_struct |
Macros | |
#define | COLAMD_KNOBS 20 |
#define | COLAMD_STATS 20 |
#define | COLAMD_DENSE_ROW 0 |
#define | COLAMD_DENSE_COL 1 |
#define | COLAMD_DEFRAG_COUNT 2 |
#define | COLAMD_STATUS 3 |
#define | COLAMD_INFO1 4 |
#define | COLAMD_INFO2 5 |
#define | COLAMD_INFO3 6 |
#define | COLAMD_OK (0) |
#define | COLAMD_OK_BUT_JUMBLED (1) |
#define | COLAMD_ERROR_A_not_present (-1) |
#define | COLAMD_ERROR_p_not_present (-2) |
#define | COLAMD_ERROR_nrow_negative (-3) |
#define | COLAMD_ERROR_ncol_negative (-4) |
#define | COLAMD_ERROR_nnz_negative (-5) |
#define | COLAMD_ERROR_p0_nonzero (-6) |
#define | COLAMD_ERROR_A_too_small (-7) |
#define | COLAMD_ERROR_col_length_negative (-8) |
#define | COLAMD_ERROR_row_index_out_of_bounds (-9) |
#define | COLAMD_ERROR_out_of_memory (-10) |
#define | COLAMD_ERROR_internal_error (-999) |
#define | COLAMD_C(n_col) ((int) (((n_col) + 1) * sizeof (Colamd_Col) / sizeof (int))) |
#define | COLAMD_R(n_row) ((int) (((n_row) + 1) * sizeof (Colamd_Row) / sizeof (int))) |
#define | COLAMD_RECOMMENDED(nnz, n_row, n_col) |
Typedefs | |
typedef struct Colamd_Col_struct | Colamd_Col |
typedef struct Colamd_Row_struct | Colamd_Row |
Functions | |
int | colamd_recommended (int nnz, int n_row, int n_col) |
void | colamd_set_defaults (double knobs[COLAMD_KNOBS]) |
int | colamd (int n_row, int n_col, int Alen, int A[], int p[], double knobs[COLAMD_KNOBS], int stats[COLAMD_STATS]) |
int | symamd (int n, int A[], int p[], int perm[], double knobs[COLAMD_KNOBS], int stats[COLAMD_STATS], void *(*allocate)(size_t, size_t), void(*release)(void *)) |
void | colamd_report (int stats[COLAMD_STATS]) |
void | symamd_report (int stats[COLAMD_STATS]) |
Copyright (c) 2003, The Regents of the University of California, through Lawrence Berkeley National Laboratory (subject to receipt of any required approvals from U.S. Dept. of Energy)
All rights reserved.
The source code is distributed under BSD license, see the file License.txt at the top-level directory.
<
You must include this file (colamd.h) in any routine that uses colamd, symamd, or the related macros and definitions.
Authors:
The authors of the code itself are Stefan I. Larimore and Timothy A. Davis (davis@cise.ufl.edu), University of Florida. The algorithm was developed in collaboration with John Gilbert, Xerox PARC, and Esmond Ng, Oak Ridge National Laboratory.
Date:
September 8, 2003. Version 2.3.
Acknowledgements:
This work was supported by the National Science Foundation, under grants DMS-9504974 and DMS-9803599.
Notice:
Copyright (c) 1998-2003 by the University of Florida. All Rights Reserved. THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED OR IMPLIED. ANY USE IS AT YOUR OWN RISK. Permission is hereby granted to use, copy, modify, and/or distribute this program, provided that the Copyright, this License, and the Availability of the original version is retained on all copies and made accessible to the end-user of any code or package that includes COLAMD or any modified version of COLAMD.
Availability:
The colamd/symamd library is available at http://www.cise.ufl.edu/research/sparse/colamd/ This is the http://www.cise.ufl.edu/research/sparse/colamd/colamd.h file. It is required by the colamd.c, colamdmex.c, and symamdmex.c files, and by any C code that calls the routines whose prototypes are listed below, or that uses the colamd/symamd definitions listed below.
#define COLAMD_C | ( | n_col | ) | ((int) (((n_col) + 1) * sizeof (Colamd_Col) / sizeof (int))) |
#define COLAMD_DEFRAG_COUNT 2 |
#define COLAMD_DENSE_COL 1 |
#define COLAMD_DENSE_ROW 0 |
#define COLAMD_ERROR_A_not_present (-1) |
#define COLAMD_ERROR_A_too_small (-7) |
#define COLAMD_ERROR_col_length_negative (-8) |
#define COLAMD_ERROR_internal_error (-999) |
#define COLAMD_ERROR_ncol_negative (-4) |
#define COLAMD_ERROR_nnz_negative (-5) |
#define COLAMD_ERROR_nrow_negative (-3) |
#define COLAMD_ERROR_out_of_memory (-10) |
#define COLAMD_ERROR_p0_nonzero (-6) |
#define COLAMD_ERROR_p_not_present (-2) |
#define COLAMD_ERROR_row_index_out_of_bounds (-9) |
#define COLAMD_INFO1 4 |
#define COLAMD_INFO2 5 |
#define COLAMD_INFO3 6 |
#define COLAMD_KNOBS 20 |
#define COLAMD_OK (0) |
#define COLAMD_OK_BUT_JUMBLED (1) |
#define COLAMD_R | ( | n_row | ) | ((int) (((n_row) + 1) * sizeof (Colamd_Row) / sizeof (int))) |
#define COLAMD_RECOMMENDED | ( | nnz, | |
n_row, | |||
n_col | |||
) |
#define COLAMD_STATS 20 |
#define COLAMD_STATUS 3 |
typedef struct Colamd_Col_struct Colamd_Col |
typedef struct Colamd_Row_struct Colamd_Row |
int colamd | ( | int | n_row, |
int | n_col, | ||
int | Alen, | ||
int | A[], | ||
int | p[], | ||
double | knobs[COLAMD_KNOBS], | ||
int | stats[COLAMD_STATS] | ||
) |
int colamd_recommended | ( | int | nnz, |
int | n_row, | ||
int | n_col | ||
) |
void colamd_report | ( | int | stats[COLAMD_STATS] | ) |
void colamd_set_defaults | ( | double | knobs[COLAMD_KNOBS] | ) |
int symamd | ( | int | n, |
int | A[], | ||
int | p[], | ||
int | perm[], | ||
double | knobs[COLAMD_KNOBS], | ||
int | stats[COLAMD_STATS], | ||
void *(*)(size_t, size_t) | allocate, | ||
void(*)(void *) | release | ||
) |
void symamd_report | ( | int | stats[COLAMD_STATS] | ) |