📄 ytinprdm.h
字号:
/* .h free ware xhunga@tiscali.fr */
/* --------------------------------- FUNCTION ------------------------------ */
/* Do : */
/* */
/* -------------------------------------------------------------------------- */
complexF innerprod_Mnm_zF(
PmzF mU,
PmzF mV
)
{
complexF InnerProduct;
double pbTrpsU [MXR][MXC*C4];mzF mTrpsU ={MXR,MXC*C4,&pbTrpsU [0][0]};
double pbcnjV [MXR][MXC*C4];mzF mcnjV ={MXR,MXC*C4,&pbcnjV [0][0]};
double pbTrpsU_cnjV[MXR][MXC*C4];mzF mTrpsU_cnjV ={MXR,MXC*C4,&pbTrpsU_cnjV[0][0]};
mcnjV.rows = mV->rows; mcnjV.cols = mV->cols;
mTrpsU.rows = mU->cols/C4; mTrpsU.cols = mU->rows*C4;
mTrpsU_cnjV.rows = mTrpsU.rows; mTrpsU_cnjV.cols = mV->cols;
cnj_mzF(mV,&mcnjV);
transpose_mzF(mU,&mTrpsU);
mul_mzF(&mTrpsU,&mcnjV,&mTrpsU_cnjV);
InnerProduct= trace_mzF(&mTrpsU_cnjV);
return(InnerProduct);
}
/* --------------------------------- FUNCTION ------------------------------ */
/* Do : */
/* */
/* -------------------------------------------------------------------------- */
complexF normP2_Mnm_zF(
PmzF mu
)
{
complexF NormP2;
NormP2 = innerprod_Mnm_zF(mu,mu);
return(NormP2);
}
/* --------------------------------- FUNCTION ------------------------------ */
/* Do : */
/* */
/* -------------------------------------------------------------------------- */
complexF distanceP2_Mnm_zF(
PmzF mu,
PmzF mv
)
{
complexF DistanceP2;
double pbu_mns_v [MXR][MXC*C4];mzF mu_mns_v={MXR, MXC*C4,&pbu_mns_v[0][0]};
mu_mns_v.rows = mu->rows;
mu_mns_v.cols = mu->cols;
sub_mzF(mu,mv,&mu_mns_v);
DistanceP2 = normP2_Mnm_zF(&mu_mns_v);
return(DistanceP2);
}
/* ------------------------------------- FUNCTION -------------------------- */
/* Do : */
/* */
/* -------------------------------------------------------------------------- */
void projwn_Mnm_mzF(
PmzF mu,
PmzF mv,
PmzF mvn
)
{
complexF InnerProduv;
complexF NormvP2;
complexF InvNormvP2;
complexF InnerProduv_InvNormvP2;
/*-------------------------------- PROGRAM ---------------------------------- */
InnerProduv = innerprod_Mnm_zF(mu,mv);
NormvP2 = normP2_Mnm_zF(mv);
InvNormvP2 = inv_zF(NormvP2);
InnerProduv_InvNormvP2 = mul_zF(InnerProduv,InvNormvP2);
Zmul_mzF(InnerProduv_InvNormvP2,mv,mvn);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -