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


C++ LAPACK::STEQR方法代码示例

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


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

示例1: gauss

void gauss( const Teuchos::LAPACK<int,Real> &lapack,
            const ROL::Vector<Real> &a,
            const ROL::Vector<Real> &b,
            ROL::Vector<Real> &x,
            ROL::Vector<Real> &w ) {
    int INFO;

    Teuchos::RCP<const std::vector<Real> > ap = 
        (Teuchos::dyn_cast<ROL::StdVector<Real> >(const_cast<ROL::Vector<Real> &>(a))).getVector();
    Teuchos::RCP<const std::vector<Real> > bp = 
        (Teuchos::dyn_cast<ROL::StdVector<Real> >(const_cast<ROL::Vector<Real> &>(b))).getVector();
    Teuchos::RCP<std::vector<Real> > xp = 
        Teuchos::rcp_const_cast<std::vector<Real> >((Teuchos::dyn_cast<ROL::StdVector<Real> >(x)).getVector()); 
    Teuchos::RCP<std::vector<Real> > wp = 
        Teuchos::rcp_const_cast<std::vector<Real> >((Teuchos::dyn_cast<ROL::StdVector<Real> >(w)).getVector()); 

    const int N = ap->size();  
    const int LDZ = N;
    const char COMPZ = 'I';

    Teuchos::RCP<std::vector<Real> > Dp = Teuchos::rcp(new std::vector<Real>(N,0.0));
    Teuchos::RCP<std::vector<Real> > Ep = Teuchos::rcp(new std::vector<Real>(N,0.0));
    Teuchos::RCP<std::vector<Real> > WORKp = Teuchos::rcp(new std::vector<Real>(4*N,0.0));

    // Column-stacked matrix of eigenvectors needed for weights
    Teuchos::RCP<std::vector<Real> > Zp = Teuchos::rcp(new std::vector<Real>(N*N,0));

    // D = a
    std::copy(ap->begin(),ap->end(),Dp->begin());
     
    for(int i=0;i<N-1;++i) {
        (*Ep)[i] = sqrt((*bp)[i+1]);  
    }

    // Eigenvalue Decomposition 
    lapack.STEQR(COMPZ,N,&(*Dp)[0],&(*Ep)[0],&(*Zp)[0],LDZ,&(*WORKp)[0],&INFO);

    for(int i=0;i<N;++i){
        (*xp)[i] = (*Dp)[i];
        (*wp)[i] = (*bp)[0]*pow((*Zp)[N*i],2);
    } 
}
开发者ID:rainiscold,项目名称:trilinos,代码行数:42,代码来源:OrthogonalPolynomials.hpp


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