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

matf_diagonal.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_MATF_DIAGONAL_H
00030 #define _GAN_MATF_DIAGONAL_H
00031 
00032 #include <gandalf/linalg/matf_square.h>
00033 
00034 #ifdef __cplusplus
00035 extern "C" {
00036 #endif
00037 
00054 /* function declarations */
00055  Gan_SquMatrix_f *gan_diagmatf_set_size ( Gan_SquMatrix_f *A,
00056                                          unsigned long size );
00057  Gan_SquMatrix_f *gan_diagmatf_fill_va ( Gan_SquMatrix_f *A,
00058                                         unsigned long size, ... );
00059  Gan_SquMatrix_f *gan_diagmatf_fill_const_q ( Gan_SquMatrix_f *A,
00060                                              unsigned long size, float value );
00061  Gan_Bool gan_diagmatf_read_va ( const Gan_SquMatrix_f *A, unsigned long size,
00062                                 ... );
00063  Gan_SquMatrix_f *gan_diagmatf_diag_thres ( Gan_SquMatrix_f *A,
00064                                            unsigned null_space,
00065                                            float thres, int *indexptr,
00066                                            float **elptr );
00067  Gan_SquMatrix_f *gan_diagmatf_inv_diag_thres ( Gan_SquMatrix_f *A,
00068                                                unsigned null_space,
00069                                                float thres );
00070  struct Gan_Matrix_f *gan_diagmatIf_lmult_inf_q ( const Gan_SquMatrix_f *A,
00071                                                  struct Gan_Matrix_f *B,
00072                                                  struct Gan_Matrix_f *C );
00073 
00087  Gan_SquMatrix_f *gan_diagmatf_alloc ( unsigned long size );
00088 
00100  Gan_SquMatrix_f *gan_diagmatf_form ( Gan_SquMatrix_f *A, unsigned long size );
00101 
00114  Gan_SquMatrix_f *gan_diagmatf_form_data ( Gan_SquMatrix_f *A,
00115                                           unsigned long size,
00116                                           float *data, size_t data_size );
00117 
00137  Gan_SquMatrix_f *
00138  gan_diagmatf_fill_const_s ( unsigned long size, float value );
00139 
00150  Gan_SquMatrix_f *
00151  gan_diagmatf_fill_zero_q ( Gan_SquMatrix_f *A, unsigned long size );
00152 
00162  Gan_SquMatrix_f *
00163  gan_diagmatf_fill_zero_s ( unsigned long size );
00164 
00183  Gan_Matrix_f *gan_diagmatIf_lmult_inf_s ( const Gan_SquMatrix_f *A,
00184                                           Gan_Matrix_f *B );
00185 
00195  Gan_Matrix_f *gan_diagmatIf_lmult_inf_i ( const Gan_SquMatrix_f *A,
00196                                           Gan_Matrix_f *B );
00197 
00202 /* not user functions */
00203  Gan_SquMatrix_f *gan_diagmatf_form_gen ( Gan_SquMatrix_f *A,
00204                                          unsigned long size,
00205                                          float *data, size_t data_size );
00206  Gan_SquMatrix_f *gan_diagmatf_fill_vap ( Gan_SquMatrix_f *A,
00207                                          unsigned long size, va_list *aptr );
00208 
00221 #ifdef __cplusplus
00222 }
00223 #endif
00224 
00225 #endif /* #ifndef _GAN_MATF_DIAGONAL_H */

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