/[ascend]/trunk/ascend4/solver/mtx_linal.h
ViewVC logotype

Annotation of /trunk/ascend4/solver/mtx_linal.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1 - (hide annotations) (download) (as text)
Fri Oct 29 20:54:12 2004 UTC (17 years, 8 months ago) by aw0a
File MIME type: text/x-chdr
File size: 3005 byte(s)
Setting up web subdirectory in repository
1 aw0a 1 /*
2     * mtx2: Ascend Sparse Matrix Package
3     * by Benjamin Andrew Allan
4     * Derived from mtx by Karl Michael Westerberg
5     * Created: 5/3/90
6     * Version: $Revision: 1.4 $
7     * Version control file: $RCSfile: mtx_linal.h,v $
8     * Date last modified: $Date: 1997/07/18 12:15:02 $
9     * Last modified by: $Author: mthomas $
10     *
11     * This file is part of the SLV solver.
12     *
13     * Copyright (C) 1996 Benjamin Andrew Allan
14     *
15     * The SLV solver is free software; you can redistribute
16     * it and/or modify it under the terms of the GNU General Public License as
17     * published by the Free Software Foundation; either version 2 of the
18     * License, or (at your option) any later version.
19     *
20     * The SLV solver is distributed in hope that it will be
21     * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
22     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
23     * General Public License for more details.
24     *
25     * You should have received a copy of the GNU General Public License along with
26     * the program; if not, write to the Free Software Foundation, Inc., 675
27     * Mass Ave, Cambridge, MA 02139 USA. Check the file named COPYING.
28     * COPYING is found in ../compiler.
29     */
30     #ifndef __MTX_LINAL_H_SEEN__
31     #define __MTX_LINAL_H_SEEN__
32     /* requires #include "mtx.h" */
33    
34     extern void mtx_householder_transform_region(mtx_matrix_t,
35     const real64,
36     const mtx_sparse_t *,
37     const mtx_region_t *,
38     real64,
39     boolean);
40     /**
41     ***
42     -$- mtx_householder_transform_region(mtx,coef,orgsp,reg,droptol,transpose);
43     *** mtx_matrix_t mtx;
44     *** real64 coef,droptol;
45     *** mtx_sparse_t *sp;
46     *** mtx_region_t *reg;
47     *** real64 droptol;
48     *** boolean transpose;
49     ***
50     *** Does a sparse Householder transformation to the matrix A
51     *** denoted by region, resulting in Anew.
52     *** Mathematically: Anew = (I - coef * u dot Transpose[u]) dot A.
53     *** Slightly faster in the case of coef = 1.0.
54     *** Returns immediately in the case of coef = 0.0.
55     *** Note following unusual assumptions, however:
56     *** 1)The user has already cleared out the leading column in the
57     *** region and we will not be doing anything to it. This is usually
58     *** the case since that column is where u was derived from.
59     *** 2)The sparse, sp, supplied by the user contains the nonzero
60     *** elements of u and is indexed by org row number.
61     *** Note that a soft zero in u will not hurt us: we skip it.
62     *** 3)There are no elements in the regions to the left and the right
63     *** of the region.
64     ***
65     *** mtx_ENTIRE_MATRIX is not a valid region for this function.
66     ***
67     *** Current bugs (11/95)
68     *** ignores the transpose and droptol arguments.
69     *** does not remove soft zeroes created when 2 numbers add to zero.
70     **/
71    
72     #endif /* __MTX_LINAL_H_SEEN__ */

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