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


C++ Array1::GetSize方法代码示例

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


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

示例1: dot

dcomplex  dot(const Array1 <dcomplex> & a,  const Array1 <dcomplex> & b){
  int dim=a.GetSize();
  assert(a.GetSize()==b.GetSize());
  dcomplex sum(0.0,0.0);
  for(int i=0;i<dim;i++)
    sum+=a(i)*b(i);
  return sum;
}
开发者ID:WagnerGroup,项目名称:PK_ExperimentalMainline,代码行数:8,代码来源:MatrixAlgebrac.cpp

示例2: normalize

void normalize(Array1 <doublevar> & a)
{
  int m=a.GetSize();
  double norm;
  norm=norm_i(a);
  for (int k=0;k<m;k++)
    a(k)=a(k)/sqrt(norm);
}
开发者ID:WagnerGroup,项目名称:PK_ExperimentalMainline,代码行数:8,代码来源:Localize_method.cpp

示例3: norm_i

doublevar norm_i(Array1 <doublevar> & a)
{
  int m=a.GetSize();
  double norm=0.0;
  for (int k=0;k<m;k++)
    norm+=a(k)*a(k);
  return norm;
}
开发者ID:WagnerGroup,项目名称:PK_ExperimentalMainline,代码行数:8,代码来源:Localize_method.cpp

示例4: func

doublevar Minimization_function::func(Array1 <doublevar>  &a){
  // \begin{equation}
  //   {\cal F}=1-\frac{\sum_{i,j}^{N}a_i a_j S_{ij}}{\sum_{i}^{N}a_{i}^2}
  //  \end{equation}
  int m=a.GetSize();
  double tmp=0.0;
  double norm=norm_i(a);
  for (int k=0;k<m;k++)
    for (int l=0;l<m;l++){
      tmp+=a(k)*a(l)*_overlap_ma_R(k,l);
    }
  //   cout << 1.0 -tmp/norm<<endl;
  return 1.0 -tmp/norm;
}
开发者ID:WagnerGroup,项目名称:PK_ExperimentalMainline,代码行数:14,代码来源:Localize_method.cpp

示例5: dfunc

void Minimization_function::dfunc(Array1 <doublevar> &a, Array1 <doublevar> &xi){
  // \begin{equation}
  //    \frac{\partial {\cal F}}{\partial a_k}=
  //         -2\frac{\sum_{i}^{N}a_iS_{ik}+2a_k({\cal F}-1)}{\sum_{i}^{N}a_{i}^2}
  //  \end{equation} 
  int m=a.GetSize();
  double fa_i=func(a);
  double norm=norm_i(a);
  double temp=0.0;
  for (int j=0;j<m;j++){
    temp=0.0;
    for (int k=0;k<m;k++)
      temp+=a(k)*_overlap_ma_R(j,k);
    xi(j)=-2.0*(temp+a(j)*(fa_i-1.0))/norm;
    //    cout <<xi(j)<<"  ";
  }
  //  cout <<endl;
} 
开发者ID:WagnerGroup,项目名称:PK_ExperimentalMainline,代码行数:18,代码来源:Localize_method.cpp

示例6: sort_abs_values_descending

void sort_abs_values_descending(const Array1 <doublevar> & vals, Array1 <doublevar> & newvals, Array1 <int> & list){
  int n=vals.GetSize();
  list.Resize(n); 
  for (int i=0; i < n; i++) {
    list(i) = i;
    newvals(i)=vals(i);
  }
  
  for (int i=1; i < n; i++) {
    const double temp = newvals[i];
    const double abstemp =  fabs(newvals[i]);
    int j;
    for (j=i-1; j>=0 && fabs(newvals[j])<abstemp; j--) {
      newvals[j+1] = newvals[j];
      list[j+1] = list[j];
    }
    newvals[j+1] = temp;
    list[j+1] = i;
  }
  //for (int i=0; i < n; i++) 
  //cout << list[i]<<endl;
}
开发者ID:WagnerGroup,项目名称:PK_ExperimentalMainline,代码行数:22,代码来源:MatrixAlgebrac.cpp

示例7: sort_according_list

void sort_according_list(const Array1 <doublevar> & vals, Array1 <doublevar> & newvals, const Array1 <int> & list){
  int n=vals.GetSize();
  for (int i=0; i < n; i++) {
    newvals(i)=vals(list(i));
  }
}
开发者ID:WagnerGroup,项目名称:PK_ExperimentalMainline,代码行数:6,代码来源:MatrixAlgebrac.cpp


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