/[ascend]/trunk/base/generic/solver/mtx_linal.h
ViewVC logotype

Contents of /trunk/base/generic/solver/mtx_linal.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1013 - (show annotations) (download) (as text)
Wed Jan 3 03:41:35 2007 UTC (13 years, 6 months ago) by johnpye
File MIME type: text/x-chdr
File size: 2738 byte(s)
Added doxygen comments for linear routines in base/generic/solver.
Fixed up missing (still unimplemented) idalinear jacobian sjex.
1 /* ASCEND modelling environment
2 Copyright (C) 1996 Benjamin Andrew Allan
3 Copyright (C) 2006 Carnegie Mellon University
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2, or (at your option)
8 any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330,
18 Boston, MA 02111-1307, USA.
19 *//** @file
20 mtx2: Ascend Sparse Matrix Package.
21 requires: #include "utilities/ascConfig.h"
22 requires: #include "mtx.h"
23 *//*
24 mtx by Karl Michael Westerberg, 5/3/90
25 mtx2 by Benjamin Andrew Allan
26 Last in CVS: $Revision: 1.4 $ $Date: 1997/07/18 12:15:02 $ $Author: mthomas $
27 */
28
29 #ifndef __MTX_LINAL_H_SEEN__
30 #define __MTX_LINAL_H_SEEN__
31
32 /** @addtogroup linear @{ */
33
34 extern void mtx_householder_transform_region(mtx_matrix_t mtx,
35 const real64 coef,
36 const mtx_sparse_t *orgsp,
37 const mtx_region_t *reg,
38 real64 droptol,
39 boolean transpose);
40 /**<
41 *** Does a sparse Householder transformation to the matrix A
42 *** denoted by region, resulting in Anew.<br><br>
43 *** Mathematically: Anew = (I - coef * u dot Transpose[u]) dot A.<br><br>
44 *** Slightly faster in the case of coef = 1.0.
45 -$- Returns immediately in the case of coef = 0.0.
46 *** Note following unusual assumptions, however:
47 *** -# The user has already cleared out the leading column in the
48 *** region and we will not be doing anything to it. This is usually
49 *** the case since that column is where u was derived from.
50 *** -# The sparse, sp, supplied by the user contains the nonzero
51 *** elements of u and is indexed by org row number.
52 *** Note that a soft zero in u will not hurt us: we skip it.
53 *** -# There are no elements in the regions to the left and the right
54 *** of the region.
55 ***
56 *** mtx_ENTIRE_MATRIX is not a valid region for this function.
57 ***
58 *** @bug (11/95) ignores the transpose and droptol arguments.
59 *** @bug (11/95) does not remove soft zeroes created when 2 numbers add to zero.
60 ***
61 *** This decl has the '-$-' thing going on.
62 **/
63
64 /** @} */
65
66 #endif /* __MTX_LINAL_H_SEEN__ */

john.pye@anu.edu.au
ViewVC Help
Powered by ViewVC 1.1.22