<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta name="robots" content="noindex"> <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>repl.h Source File</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body bgcolor="#ffffff"> <!-- Generated by Doxygen 1.2.5 on Mon Oct 14 14:16:38 2002 --> <center> <a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="pages.html">Related Pages</a> </center> <hr><h1>repl.h</h1><div class="fragment"><pre>00001 <font class="comment">//</font> 00002 <font class="comment">// repl.h</font> 00003 <font class="comment">//</font> 00004 <font class="comment">// Copyright (C) 1996 Limit Point Systems, Inc.</font> 00005 <font class="comment">//</font> 00006 <font class="comment">// Author: Curtis Janssen <cljanss@limitpt.com></font> 00007 <font class="comment">// Maintainer: LPS</font> 00008 <font class="comment">//</font> 00009 <font class="comment">// This file is part of the SC Toolkit.</font> 00010 <font class="comment">//</font> 00011 <font class="comment">// The SC Toolkit is free software; you can redistribute it and/or modify</font> 00012 <font class="comment">// it under the terms of the GNU Library General Public License as published by</font> 00013 <font class="comment">// the Free Software Foundation; either version 2, or (at your option)</font> 00014 <font class="comment">// any later version.</font> 00015 <font class="comment">//</font> 00016 <font class="comment">// The SC Toolkit is distributed in the hope that it will be useful,</font> 00017 <font class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</font> 00018 <font class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</font> 00019 <font class="comment">// GNU Library General Public License for more details.</font> 00020 <font class="comment">//</font> 00021 <font class="comment">// You should have received a copy of the GNU Library General Public License</font> 00022 <font class="comment">// along with the SC Toolkit; see the file COPYING.LIB. If not, write to</font> 00023 <font class="comment">// the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.</font> 00024 <font class="comment">//</font> 00025 <font class="comment">// The U.S. Government is granted a limited license as per AL 91-7.</font> 00026 <font class="comment">//</font> 00027 00028 <font class="preprocessor">#ifdef __GNUC__</font> 00029 <font class="preprocessor"></font><font class="preprocessor">#pragma interface</font> 00030 <font class="preprocessor"></font><font class="preprocessor">#endif</font> 00031 <font class="preprocessor"></font> 00032 <font class="preprocessor">#ifndef _math_scmat_repl_h</font> 00033 <font class="preprocessor"></font><font class="preprocessor">#define _math_scmat_repl_h</font> 00034 <font class="preprocessor"></font> 00035 <font class="preprocessor">#include <util/group/message.h></font> 00036 00037 <font class="preprocessor">#include <math/scmat/block.h></font> 00038 <font class="preprocessor">#include <math/scmat/matrix.h></font> 00039 <font class="preprocessor">#include <math/scmat/abstract.h></font> 00040 00041 <font class="keyword">namespace </font>sc { 00042 <a name="l00046"></a><a class="code" href="class_sc__ReplSCMatrixKit.html">00046</a> <font class="keyword">class </font>ReplSCMatrixKit: <font class="keyword">public</font> SCMatrixKit { 00047 <font class="keyword">public</font>: 00048 ReplSCMatrixKit(); 00049 ReplSCMatrixKit(<font class="keyword">const</font> Ref<KeyVal>&); 00050 ~ReplSCMatrixKit(); 00051 SCMatrix* <a class="code" href="class_sc__ReplSCMatrixKit.html#a3">matrix</a>(<font class="keyword">const</font> RefSCDimension&,<font class="keyword">const</font> RefSCDimension&); 00052 SymmSCMatrix* symmmatrix(<font class="keyword">const</font> RefSCDimension&); 00053 DiagSCMatrix* diagmatrix(<font class="keyword">const</font> RefSCDimension&); 00054 SCVector* vector(<font class="keyword">const</font> RefSCDimension&); 00055 }; 00056 00057 00058 <font class="keyword">class </font>ReplSCMatrixListSubblockIter: <font class="keyword">public</font> SCMatrixListSubblockIter { 00059 <font class="keyword">protected</font>: 00060 Ref<MessageGrp> grp_; 00061 <font class="keywordtype">double</font> *data_; 00062 <font class="keywordtype">int</font> ndata_; 00063 <font class="keyword">public</font>: 00064 ReplSCMatrixListSubblockIter(Access, 00065 <font class="keyword">const</font> Ref<SCMatrixBlockList> &list, 00066 <font class="keyword">const</font> Ref<MessageGrp> &grp, 00067 <font class="keywordtype">double</font> *data, <font class="keywordtype">int</font> ndata); 00068 ~ReplSCMatrixListSubblockIter(); 00069 }; 00070 00071 <font class="keyword">class </font>ReplSCVector: <font class="keyword">public</font> SCVector { 00072 <font class="keyword">friend</font> <font class="keyword">class </font>ReplSCMatrix; 00073 <font class="keyword">friend</font> <font class="keyword">class </font>ReplSymmSCMatrix; 00074 <font class="keyword">friend</font> <font class="keyword">class </font>ReplDiagSCMatrix; 00075 <font class="keyword">protected</font>: 00076 Ref<SCMatrixBlockList> blocklist; 00077 <font class="keywordtype">double</font>* vector; 00078 <font class="keywordtype">void</font> init_blocklist(); 00079 <font class="keywordtype">void</font> before_elemop(); 00080 <font class="keywordtype">void</font> after_elemop(); 00081 <font class="keyword">public</font>: 00082 ReplSCVector(<font class="keyword">const</font> RefSCDimension&,ReplSCMatrixKit*); 00083 ~ReplSCVector(); 00084 <font class="keywordtype">void</font> assign_val(<font class="keywordtype">double</font>); 00085 <font class="keywordtype">void</font> assign_v(SCVector*); 00086 <font class="keywordtype">void</font> assign_p(<font class="keyword">const</font> <font class="keywordtype">double</font>*); 00087 00088 <font class="keywordtype">void</font> set_element(<font class="keywordtype">int</font>,<font class="keywordtype">double</font>); 00089 <font class="keywordtype">void</font> accumulate_element(<font class="keywordtype">int</font>,<font class="keywordtype">double</font>); 00090 <font class="keywordtype">double</font> get_element(<font class="keywordtype">int</font>) <font class="keyword">const</font>; 00091 <font class="keywordtype">void</font> accumulate_product_sv(SymmSCMatrix*,SCVector*); 00092 <font class="keywordtype">void</font> accumulate_product_rv(SCMatrix*,SCVector*); 00093 <font class="keywordtype">void</font> accumulate(<font class="keyword">const</font> SCVector*); 00094 <font class="keywordtype">void</font> accumulate(<font class="keyword">const</font> SCMatrix*); 00095 <font class="keywordtype">double</font> scalar_product(SCVector*); 00096 <font class="keywordtype">void</font> element_op(<font class="keyword">const</font> Ref<SCElementOp>&); 00097 <font class="keywordtype">void</font> element_op(<font class="keyword">const</font> Ref<SCElementOp2>&, 00098 SCVector*); 00099 <font class="keywordtype">void</font> element_op(<font class="keyword">const</font> Ref<SCElementOp3>&, 00100 SCVector*,SCVector*); 00101 <font class="keywordtype">void</font> vprint(<font class="keyword">const</font> <font class="keywordtype">char</font>* title=0, 00102 std::ostream& out=ExEnv::out0(), <font class="keywordtype">int</font> =10) <font class="keyword">const</font>; 00103 00104 <font class="comment">// return a pointer to the data for fast access</font> 00105 <font class="keywordtype">double</font> *get_data()<font class="keyword"> </font>{ <font class="keywordflow">return</font> vector; } 00106 00107 Ref<SCMatrixSubblockIter> local_blocks(SCMatrixSubblockIter::Access); 00108 Ref<SCMatrixSubblockIter> all_blocks(SCMatrixSubblockIter::Access); 00109 00110 Ref<ReplSCMatrixKit> skit(); 00111 }; 00112 00113 <font class="keyword">class </font>ReplSCMatrix: <font class="keyword">public</font> SCMatrix { 00114 <font class="keyword">friend</font> <font class="keyword">class </font>ReplSymmSCMatrix; 00115 <font class="keyword">friend</font> <font class="keyword">class </font>ReplDiagSCMatrix; 00116 <font class="keyword">friend</font> <font class="keyword">class </font>ReplSCVector; 00117 <font class="keyword">protected</font>: 00118 Ref<SCMatrixBlockList> blocklist; 00119 <font class="keywordtype">double</font>* matrix; 00120 <font class="keywordtype">double</font>** rows; 00121 <font class="keyword">protected</font>: 00122 <font class="comment">// utility functions</font> 00123 <font class="keywordtype">int</font> compute_offset(<font class="keywordtype">int</font>,<font class="keywordtype">int</font>) <font class="keyword">const</font>; 00124 <font class="keywordtype">void</font> init_blocklist(); 00125 00126 <font class="keywordtype">void</font> before_elemop(); 00127 <font class="keywordtype">void</font> after_elemop(); 00128 <font class="keyword">public</font>: 00129 ReplSCMatrix(<font class="keyword">const</font> RefSCDimension&,<font class="keyword">const</font> RefSCDimension&, 00130 ReplSCMatrixKit*); 00131 ~ReplSCMatrix(); 00132 00133 <font class="comment">// implementations and overrides of virtual functions</font> 00134 <font class="keywordtype">void</font> assign_val(<font class="keywordtype">double</font>); 00135 <font class="keywordtype">double</font> get_element(<font class="keywordtype">int</font>,<font class="keywordtype">int</font>) <font class="keyword">const</font>; 00136 <font class="keywordtype">void</font> set_element(<font class="keywordtype">int</font>,<font class="keywordtype">int</font>,<font class="keywordtype">double</font>); 00137 <font class="keywordtype">void</font> accumulate_element(<font class="keywordtype">int</font>,<font class="keywordtype">int</font>,<font class="keywordtype">double</font>); 00138 SCMatrix * get_subblock(<font class="keywordtype">int</font>,<font class="keywordtype">int</font>,<font class="keywordtype">int</font>,<font class="keywordtype">int</font>); 00139 <font class="keywordtype">void</font> assign_subblock(SCMatrix*, <font class="keywordtype">int</font>,<font class="keywordtype">int</font>,<font class="keywordtype">int</font>,<font class="keywordtype">int</font>,<font class="keywordtype">int</font>=0,<font class="keywordtype">int</font>=0); 00140 <font class="keywordtype">void</font> accumulate_subblock(SCMatrix*, <font class="keywordtype">int</font>,<font class="keywordtype">int</font>,<font class="keywordtype">int</font>,<font class="keywordtype">int</font>,<font class="keywordtype">int</font>=0,<font class="keywordtype">int</font>=0); 00141 SCVector * get_row(<font class="keywordtype">int</font> i); 00142 SCVector * get_column(<font class="keywordtype">int</font> i); 00143 <font class="keywordtype">void</font> assign_row(SCVector *v, <font class="keywordtype">int</font> i); 00144 <font class="keywordtype">void</font> assign_column(SCVector *v, <font class="keywordtype">int</font> i); 00145 <font class="keywordtype">void</font> accumulate_row(SCVector *v, <font class="keywordtype">int</font> i); 00146 <font class="keywordtype">void</font> accumulate_column(SCVector *v, <font class="keywordtype">int</font> i); 00147 00148 <font class="keywordtype">void</font> accumulate_outer_product(SCVector*,SCVector*); 00149 <font class="keywordtype">void</font> accumulate_product_rr(SCMatrix*,SCMatrix*); 00150 <font class="keywordtype">void</font> accumulate_product_rs(SCMatrix*,SymmSCMatrix*); 00151 <font class="keywordtype">void</font> accumulate_product_rd(SCMatrix*,DiagSCMatrix*); 00152 <font class="keywordtype">void</font> accumulate(<font class="keyword">const</font> SCMatrix*); 00153 <font class="keywordtype">void</font> accumulate(<font class="keyword">const</font> SymmSCMatrix*); 00154 <font class="keywordtype">void</font> accumulate(<font class="keyword">const</font> DiagSCMatrix*); 00155 <font class="keywordtype">void</font> accumulate(<font class="keyword">const</font> SCVector*); 00156 <font class="keywordtype">void</font> transpose_this(); 00157 <font class="keywordtype">double</font> invert_this(); 00158 <font class="keywordtype">void</font> svd_this(SCMatrix *U, DiagSCMatrix *sigma, SCMatrix *V); 00159 <font class="keywordtype">double</font> solve_this(SCVector*); 00160 <font class="keywordtype">double</font> determ_this(); 00161 <font class="keywordtype">double</font> trace(); 00162 <font class="keywordtype">void</font> schmidt_orthog(SymmSCMatrix*,<font class="keywordtype">int</font>); 00163 <font class="keywordtype">int</font> schmidt_orthog_tol(SymmSCMatrix*, <font class="keywordtype">double</font> tol, <font class="keywordtype">double</font> *res=0); 00164 <font class="keywordtype">void</font> element_op(<font class="keyword">const</font> Ref<SCElementOp>&); 00165 <font class="keywordtype">void</font> element_op(<font class="keyword">const</font> Ref<SCElementOp2>&, 00166 SCMatrix*); 00167 <font class="keywordtype">void</font> element_op(<font class="keyword">const</font> Ref<SCElementOp3>&, 00168 SCMatrix*,SCMatrix*); 00169 <font class="keywordtype">void</font> vprint(<font class="keyword">const</font> <font class="keywordtype">char</font>* title=0, 00170 std::ostream& out=ExEnv::out0(), <font class="keywordtype">int</font> =10) <font class="keyword">const</font>; 00171 00172 <font class="comment">// return a pointer to the data for fast access</font> 00173 <font class="keywordtype">double</font> *get_data()<font class="keyword"> </font>{ <font class="keywordflow">return</font> matrix; } 00174 <font class="keywordtype">double</font> **get_rows()<font class="keyword"> </font>{ <font class="keywordflow">return</font> rows; } 00175 00176 Ref<SCMatrixSubblockIter> local_blocks(SCMatrixSubblockIter::Access); 00177 Ref<SCMatrixSubblockIter> all_blocks(SCMatrixSubblockIter::Access); 00178 00179 Ref<ReplSCMatrixKit> skit(); 00180 }; 00181 00182 <font class="keyword">class </font>ReplSymmSCMatrix: <font class="keyword">public</font> SymmSCMatrix { 00183 <font class="keyword">friend</font> <font class="keyword">class </font>ReplSCMatrix; 00184 <font class="keyword">friend</font> <font class="keyword">class </font>ReplDiagSCMatrix; 00185 <font class="keyword">friend</font> <font class="keyword">class </font>ReplSCVector; 00186 <font class="keyword">protected</font>: 00187 Ref<SCMatrixBlockList> blocklist; 00188 <font class="keywordtype">double</font>* matrix; 00189 <font class="keywordtype">double</font>** rows; 00190 <font class="keyword">protected</font>: 00191 <font class="comment">// utility functions</font> 00192 <font class="keywordtype">int</font> compute_offset(<font class="keywordtype">int</font>,<font class="keywordtype">int</font>) <font class="keyword">const</font>; 00193 <font class="keywordtype">void</font> init_blocklist(); 00194 00195 <font class="keywordtype">void</font> before_elemop(); 00196 <font class="keywordtype">void</font> after_elemop(); 00197 <font class="keyword">public</font>: 00198 ReplSymmSCMatrix(<font class="keyword">const</font> RefSCDimension&, ReplSCMatrixKit*); 00199 ~ReplSymmSCMatrix(); 00200 00201 <font class="comment">// implementations and overrides of virtual functions</font> 00202 <font class="keywordtype">void</font> assign_val(<font class="keywordtype">double</font>); 00203 <font class="keywordtype">void</font> assign_s(SymmSCMatrix*); 00204 <font class="keywordtype">void</font> assign_p(<font class="keyword">const</font> <font class="keywordtype">double</font>*); 00205 <font class="keywordtype">void</font> assign_pp(<font class="keyword">const</font> <font class="keywordtype">double</font>**); 00206 <font class="keywordtype">double</font> get_element(<font class="keywordtype">int</font>,<font class="keywordtype">int</font>) <font class="keyword">const</font>; 00207 <font class="keywordtype">void</font> set_element(<font class="keywordtype">int</font>,<font class="keywordtype">int</font>,<font class="keywordtype">double</font>); 00208 <font class="keywordtype">void</font> accumulate_element(<font class="keywordtype">int</font>,<font class="keywordtype">int</font>,<font class="keywordtype">double</font>); 00209 <font class="keywordtype">void</font> scale(<font class="keywordtype">double</font>); 00210 00211 SCMatrix * get_subblock(<font class="keywordtype">int</font>,<font class="keywordtype">int</font>,<font class="keywordtype">int</font>,<font class="keywordtype">int</font>); 00212 SymmSCMatrix * get_subblock(<font class="keywordtype">int</font>,<font class="keywordtype">int</font>); 00213 <font class="keywordtype">void</font> assign_subblock(SCMatrix*, <font class="keywordtype">int</font>,<font class="keywordtype">int</font>,<font class="keywordtype">int</font>,<font class="keywordtype">int</font>); 00214 <font class="keywordtype">void</font> assign_subblock(SymmSCMatrix*, <font class="keywordtype">int</font>,<font class="keywordtype">int</font>); 00215 <font class="keywordtype">void</font> accumulate_subblock(SCMatrix*, <font class="keywordtype">int</font>,<font class="keywordtype">int</font>,<font class="keywordtype">int</font>,<font class="keywordtype">int</font>); 00216 <font class="keywordtype">void</font> accumulate_subblock(SymmSCMatrix*, <font class="keywordtype">int</font>,<font class="keywordtype">int</font>); 00217 SCVector * get_row(<font class="keywordtype">int</font> i); 00218 <font class="keywordtype">void</font> assign_row(SCVector *v, <font class="keywordtype">int</font> i); 00219 <font class="keywordtype">void</font> accumulate_row(SCVector *v, <font class="keywordtype">int</font> i); 00220 00221 <font class="keywordtype">void</font> accumulate_product_rr(SCMatrix*,SCMatrix*); 00222 <font class="keywordtype">void</font> accumulate(<font class="keyword">const</font> SymmSCMatrix*); 00223 <font class="keywordtype">double</font> invert_this(); 00224 <font class="keywordtype">double</font> solve_this(SCVector*); 00225 <font class="keywordtype">double</font> trace(); 00226 <font class="keywordtype">double</font> determ_this(); 00227 <font class="keywordtype">void</font> gen_invert_this(); 00228 00229 <font class="keywordtype">double</font> scalar_product(SCVector*); 00230 <font class="keywordtype">void</font> diagonalize(DiagSCMatrix*,SCMatrix*); 00231 <font class="keywordtype">void</font> accumulate_symmetric_outer_product(SCVector*); 00232 <font class="keywordtype">void</font> accumulate_symmetric_product(SCMatrix*); 00233 <font class="keywordtype">void</font> accumulate_symmetric_sum(SCMatrix*); 00234 <font class="keywordtype">void</font> accumulate_transform(SCMatrix*,SymmSCMatrix*, 00235 SCMatrix::Transform = SCMatrix::NormalTransform); 00236 <font class="keywordtype">void</font> accumulate_transform(SCMatrix*,DiagSCMatrix*, 00237 SCMatrix::Transform = SCMatrix::NormalTransform); 00238 <font class="keywordtype">void</font> accumulate_transform(SymmSCMatrix*,SymmSCMatrix*); 00239 <font class="keywordtype">void</font> element_op(<font class="keyword">const</font> Ref<SCElementOp>&); 00240 <font class="keywordtype">void</font> element_op(<font class="keyword">const</font> Ref<SCElementOp2>&, 00241 SymmSCMatrix*); 00242 <font class="keywordtype">void</font> element_op(<font class="keyword">const</font> Ref<SCElementOp3>&, 00243 SymmSCMatrix*,SymmSCMatrix*); 00244 <font class="keywordtype">void</font> vprint(<font class="keyword">const</font> <font class="keywordtype">char</font>* title=0, 00245 std::ostream& out=ExEnv::out0(), <font class="keywordtype">int</font> =10) <font class="keyword">const</font>; 00246 00247 <font class="comment">// return a pointer to the data for fast access</font> 00248 <font class="keywordtype">double</font> *get_data()<font class="keyword"> </font>{ <font class="keywordflow">return</font> matrix; } 00249 <font class="keywordtype">double</font> **get_rows()<font class="keyword"> </font>{ <font class="keywordflow">return</font> rows; } 00250 00251 Ref<SCMatrixSubblockIter> local_blocks(SCMatrixSubblockIter::Access); 00252 Ref<SCMatrixSubblockIter> all_blocks(SCMatrixSubblockIter::Access); 00253 00254 Ref<ReplSCMatrixKit> skit(); 00255 }; 00256 00257 <font class="keyword">class </font>ReplDiagSCMatrix: <font class="keyword">public</font> DiagSCMatrix { 00258 <font class="keyword">friend</font> <font class="keyword">class </font>ReplSCMatrix; 00259 <font class="keyword">friend</font> <font class="keyword">class </font>ReplSymmSCMatrix; 00260 <font class="keyword">friend</font> <font class="keyword">class </font>ReplSCVector; 00261 <font class="keyword">protected</font>: 00262 Ref<SCMatrixBlockList> blocklist; 00263 <font class="keywordtype">void</font> init_blocklist(); 00264 <font class="keywordtype">double</font>* matrix; 00265 00266 <font class="keywordtype">void</font> before_elemop(); 00267 <font class="keywordtype">void</font> after_elemop(); 00268 <font class="keyword">public</font>: 00269 ReplDiagSCMatrix(<font class="keyword">const</font> RefSCDimension&, ReplSCMatrixKit*); 00270 ~ReplDiagSCMatrix(); 00271 00272 <font class="comment">// implementations and overrides of virtual functions</font> 00273 <font class="keywordtype">void</font> assign_val(<font class="keywordtype">double</font>); 00274 <font class="keywordtype">double</font> get_element(<font class="keywordtype">int</font>) <font class="keyword">const</font>; 00275 <font class="keywordtype">void</font> set_element(<font class="keywordtype">int</font>,<font class="keywordtype">double</font>); 00276 <font class="keywordtype">void</font> accumulate_element(<font class="keywordtype">int</font>,<font class="keywordtype">double</font>); 00277 <font class="keywordtype">void</font> accumulate(<font class="keyword">const</font> DiagSCMatrix*); 00278 <font class="keywordtype">double</font> invert_this(); 00279 <font class="keywordtype">double</font> determ_this(); 00280 <font class="keywordtype">double</font> trace(); 00281 <font class="keywordtype">void</font> gen_invert_this(); 00282 00283 <font class="keywordtype">void</font> element_op(<font class="keyword">const</font> Ref<SCElementOp>&); 00284 <font class="keywordtype">void</font> element_op(<font class="keyword">const</font> Ref<SCElementOp2>&, 00285 DiagSCMatrix*); 00286 <font class="keywordtype">void</font> element_op(<font class="keyword">const</font> Ref<SCElementOp3>&, 00287 DiagSCMatrix*,DiagSCMatrix*); 00288 <font class="keywordtype">void</font> vprint(<font class="keyword">const</font> <font class="keywordtype">char</font>* title=0, 00289 std::ostream& out=ExEnv::out0(), <font class="keywordtype">int</font> =10) <font class="keyword">const</font>; 00290 00291 <font class="comment">// return a pointer to the data for fast access</font> 00292 <font class="keywordtype">double</font> *get_data()<font class="keyword"> </font>{ <font class="keywordflow">return</font> matrix; } 00293 00294 Ref<SCMatrixSubblockIter> local_blocks(SCMatrixSubblockIter::Access); 00295 Ref<SCMatrixSubblockIter> all_blocks(SCMatrixSubblockIter::Access); 00296 00297 Ref<ReplSCMatrixKit> skit(); 00298 }; 00299 00300 } 00301 00302 <font class="preprocessor">#endif</font> 00303 <font class="preprocessor"></font> 00304 <font class="comment">// Local Variables:</font> 00305 <font class="comment">// mode: c++</font> 00306 <font class="comment">// c-file-style: "CLJ"</font> 00307 <font class="comment">// End:</font> </div></pre><hr> <address> <small> Generated at Mon Oct 14 14:16:38 2002 for <a href="http://aros.ca.sandia.gov/~cljanss/mpqc">MPQC</a> 2.1.2 using the documentation package <a href="http://www.stack.nl/~dimitri/doxygen/index.html">Doxygen</a> 1.2.5. </small> </address> </body> </html>