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

matf_symmetric.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_SYMMETRIC_H
00030 #define _GAN_MATF_SYMMETRIC_H
00031 
00032 #include <gandalf/linalg/matf_square.h>
00033 
00034 #ifdef __cplusplus
00035 extern "C" {
00036 #endif
00037 
00053 struct Gan_Matrix_f;
00054 
00055 /* function declarations */
00056  Gan_SquMatrix_f *gan_symmatf_set_size ( Gan_SquMatrix_f *A,
00057                                         unsigned long size );
00058  Gan_SquMatrix_f *gan_symmatf_fill_va ( Gan_SquMatrix_f *A,
00059                                        unsigned long size, ... );
00060  Gan_SquMatrix_f *gan_symmatf_fill_const_q ( Gan_SquMatrix_f *A,
00061                                             unsigned long size, float value );
00062  Gan_Bool gan_symmatf_read_va ( const Gan_SquMatrix_f *A, unsigned long size, ... );
00063  Gan_SquMatrix_f *gan_symmatf_insertsym ( Gan_SquMatrix_f *A, unsigned long rA,
00064                                          const Gan_SquMatrix_f *B, unsigned long rB,
00065                                          unsigned long size );
00066  Gan_SquMatrix_f *gan_symmatf_insertsym_od ( Gan_SquMatrix_f *A,
00067                                             unsigned long rA, unsigned long cA,
00068                                             const Gan_SquMatrix_f *B,
00069                                             unsigned long rB, unsigned long cB,
00070                                             unsigned long rows,
00071                                             unsigned long cols );
00072  Gan_Bool gan_symmatf_eigen ( Gan_SquMatrix_f *A,
00073                              Gan_SquMatrix_f *W, struct Gan_Matrix_f *Z,
00074                              Gan_Bool sort,
00075                              float *work, unsigned long work_size );
00076                             
00090  Gan_SquMatrix_f *gan_symmatf_alloc ( unsigned long size );
00091 
00103  Gan_SquMatrix_f *gan_symmatf_form ( Gan_SquMatrix_f *A, unsigned long size );
00104 
00117  Gan_SquMatrix_f *gan_symmatf_form_data ( Gan_SquMatrix_f *A,
00118                                          unsigned long size,
00119                                          float *data, size_t data_size );
00120 
00141  Gan_SquMatrix_f *
00142  gan_symmatf_fill_const_s ( unsigned long size, float value );
00143 
00154  Gan_SquMatrix_f *
00155  gan_symmatf_fill_zero_q ( Gan_SquMatrix_f *A, unsigned long size );
00156 
00166  Gan_SquMatrix_f *
00167  gan_symmatf_fill_zero_s ( unsigned long size );
00168 
00186  Gan_SquMatrix_f *gan_symmatf_insert ( Gan_SquMatrix_f *S,
00187                                       unsigned long rS, unsigned long cS,
00188                                       const Gan_Matrix_f *B,
00189                                       unsigned long rB, unsigned long cB,
00190                                       unsigned long rows, unsigned long cols );
00191 
00200  Gan_SquMatrix_f *gan_symmatf_insertT ( Gan_SquMatrix_f *S,
00201                                        unsigned long rS, unsigned long cS,
00202                                        const Gan_Matrix_f *B,
00203                                        unsigned long rB, unsigned long cB,
00204                                        unsigned long rows, unsigned long cols);
00205 
00214  Gan_SquMatrix_f *gan_symmatf_insertv ( Gan_SquMatrix_f *A,
00215                                        unsigned long rA, unsigned long cA,
00216                                        const Gan_Vector_f *x, unsigned long rx,
00217                                        unsigned long rows );
00218 
00228  Gan_SquMatrix_f *gan_symmatf_insertvT ( Gan_SquMatrix_f *A,
00229                                         unsigned long rA, unsigned long cA,
00230                                         const Gan_Vector_f *x, unsigned long rx,
00231                                         unsigned long cols );
00232 
00237 /* not user functions */
00238  Gan_SquMatrix_f *gan_symmatf_form_gen ( Gan_SquMatrix_f *A, unsigned long size,
00239                                         float *data, size_t data_size );
00240  Gan_SquMatrix_f *gan_symmatf_fill_vap ( Gan_SquMatrix_f *A,
00241                                         unsigned long size, va_list *aptr );
00242  Gan_SquMatrix_f *gan_symmatf_insert_gen (Gan_SquMatrix_f *S,
00243                                          unsigned long rS,   unsigned long cS,
00244                                          const struct Gan_Matrix_f *B,
00245                                          Gan_TposeFlag B_tr,
00246                                          unsigned long rB,   unsigned long cB,
00247                                          unsigned long rows,
00248                                          unsigned long cols );
00249  Gan_SquMatrix_f *gan_symmatf_insertv_gen ( Gan_SquMatrix_f *A,
00250                                            unsigned long rA, unsigned long cA,
00251                                            const struct Gan_Vector_f *x,
00252                                            Gan_TposeFlag x_tr,
00253                                            unsigned long rx,
00254                                            unsigned long size );
00255 
00268 #ifdef __cplusplus
00269 }
00270 #endif
00271 
00272 #endif /* #ifndef _GAN_MATF_SYMMETRIC_H */

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