⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xeinprdm.h

📁 基本矩阵运算 : + - *, power, transpose, trace, determinant, minor, matrix of minor, cofactor, matrix of co
💻 H
字号:
/* yd_dot.h                     freeware                   xhunga@tiscali.fr  */


/* --------------------------------- FUNCTION ------------------------------  */
/* Do    :                                                                    */
/*                                                                            */


/* see   :   vectah.zip   vectak.zip     vectan.zip                           */
/* -------------------------------------------------------------------------- */
fraction innerprod_Mnm_F(
PmF mU,
PmF mV
)
{
fraction InnerProduct;

double pTrposU   [MXR][MXC*C2];mF mTrposU   ={MXR,MXC*C2,&pTrposU   [0][0]};
double pTrposU_V [MXR][MXC*C2];mF mTrposU_V ={MXR,MXC*C2,&pTrposU_V [0][0]};

             mTrposU.rows =   mU->cols/2;       mTrposU.cols = mU->rows*C2;
           mTrposU_V.rows = mTrposU.rows;     mTrposU_V.cols = mV->cols;

            transpose_mF(mU,&mTrposU);
                 mul_mF(   &mTrposU,mV,&mTrposU_V);
  InnerProduct= trace_mF(               &mTrposU_V);

 return(InnerProduct);
}

/* --------------------------------- FUNCTION ------------------------------  */
/* Do    :                                                                    */
/*                                                                            */


/* see   :   vectah.zip                                                       */
/* -------------------------------------------------------------------------- */
fraction normP2_Mnm_F(
PmF mu
)
{
fraction NormP2;

         NormP2 = innerprod_Mnm_F(mu,mu);

  return(NormP2);
}

/* --------------------------------- FUNCTION ------------------------------  */
/* Do    :                                                                    */
/*                                                                            */


/* see   :   vectah.zip                                                       */
/* -------------------------------------------------------------------------- */
fraction distanceP2_Mnm_F(
PmF mu,
PmF mv
)
{
fraction DistanceP2;

double pu_mns_v [MXR][MXC*C2];
mF mu_mns_v={MXR, MXC*C2,&pu_mns_v[0][0]};

       mu_mns_v.rows = mu->rows;
       mu_mns_v.cols = mu->cols;

      sub_mF(mu,mv,&mu_mns_v);

  DistanceP2 = normP2_Mnm_F(&mu_mns_v);

  return(DistanceP2);
}



/* ------------------------------------- FUNCTION --------------------------  */
/* Do    :                                                                    */
/*                                                                            */


/* see   :   vectak.zip                                                       */
/* -------------------------------------------------------------------------- */
void projwn_Mnm(
PmF mu,
PmF mv,
PmF mvn
)
{
fraction InnerProduv;
fraction     NormvP2;
fraction   InvNormP2;
fraction InnerProduv_InvNormP2;
/*-------------------------------- PROGRAM ---------------------------------- */
             InnerProduv = innerprod_Mnm_F(mu,mv);

                 NormvP2 =    normP2_Mnm_F(   mv);
               InvNormP2 =      inv_F(NormvP2);
   InnerProduv_InvNormP2 =  mul_F(InnerProduv,InvNormP2);

        Fmul_mF(InnerProduv_InvNormP2,mv,mvn);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -