colamd.h File Reference
`#include "superlu_config.h"`
`#include <stdlib.h>`
Include dependency graph for colamd.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Macros

#define | COLAMD_DATE "Oct 10, 2014"
#define | COLAMD_VERSION_CODE(main, sub) ((main) * 1000 + (sub))
#define | COLAMD_MAIN_VERSION 2
#define | COLAMD_SUB_VERSION 9
#define | COLAMD_SUBSUB_VERSION 1
#define | COLAMD_VERSION COLAMD_VERSION_CODE(COLAMD_MAIN_VERSION,COLAMD_SUB_VERSION)
#define | COLAMD_KNOBS 20
#define | COLAMD_STATS 20
#define | COLAMD_DENSE_ROW 0
#define | COLAMD_DENSE_COL 1
#define | COLAMD_AGGRESSIVE 2
#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 | SUITESPARSE_PRINTF printf
#define | SuiteSparse_long long long int
#define | SuiteSparse_long_max LONG_MAX
#define | SuiteSparse_long_idd "lld"
#define | SuiteSparse_long_id "%" SuiteSparse_long_idd
#define | Int int
#define | ID "%d"
#define | Int_MAX INT_MAX
#define | COLAMD_recommended colamd_recommended
#define | COLAMD_set_defaults colamd_set_defaults
#define | COLAMD_MAIN colamd
#define | SYMAMD_MAIN symamd
#define | COLAMD_report colamd_report
#define | SYMAMD_report symamd_report

## Functions

size_t | colamd_recommended (int nnz, int n_row, int n_col)
size_t | colamd_l_recommended (SuiteSparse_long nnz, SuiteSparse_long n_row, SuiteSparse_long n_col)
void | colamd_set_defaults (double knobs[COLAMD_KNOBS])
void | colamd_l_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])
SuiteSparse_long | colamd_l (SuiteSparse_long n_row, SuiteSparse_long n_col, SuiteSparse_long Alen, SuiteSparse_long A[], SuiteSparse_long p[], double knobs[COLAMD_KNOBS], SuiteSparse_long 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 *))
SuiteSparse_long | symamd_l (SuiteSparse_long n, SuiteSparse_long A[], SuiteSparse_long p[], SuiteSparse_long perm[], double knobs[COLAMD_KNOBS], SuiteSparse_long stats[COLAMD_STATS], void *(*allocate)(size_t, size_t), void(*release)(void *))
void | colamd_report (int stats[COLAMD_STATS])
void | colamd_l_report (SuiteSparse_long stats[COLAMD_STATS])
void | symamd_report (int stats[COLAMD_STATS])
void | symamd_l_report (SuiteSparse_long stats[COLAMD_STATS])

## Detailed Description

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.

## Macro Definition Documentation

## COLAMD_AGGRESSIVE

#define COLAMD_AGGRESSIVE 2

## COLAMD_DATE

#define COLAMD_DATE "Oct 10, 2014"

## COLAMD_DEFRAG_COUNT

#define COLAMD_DEFRAG_COUNT 2

## COLAMD_DENSE_COL

#define COLAMD_DENSE_COL 1

## COLAMD_DENSE_ROW

#define COLAMD_DENSE_ROW 0

## COLAMD_ERROR_A_not_present

#define COLAMD_ERROR_A_not_present (-1)

## COLAMD_ERROR_A_too_small

#define COLAMD_ERROR_A_too_small (-7)

## COLAMD_ERROR_col_length_negative

#define COLAMD_ERROR_col_length_negative (-8)

## COLAMD_ERROR_internal_error

#define COLAMD_ERROR_internal_error (-999)

## COLAMD_ERROR_ncol_negative

#define COLAMD_ERROR_ncol_negative (-4)

## COLAMD_ERROR_nnz_negative

#define COLAMD_ERROR_nnz_negative (-5)

## COLAMD_ERROR_nrow_negative

#define COLAMD_ERROR_nrow_negative (-3)

## COLAMD_ERROR_out_of_memory

#define COLAMD_ERROR_out_of_memory (-10)

## COLAMD_ERROR_p0_nonzero

#define COLAMD_ERROR_p0_nonzero (-6)

## COLAMD_ERROR_p_not_present

#define COLAMD_ERROR_p_not_present (-2)

## COLAMD_ERROR_row_index_out_of_bounds

#define COLAMD_ERROR_row_index_out_of_bounds (-9)

## COLAMD_INFO1

#define COLAMD_INFO1 4

## COLAMD_INFO2

#define COLAMD_INFO2 5

## COLAMD_INFO3

#define COLAMD_INFO3 6

## COLAMD_KNOBS

#define COLAMD_KNOBS 20

## COLAMD_MAIN

#define COLAMD_MAIN colamd

## COLAMD_MAIN_VERSION

#define COLAMD_MAIN_VERSION 2

## COLAMD_OK

#define COLAMD_OK (0)

## COLAMD_OK_BUT_JUMBLED

#define COLAMD_OK_BUT_JUMBLED (1)

## COLAMD_recommended

#define COLAMD_recommended colamd_recommended

## COLAMD_report

#define COLAMD_report colamd_report

## COLAMD_set_defaults

#define COLAMD_set_defaults colamd_set_defaults

## COLAMD_STATS

#define COLAMD_STATS 20

## COLAMD_STATUS

#define COLAMD_STATUS 3

## COLAMD_SUB_VERSION

#define COLAMD_SUB_VERSION 9

## COLAMD_SUBSUB_VERSION

#define COLAMD_SUBSUB_VERSION 1

## COLAMD_VERSION

#define COLAMD_VERSION COLAMD_VERSION_CODE(COLAMD_MAIN_VERSION,COLAMD_SUB_VERSION)

## COLAMD_VERSION_CODE

#define COLAMD_VERSION_CODE | ( |  | main,
|  |  | sub
| ) |  | ((main) * 1000 + (sub))

## ID

#define ID "%d"

## Int

#define Int int

## Int_MAX

#define Int_MAX INT_MAX

## SuiteSparse_long

#define SuiteSparse_long long long int

## SuiteSparse_long_id

#define SuiteSparse_long_id "%" SuiteSparse_long_idd

## SuiteSparse_long_idd

#define SuiteSparse_long_idd "lld"

## SuiteSparse_long_max

#define SuiteSparse_long_max LONG_MAX

## SUITESPARSE_PRINTF

#define SUITESPARSE_PRINTF printf

## SYMAMD_MAIN

#define SYMAMD_MAIN symamd

## SYMAMD_report

#define SYMAMD_report symamd_report

## Function Documentation

## colamd()

int colamd | ( | int | n_row,
|  | int | n_col,
|  | int | Alen,
|  | int | A[],
|  | int | p[],
|  | double | knobs[COLAMD_KNOBS],
|  | int | stats[COLAMD_STATS]
| ) |  |

## colamd_l()

SuiteSparse_long colamd_l | ( | SuiteSparse_long | n_row,
|  | SuiteSparse_long | n_col,
|  | SuiteSparse_long | Alen,
|  | SuiteSparse_long | A[],
|  | SuiteSparse_long | p[],
|  | double | knobs[COLAMD_KNOBS],
|  | SuiteSparse_long | stats[COLAMD_STATS]
| ) |  |

## colamd_l_recommended()

size_t colamd_l_recommended | ( | SuiteSparse_long | nnz,
|  | SuiteSparse_long | n_row,
|  | SuiteSparse_long | n_col
| ) |  |

## colamd_l_report()

void colamd_l_report | ( | SuiteSparse_long | stats[COLAMD_STATS] | ) |

## colamd_l_set_defaults()

void colamd_l_set_defaults | ( | double | knobs[COLAMD_KNOBS] | ) |

## colamd_recommended()

size_t colamd_recommended | ( | int | nnz,
|  | int | n_row,
|  | int | n_col
| ) |  |

## colamd_report()

void colamd_report | ( | int | stats[COLAMD_STATS] | ) |

## colamd_set_defaults()

void colamd_set_defaults | ( | double | knobs[COLAMD_KNOBS] | ) |

## symamd()

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
| ) |  |

## symamd_l()

SuiteSparse_long symamd_l | ( | SuiteSparse_long | n,
|  | SuiteSparse_long | A[],
|  | SuiteSparse_long | p[],
|  | SuiteSparse_long | perm[],
|  | double | knobs[COLAMD_KNOBS],
|  | SuiteSparse_long | stats[COLAMD_STATS],
|  | void *(*)(size_t, size_t) | allocate,
|  | void(*)(void *) | release
| ) |  |

## symamd_l_report()

void symamd_l_report | ( | SuiteSparse_long | stats[COLAMD_STATS] | ) |

## symamd_report()

void symamd_report | ( | int | stats[COLAMD_STATS] | ) |