00001
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
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
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
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