Program Listing for File sparse/array/gauss/algebra.h#

Return to documentation for file (oti/sparse/array/gauss/algebra.h)

#ifndef OTI_SPARSE_ARRAY_GAUSS_ALGEBRA_H
#define OTI_SPARSE_ARRAY_GAUSS_ALGEBRA_H





/**************************************************************************************************/
fearrso_t fearrso_neg(    fearrso_t* arr,                 dhelpl_t dhl);
void      fearrso_neg_to( fearrso_t* arr, fearrso_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------

/**************************************************************************************************/
fearrso_t fearrso_abs(    fearrso_t* arr,                 dhelpl_t dhl);
void      fearrso_abs_to( fearrso_t* arr, fearrso_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------




/**************************************************************************************************/
fearrso_t fearrso_sum_FF(   fearrso_t* lhs, fearrso_t* rhs,                 dhelpl_t dhl);
void      fearrso_sum_FF_to(fearrso_t* lhs, fearrso_t* rhs, fearrso_t* res, dhelpl_t dhl);

fearrso_t fearrso_sum_fF(    fesoti_t* lhs, fearrso_t* rhs,                 dhelpl_t dhl);
void      fearrso_sum_fF_to( fesoti_t* lhs, fearrso_t* rhs, fearrso_t* res, dhelpl_t dhl);

fearrso_t fearrso_sum_OF(     arrso_t* lhs, fearrso_t* rhs,                 dhelpl_t dhl);
void      fearrso_sum_OF_to(  arrso_t* lhs, fearrso_t* rhs, fearrso_t* res, dhelpl_t dhl);

fearrso_t fearrso_sum_RF(      darr_t* lhs, fearrso_t* rhs,                 dhelpl_t dhl);
void      fearrso_sum_RF_to(   darr_t* lhs, fearrso_t* rhs, fearrso_t* res, dhelpl_t dhl);

fearrso_t fearrso_sum_oF(   sotinum_t* lhs, fearrso_t* rhs,                 dhelpl_t dhl);
void      fearrso_sum_oF_to(sotinum_t* lhs, fearrso_t* rhs, fearrso_t* res, dhelpl_t dhl);

fearrso_t fearrso_sum_rF(     coeff_t  lhs, fearrso_t* rhs,                 dhelpl_t dhl);
void      fearrso_sum_rF_to(  coeff_t  lhs, fearrso_t* rhs, fearrso_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------






/**************************************************************************************************/
fearrso_t fearrso_sub_FF(    fearrso_t* lhs, fearrso_t* rhs,                 dhelpl_t dhl);
void      fearrso_sub_FF_to( fearrso_t* lhs, fearrso_t* rhs, fearrso_t* res, dhelpl_t dhl);

fearrso_t fearrso_sub_fF(    fesoti_t* lhs, fearrso_t* rhs,                  dhelpl_t dhl);
void      fearrso_sub_fF_to( fesoti_t* lhs, fearrso_t* rhs, fearrso_t* res,  dhelpl_t dhl);

fearrso_t fearrso_sub_Ff(    fearrso_t* lhs, fesoti_t* rhs,                  dhelpl_t dhl);
void      fearrso_sub_Ff_to( fearrso_t* lhs, fesoti_t* rhs, fearrso_t* res,  dhelpl_t dhl);

fearrso_t fearrso_sub_OF(      arrso_t* lhs, fearrso_t* rhs,                 dhelpl_t dhl);
void      fearrso_sub_OF_to(   arrso_t* lhs, fearrso_t* rhs, fearrso_t* res, dhelpl_t dhl);

fearrso_t fearrso_sub_FO(    fearrso_t* lhs,   arrso_t* rhs,                 dhelpl_t dhl);
void      fearrso_sub_FO_to( fearrso_t* lhs,   arrso_t* rhs, fearrso_t* res, dhelpl_t dhl);

fearrso_t fearrso_sub_RF(       darr_t* lhs, fearrso_t* rhs,                 dhelpl_t dhl);
void      fearrso_sub_RF_to(    darr_t* lhs, fearrso_t* rhs, fearrso_t* res, dhelpl_t dhl);

fearrso_t fearrso_sub_FR(    fearrso_t* lhs,    darr_t* rhs,                 dhelpl_t dhl);
void      fearrso_sub_FR_to( fearrso_t* lhs,    darr_t* rhs, fearrso_t* res, dhelpl_t dhl);

fearrso_t fearrso_sub_oF(    sotinum_t* lhs, fearrso_t* rhs,                 dhelpl_t dhl);
void      fearrso_sub_oF_to( sotinum_t* lhs, fearrso_t* rhs, fearrso_t* res, dhelpl_t dhl);

fearrso_t fearrso_sub_Fo(    fearrso_t* lhs, sotinum_t* rhs,                 dhelpl_t dhl);
void      fearrso_sub_Fo_to( fearrso_t* lhs, sotinum_t* rhs, fearrso_t* res, dhelpl_t dhl);

fearrso_t fearrso_sub_rF(      coeff_t  lhs, fearrso_t* rhs,                 dhelpl_t dhl);
void      fearrso_sub_rF_to(    coeff_t lhs, fearrso_t* rhs, fearrso_t* res, dhelpl_t dhl);

fearrso_t fearrso_sub_Fr(    fearrso_t* lhs,   coeff_t  rhs,                 dhelpl_t dhl);
void      fearrso_sub_Fr_to( fearrso_t* lhs,   coeff_t  rhs, fearrso_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------



/**************************************************************************************************/
fearrso_t fearrso_mul_FF(   fearrso_t* lhs, fearrso_t* rhs,                 dhelpl_t dhl);
void      fearrso_mul_FF_to(fearrso_t* lhs, fearrso_t* rhs, fearrso_t* res, dhelpl_t dhl);

fearrso_t fearrso_mul_fF(    fesoti_t* lhs, fearrso_t* rhs,                 dhelpl_t dhl);
void      fearrso_mul_fF_to( fesoti_t* lhs, fearrso_t* rhs, fearrso_t* res, dhelpl_t dhl);

fearrso_t fearrso_mul_OF(     arrso_t* lhs, fearrso_t* rhs,                 dhelpl_t dhl);
void      fearrso_mul_OF_to(  arrso_t* lhs, fearrso_t* rhs, fearrso_t* res, dhelpl_t dhl);

fearrso_t fearrso_mul_RF(      darr_t* lhs, fearrso_t* rhs,                 dhelpl_t dhl);
void      fearrso_mul_RF_to(   darr_t* lhs, fearrso_t* rhs, fearrso_t* res, dhelpl_t dhl);

fearrso_t fearrso_mul_oF(   sotinum_t* lhs, fearrso_t* rhs,                 dhelpl_t dhl);
void      fearrso_mul_oF_to(sotinum_t* lhs, fearrso_t* rhs, fearrso_t* res, dhelpl_t dhl);

fearrso_t fearrso_mul_rF(     coeff_t  lhs, fearrso_t* rhs,                 dhelpl_t dhl);
void      fearrso_mul_rF_to(  coeff_t  lhs, fearrso_t* rhs, fearrso_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------




/**************************************************************************************************/
fearrso_t fearrso_div_FF(    fearrso_t* lhs, fearrso_t* rhs,                 dhelpl_t dhl);
void      fearrso_div_FF_to( fearrso_t* lhs, fearrso_t* rhs, fearrso_t* res, dhelpl_t dhl);

fearrso_t fearrso_div_fF(     fesoti_t* lhs, fearrso_t* rhs,                 dhelpl_t dhl);
void      fearrso_div_fF_to(  fesoti_t* lhs, fearrso_t* rhs, fearrso_t* res, dhelpl_t dhl);

fearrso_t fearrso_div_Ff(    fearrso_t* lhs,  fesoti_t* rhs,                 dhelpl_t dhl);
void      fearrso_div_Ff_to( fearrso_t* lhs,  fesoti_t* rhs, fearrso_t* res, dhelpl_t dhl);

fearrso_t fearrso_div_OF(      arrso_t* lhs, fearrso_t* rhs,                 dhelpl_t dhl);
void      fearrso_div_OF_to(   arrso_t* lhs, fearrso_t* rhs, fearrso_t* res, dhelpl_t dhl);

fearrso_t fearrso_div_FO(    fearrso_t* lhs,   arrso_t* rhs,                 dhelpl_t dhl);
void      fearrso_div_FO_to( fearrso_t* lhs,   arrso_t* rhs, fearrso_t* res, dhelpl_t dhl);

fearrso_t fearrso_div_RF(       darr_t* lhs, fearrso_t* rhs,                 dhelpl_t dhl);
void      fearrso_div_RF_to(    darr_t* lhs, fearrso_t* rhs, fearrso_t* res, dhelpl_t dhl);

fearrso_t fearrso_div_FR(    fearrso_t* lhs,    darr_t* rhs,                 dhelpl_t dhl);
void      fearrso_div_FR_to( fearrso_t* lhs,    darr_t* rhs, fearrso_t* res, dhelpl_t dhl);

fearrso_t fearrso_div_oF(    sotinum_t* lhs, fearrso_t* rhs,                 dhelpl_t dhl);
void      fearrso_div_oF_to( sotinum_t* lhs, fearrso_t* rhs, fearrso_t* res, dhelpl_t dhl);

fearrso_t fearrso_div_Fo(    fearrso_t* lhs, sotinum_t* rhs,                 dhelpl_t dhl);
void      fearrso_div_Fo_to( fearrso_t* lhs, sotinum_t* rhs, fearrso_t* res, dhelpl_t dhl);

fearrso_t fearrso_div_rF(      coeff_t  lhs, fearrso_t* rhs,                 dhelpl_t dhl);
void      fearrso_div_rF_to(    coeff_t lhs, fearrso_t* rhs, fearrso_t* res, dhelpl_t dhl);

fearrso_t fearrso_div_Fr(    fearrso_t* lhs,   coeff_t  rhs,                 dhelpl_t dhl);
void      fearrso_div_Fr_to( fearrso_t* lhs,   coeff_t  rhs, fearrso_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------






/**************************************************************************************************/
arrso_t fearrso_integrate(    fearrso_t* arr, fesoti_t* w,               dhelpl_t dhl);
void    fearrso_integrate_to( fearrso_t* arr, fesoti_t* w, arrso_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------











// VECTOR ALGEBRA

/**************************************************************************************************/
fesoti_t fearrso_dotproduct_FF(    fearrso_t* lhs, fearrso_t* rhs,                dhelpl_t dhl);
void     fearrso_dotproduct_FF_to( fearrso_t* lhs, fearrso_t* rhs, fesoti_t* res, dhelpl_t dhl);

fesoti_t fearrso_dotproduct_OF(      arrso_t* lhs, fearrso_t* rhs,                dhelpl_t dhl);
void     fearrso_dotproduct_OF_to(   arrso_t* lhs, fearrso_t* rhs, fesoti_t* res, dhelpl_t dhl);

fesoti_t fearrso_dotproduct_RF(       darr_t* lhs, fearrso_t* rhs,                dhelpl_t dhl);
void     fearrso_dotproduct_RF_to(    darr_t* lhs, fearrso_t* rhs, fesoti_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------



// MATRIX ALGEBRA.

/**************************************************************************************************/
fearrso_t fearrso_matmul_FF(    fearrso_t* lhs, fearrso_t* rhs,                 dhelpl_t dhl);
void      fearrso_matmul_FF_to( fearrso_t* lhs, fearrso_t* rhs, fearrso_t* res, dhelpl_t dhl);

fearrso_t fearrso_matmul_OF(    arrso_t*   lhs, fearrso_t* rhs,                 dhelpl_t dhl);
void      fearrso_matmul_OF_to( arrso_t*   lhs, fearrso_t* rhs, fearrso_t* res, dhelpl_t dhl);

fearrso_t fearrso_matmul_FO(    fearrso_t* lhs, arrso_t*   rhs,                 dhelpl_t dhl);
void      fearrso_matmul_FO_to( fearrso_t* lhs, arrso_t*   rhs, fearrso_t* res, dhelpl_t dhl);

fearrso_t fearrso_matmul_RF(    darr_t*    lhs, fearrso_t* rhs,                 dhelpl_t dhl);
void      fearrso_matmul_RF_to( darr_t*    lhs, fearrso_t* rhs, fearrso_t* res, dhelpl_t dhl);

fearrso_t fearrso_matmul_FR(    fearrso_t* lhs, darr_t*    rhs,                 dhelpl_t dhl);
void      fearrso_matmul_FR_to( fearrso_t* lhs, darr_t*    rhs, fearrso_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------

/**************************************************************************************************/
fesoti_t fearrso_det(   fearrso_t* arr,                dhelpl_t dhl);
void     fearrso_det_to(fearrso_t* arr, fesoti_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------


/**************************************************************************************************/
fesoti_t fearrso_norm(     fearrso_t* arr,                dhelpl_t dhl);
void     fearrso_norm_to(  fearrso_t* arr, fesoti_t* res, dhelpl_t dhl);

fesoti_t fearrso_pnorm(    fearrso_t* arr, coeff_t p,                dhelpl_t dhl);
void     fearrso_pnorm_to( fearrso_t* arr, coeff_t p, fesoti_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------

/**************************************************************************************************/
fearrso_t   fearrso_invert(    fearrso_t* arr,                 dhelpl_t dhl);
void        fearrso_invert_to( fearrso_t* arr, fearrso_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------

/**************************************************************************************************/
fearrso_t   fearrso_transpose(   fearrso_t* arr,                 dhelpl_t dhl);
void        fearrso_transpose_to(fearrso_t* arr, fearrso_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------













#endif