当前位置: 首页>>代码示例>>C++>>正文


C++ Matrix::Diagonal方法代码示例

本文整理汇总了C++中Matrix::Diagonal方法的典型用法代码示例。如果您正苦于以下问题:C++ Matrix::Diagonal方法的具体用法?C++ Matrix::Diagonal怎么用?C++ Matrix::Diagonal使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Matrix的用法示例。


在下文中一共展示了Matrix::Diagonal方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: MeanPlaquette

double PlaquetteMonster::MeanPlaquette(int m,int n)
{

  double plaq(0.0);
  Matrix P;
  P.Diagonal(1.0);

  if (m<1) return 1;
  if (n<1) return 1;
  if (m>len) return 0;
  if (n>len) return 0;

  int s[4];
  for ( s[0]=0; s[0]<sites[0]; ++s[0] )
  for ( s[1]=0; s[1]<sites[1]; ++s[1] )
  for ( s[2]=0; s[2]<sites[2]; ++s[2] )
  for ( s[3]=0; s[3]<sites[3]; ++s[3] )
  for (int mu=0; mu<4; ++mu)
  for (int nu=0; nu<mu; ++nu) {
    P = lats[m-1]->GaugeField(mu,s);
    s[mu]+=m;
    P *= lats[n-1]->GaugeField(nu,s);
    s[nu]+=n;
    s[mu]-=m;
    P *= lats[m-1]->GaugeField(mu,s).Dagger();
    s[nu]-=n;
    P *= lats[n-1]->GaugeField(nu,s).Dagger();
    plaq += P.Tr();
  }

  int volume(1);
  for (int mu=0; mu<4; ++mu) volume *= sites[mu];
  return plaq / double(2*6*volume);
}
开发者ID:mgendres,项目名称:multilevel_su2,代码行数:34,代码来源:plaquette_monster.C

示例2: main

int main(void)
{

  if (1) {
    Matrix u;
    u.Diagonal(3.2);
    u.PrintProperties();
  }

  if (1) {
    Matrix u;
    u.Initialize(1.0,2.0,3.0,4.0);
    u.PrintProperties();
  }

  if (1) {
    double alpha, theta, phi;
    alpha = 2*PI*rng.genrand_res53();
    theta = PI*rng.genrand_res53();
    phi = 2*PI*rng.genrand_res53();
    Matrix u;
    u.EulerSU2(alpha,theta,phi);
    u.PrintProperties();
  }

  if (1) {
    Matrix u;
    u.RandomSU2();
    u.PrintProperties();
  }

  if (1) {
    Matrix u;
    for (double x=0.0; x<1.0; x+=0.05) {
      cout << x << endl;
      u.RandomSU2(x);
      u.PrintProperties();
    }
  }
  exit(EXIT_SUCCESS);
}
开发者ID:mgendres,项目名称:multilevel_su2,代码行数:41,代码来源:main.C


注:本文中的Matrix::Diagonal方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。