Program Listing for File semisparse/array/algebra_matops.h#

Return to documentation for file (oti/semisparse/array/algebra_matops.h)

#ifndef OTI_SEMISPARSE_ARRAY_ALGEBRA_MATOPS_H
#define OTI_SEMISPARSE_ARRAY_ALGEBRA_MATOPS_H

/**************************************************************************************************/
semiotin_t arrsso_dotproduct_OO(    arrsso_t* lhs, arrsso_t* rhs,                 dhelpl_t dhl);
void      arrsso_dotproduct_OO_to( arrsso_t* lhs, arrsso_t* rhs, semiotin_t* res, dhelpl_t dhl);

semiotin_t arrsso_dotproduct_RO(     darr_t* lhs, arrsso_t* rhs,                 dhelpl_t dhl);
void      arrsso_dotproduct_RO_to(  darr_t* lhs, arrsso_t* rhs, semiotin_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------


/**************************************************************************************************/
arrsso_t arrsso_matmul_OO(    arrsso_t* lhs, arrsso_t* rhs,               dhelpl_t dhl);
arrsso_t arrsso_matmul_OR(    arrsso_t* lhs,  darr_t* rhs,               dhelpl_t dhl);
arrsso_t arrsso_matmul_RO(     darr_t* lhs, arrsso_t* rhs,               dhelpl_t dhl);

void    arrsso_matmul_OO_to( arrsso_t* lhs, arrsso_t* rhs, arrsso_t* res, dhelpl_t dhl);
void    arrsso_matmul_OR_to( arrsso_t* lhs,  darr_t* rhs, arrsso_t* res, dhelpl_t dhl);
void    arrsso_matmul_RO_to(  darr_t* lhs, arrsso_t* rhs, arrsso_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------

/**************************************************************************************************/
arrsso_t arrsso_transpose(    arrsso_t* arr1,               dhelpl_t dhl);
void    arrsso_transpose_to( arrsso_t* arr1, arrsso_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------


/**************************************************************************************************/
arrsso_t arrsso_invert(    arrsso_t* arr1,               dhelpl_t dhl);
void    arrsso_invert_to( arrsso_t* arr1, arrsso_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------


/**************************************************************************************************/
semiotin_t arrsso_det(    arrsso_t* arr1,                 dhelpl_t dhl);
void      arrsso_det_to( arrsso_t* arr1, semiotin_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------

/**************************************************************************************************/
semiotin_t arrsso_norm(    arrsso_t* arr1,                  dhelpl_t dhl);
void      arrsso_norm_to( arrsso_t* arr1,  semiotin_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------


/**************************************************************************************************/
semiotin_t arrsso_pnorm(    arrsso_t* arr1, coeff_t p,                 dhelpl_t dhl);
void      arrsso_pnorm_to( arrsso_t* arr1, coeff_t p, semiotin_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------

#endif