colamd_8h.html
来自「SuperLU is a general purpose library for」· HTML 代码 · 共 1,059 行 · 第 1/3 页
HTML
1,059 行
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>SuperLU: SRC/colamd.h File Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"><link href="tabs.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.4.6 --><div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li id="current"><a href="files.html"><span>Files</span></a></li> </ul></div><div class="tabs"> <ul> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul></div><h1>SRC/colamd.h File Reference</h1>Colamd prototypes and definitions. <a href="#_details">More...</a><p><code>#include <stdlib.h></code><br><p><a href="colamd_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"><tr><td></td></tr><tr><td colspan="2"><br><h2>Data Structures</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structColamd__Col__struct.html">Colamd_Col_struct</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structColamd__Row__struct.html">Colamd_Row_struct</a></td></tr><tr><td colspan="2"><br><h2>Defines</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="colamd_8h.html#e92bb10d09f7cd004f07d1baddf90548">COLAMD_KNOBS</a> 20</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="colamd_8h.html#411703fc0a994b83ec0e00df1abfc0f7">COLAMD_STATS</a> 20</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="colamd_8h.html#45a417439d08823fa620ca00d834dd61">COLAMD_DENSE_ROW</a> 0</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="colamd_8h.html#f92de54efdec91d7ab64e7bec07eb12c">COLAMD_DENSE_COL</a> 1</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="colamd_8h.html#babfabfa19364ec563aa9c15bcc9714e">COLAMD_DEFRAG_COUNT</a> 2</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="colamd_8h.html#6a4201ce55dfa3a6375b90097e8c747e">COLAMD_STATUS</a> 3</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="colamd_8h.html#569d56a773011e0b4e465b3f5830e80b">COLAMD_INFO1</a> 4</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="colamd_8h.html#2161fd78bbd688f943250d1d7583284b">COLAMD_INFO2</a> 5</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="colamd_8h.html#15d83814c573d742764ff83e9d1d67fc">COLAMD_INFO3</a> 6</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="colamd_8h.html#a754fd30d924c5c8d2d402fa0a482d72">COLAMD_OK</a> (0)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="colamd_8h.html#c0d7f3882e6e9e39527aa2195dd23789">COLAMD_OK_BUT_JUMBLED</a> (1)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="colamd_8h.html#2347fb9e509c8bf9b97a50f96dea281c">COLAMD_ERROR_A_not_present</a> (-1)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="colamd_8h.html#51d3f9714a4cb80c0f54dea5d0c5f95f">COLAMD_ERROR_p_not_present</a> (-2)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="colamd_8h.html#8e848cfde5cdf42fcb316695305f8002">COLAMD_ERROR_nrow_negative</a> (-3)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="colamd_8h.html#2feedddbe535286cbea9eca9fca91f45">COLAMD_ERROR_ncol_negative</a> (-4)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="colamd_8h.html#7147ea7a9d673f17ef856e9914f90c81">COLAMD_ERROR_nnz_negative</a> (-5)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="colamd_8h.html#58b5d911cc825b4334ade136bad3afd3">COLAMD_ERROR_p0_nonzero</a> (-6)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="colamd_8h.html#323108d44db4186fad5a2066139f70b7">COLAMD_ERROR_A_too_small</a> (-7)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="colamd_8h.html#3b6df4a489ed0c7de8ad12251cdac5d6">COLAMD_ERROR_col_length_negative</a> (-8)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="colamd_8h.html#0559e0ff07deab1841e7aaee8cde51e6">COLAMD_ERROR_row_index_out_of_bounds</a> (-9)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="colamd_8h.html#703f11265b521c931cdd44709d141fca">COLAMD_ERROR_out_of_memory</a> (-10)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="colamd_8h.html#e97b9ba07b455e4ce07c53a4d71c1169">COLAMD_ERROR_internal_error</a> (-999)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="colamd_8h.html#339fb9b07ed315667cc4542c15116c83">COLAMD_C</a>(n_col) ((int) (((n_col) + 1) * sizeof (<a class="el" href="structColamd__Col__struct.html">Colamd_Col</a>) / sizeof (int)))</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="colamd_8h.html#52e8a8827c11d9c2a1f1b87e09bc8dc0">COLAMD_R</a>(n_row) ((int) (((n_row) + 1) * sizeof (<a class="el" href="structColamd__Row__struct.html">Colamd_Row</a>) / sizeof (int)))</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="colamd_8h.html#a6980d68bd04f7567d7d0bd40b244c2f">COLAMD_RECOMMENDED</a>(nnz, n_row, n_col)</td></tr><tr><td colspan="2"><br><h2>Typedefs</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structColamd__Col__struct.html">Colamd_Col_struct</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="colamd_8h.html#059db10cdebbb878b50bfcd2e023315a">Colamd_Col</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structColamd__Row__struct.html">Colamd_Row_struct</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="colamd_8h.html#8a1ceeb79ebba705abb1d27469f4a358">Colamd_Row</a></td></tr><tr><td colspan="2"><br><h2>Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="colamd_8h.html#9b48c9b9eb5dce7e9ca42174208b1015">colamd_recommended</a> (int nnz, int n_row, int n_col)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="colamd_8h.html#e582ce20a46b5ef39434acb9d66fe2ca">colamd_set_defaults</a> (double knobs[COLAMD_KNOBS])</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="colamd_8h.html#f5cec4b6391e4c20abfaa6da39975bca">colamd</a> (int n_row, int n_col, int Alen, int A[], int p[], double knobs[COLAMD_KNOBS], int stats[COLAMD_STATS])</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="colamd_8h.html#e3d0175d1cb36f6cb16dfe96bbf946a3">symamd</a> (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 *))</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="colamd_8h.html#7cfa2e07413d0bc9489f10ac881faa51">colamd_report</a> (int stats[COLAMD_STATS])</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="colamd_8h.html#948750692c453eb36edc5b77a670ec54">symamd_report</a> (int stats[COLAMD_STATS])</td></tr></table><hr><a name="_details"></a><h2>Detailed Description</h2><pre> ========================================================================== === colamd/symamd prototypes and definitions ============================= ==========================================================================</pre><p><pre> You must include this file (<a class="el" href="colamd_8h.html">colamd.h</a>) in any routine that uses colamd, symamd, or the related macros and definitions.</pre><p><pre> Authors:</pre><p><pre> The authors of the code itself are Stefan I. Larimore and Timothy A. Davis (<a href="mailto:davis@cise.ufl.edu">davis@cise.ufl.edu</a>), University of Florida. The algorithm was developed in collaboration with John Gilbert, Xerox PARC, and Esmond Ng, Oak Ridge National Laboratory.</pre><p><pre> Date:</pre><p><pre> September 8, 2003. Version 2.3.</pre><p><pre> Acknowledgements:</pre><p><pre> This work was supported by the National Science Foundation, under grants DMS-9504974 and DMS-9803599.</pre><p><pre> Notice:</pre><p><pre> Copyright (c) 1998-2003 by the University of Florida. All Rights Reserved.</pre><p><pre> THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED OR IMPLIED. ANY USE IS AT YOUR OWN RISK.</pre><p><pre> 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.</pre><p><pre> Availability:</pre><p><pre> The colamd/symamd library is available at</pre><p><pre> <a href="http://www.cise.ufl.edu/research/sparse/colamd/">http://www.cise.ufl.edu/research/sparse/colamd/</a></pre><p><pre> This is the <a href="http://www.cise.ufl.edu/research/sparse/colamd/colamd.h">http://www.cise.ufl.edu/research/sparse/colamd/colamd.h</a> file. It is required by the <a class="el" href="colamd_8c.html">colamd.c</a>, 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. </pre> <hr><h2>Define Documentation</h2><a class="anchor" name="339fb9b07ed315667cc4542c15116c83"></a><!-- doxytag: member="colamd.h::COLAMD_C" ref="339fb9b07ed315667cc4542c15116c83" args="(n_col)" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">#define COLAMD_C </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">n_col </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> ((int) (((n_col) + 1) * sizeof (<a class="el" href="structColamd__Col__struct.html">Colamd_Col</a>) / sizeof (int)))</td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p> </td> </tr></table><a class="anchor" name="babfabfa19364ec563aa9c15bcc9714e"></a><!-- doxytag: member="colamd.h::COLAMD_DEFRAG_COUNT" ref="babfabfa19364ec563aa9c15bcc9714e" args="" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">#define COLAMD_DEFRAG_COUNT 2 </td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p> </td> </tr></table><a class="anchor" name="f92de54efdec91d7ab64e7bec07eb12c"></a><!-- doxytag: member="colamd.h::COLAMD_DENSE_COL" ref="f92de54efdec91d7ab64e7bec07eb12c" args="" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">#define COLAMD_DENSE_COL 1 </td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p> </td> </tr></table><a class="anchor" name="45a417439d08823fa620ca00d834dd61"></a><!-- doxytag: member="colamd.h::COLAMD_DENSE_ROW" ref="45a417439d08823fa620ca00d834dd61" args="" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">#define COLAMD_DENSE_ROW 0 </td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p> </td> </tr></table><a class="anchor" name="2347fb9e509c8bf9b97a50f96dea281c"></a><!-- doxytag: member="colamd.h::COLAMD_ERROR_A_not_present" ref="2347fb9e509c8bf9b97a50f96dea281c" args="" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">#define COLAMD_ERROR_A_not_present (-1) </td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p> </td> </tr></table><a class="anchor" name="323108d44db4186fad5a2066139f70b7"></a><!-- doxytag: member="colamd.h::COLAMD_ERROR_A_too_small" ref="323108d44db4186fad5a2066139f70b7" args="" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">#define COLAMD_ERROR_A_too_small (-7) </td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p> </td> </tr></table><a class="anchor" name="3b6df4a489ed0c7de8ad12251cdac5d6"></a><!-- doxytag: member="colamd.h::COLAMD_ERROR_col_length_negative" ref="3b6df4a489ed0c7de8ad12251cdac5d6" args="" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">#define COLAMD_ERROR_col_length_negative (-8) </td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p> </td> </tr></table><a class="anchor" name="e97b9ba07b455e4ce07c53a4d71c1169"></a><!-- doxytag: member="colamd.h::COLAMD_ERROR_internal_error" ref="e97b9ba07b455e4ce07c53a4d71c1169" args="" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">#define COLAMD_ERROR_internal_error (-999) </td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p> </td> </tr></table><a class="anchor" name="2feedddbe535286cbea9eca9fca91f45"></a><!-- doxytag: member="colamd.h::COLAMD_ERROR_ncol_negative" ref="2feedddbe535286cbea9eca9fca91f45" args="" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">#define COLAMD_ERROR_ncol_negative (-4) </td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p> </td> </tr></table><a class="anchor" name="7147ea7a9d673f17ef856e9914f90c81"></a><!-- doxytag: member="colamd.h::COLAMD_ERROR_nnz_negative" ref="7147ea7a9d673f17ef856e9914f90c81" args="" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?