Main Page | Modules | Class List | File List | Class Members | File Members

mat_triangular.h

Go to the documentation of this file.
00001 
00014 /* This library is free software; you can redistribute it and/or
00015    modify it under the terms of the GNU Lesser General Public
00016    License as published by the Free Software Foundation; either
00017    version 2.1 of the License, or (at your option) any later version.
00018 
00019    This library is distributed in the hope that it will be useful,
00020    but WITHOUT ANY WARRANTY; without even the implied warranty of
00021    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00022    Lesser General Public License for more details.
00023 
00024    You should have received a copy of the GNU Lesser General Public
00025    License along with this library; if not, write to the Free Software
00026    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00027 */
00028 
00029 #ifndef _GAN_MAT_TRIANGULAR_H
00030 #define _GAN_MAT_TRIANGULAR_H
00031 
00032 #include <gandalf/linalg/mat_square.h>
00033 
00034 #ifdef __cplusplus
00035 extern "C" {
00036 #endif
00037 
00053 /* function declarations */
00054  Gan_SquMatrix *gan_ltmat_set_size ( Gan_SquMatrix *L, unsigned long size );
00055  Gan_SquMatrix *gan_utmat_set_size ( Gan_SquMatrix *U, unsigned long size );
00056  Gan_SquMatrix *gan_ltmat_fill_va ( Gan_SquMatrix *L, unsigned long size, ... );
00057  Gan_SquMatrix *gan_utmat_fill_va ( Gan_SquMatrix *U, unsigned long size, ... );
00058  Gan_SquMatrix *gan_ltmat_fill_const_q ( Gan_SquMatrix *L,
00059                                         unsigned long size, double value );
00060  Gan_SquMatrix *gan_utmat_fill_const_q ( Gan_SquMatrix *U,
00061                                         unsigned long size, double value );
00062  Gan_Bool gan_ltmat_read_va ( const Gan_SquMatrix *L, unsigned long size, ... );
00063  Gan_Bool gan_utmat_read_va ( const Gan_SquMatrix *U, unsigned long size, ... );
00064 
00078  Gan_SquMatrix *gan_ltmat_alloc ( unsigned long size );
00079 
00092  Gan_SquMatrix *gan_ltmat_form ( Gan_SquMatrix *A, unsigned long size );
00093 
00106  Gan_SquMatrix *gan_ltmat_form_data ( Gan_SquMatrix *A, unsigned long size,
00107                                      double *data, size_t data_size );
00108 
00117  Gan_SquMatrix *gan_utmat_alloc ( unsigned long size );
00118 
00130  Gan_SquMatrix *gan_utmat_form ( Gan_SquMatrix *A, unsigned long size );
00131 
00144  Gan_SquMatrix *gan_utmat_form_data ( Gan_SquMatrix *A, unsigned long size,
00145                                      void *data, size_t data_size );
00146 
00167  Gan_SquMatrix *gan_ltmat_fill_const_s ( unsigned long size, double value );
00168 
00178  Gan_SquMatrix *gan_ltmat_fill_zero_q ( Gan_SquMatrix *A, unsigned long size );
00179 
00190  Gan_SquMatrix *gan_ltmat_fill_zero_s ( unsigned long size );
00191 
00203  Gan_SquMatrix *gan_utmat_fill_const_s ( unsigned long size, double value );
00204 
00215  Gan_SquMatrix *gan_utmat_fill_zero_q ( Gan_SquMatrix *A, unsigned long size );
00216 
00227  Gan_SquMatrix *gan_utmat_fill_zero_s ( unsigned long size );
00228 
00233 /* not user functions */
00234  Gan_SquMatrix *gan_ltmat_form_gen ( Gan_SquMatrix *A, unsigned long size,
00235                                     double *data, size_t data_size );
00236  Gan_SquMatrix *gan_utmat_form_gen ( Gan_SquMatrix *A, unsigned long size,
00237                                     double *data, size_t data_size );
00238  Gan_SquMatrix *gan_ltmat_fill_vap ( Gan_SquMatrix *L,
00239                                     unsigned long size, va_list *aptr );
00240  Gan_SquMatrix *gan_utmat_fill_vap ( Gan_SquMatrix *U,
00241                                     unsigned long size, va_list *aptr );
00242 
00255 #ifdef __cplusplus
00256 }
00257 #endif
00258 
00259 #endif /* #ifndef _GAN_MAT_TRIANGULAR_H */

Generated on Fri Mar 17 12:44:48 2006 by  doxygen 1.3.9.1