本文整理汇总了C++中matrix_type::transpose方法的典型用法代码示例。如果您正苦于以下问题:C++ matrix_type::transpose方法的具体用法?C++ matrix_type::transpose怎么用?C++ matrix_type::transpose使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类matrix_type
的用法示例。
在下文中一共展示了matrix_type::transpose方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: make_ug
const complex_matrix_type make_ug( const matrix_type& G, const matrix_type& A, const matrix_type& D ) const
{
assert( G.col() == 3 );
assert( A.col() == 3 );
assert( D.col() == 1 );
assert( A.row() == D.row() );
auto const M = make_matrix();
auto const S = G * ( M.inverse() );
matrix_type s( 1, S.row() );
for ( size_type i = 0; i < S.row(); ++ i )
{
s[0][i] = value_type( 0.5 ) * std::sqrt( std::inner_product( S.row_begin( i ), S.row_end( i ), S.row_begin( i ), value_type( 0 ) ) );
}
auto const piomega = 3.141592553590 * feng::inner_product( array_type( M[0][0], M[1][0], M[2][0] ),
feng::cross_product( array_type( M[0][1], M[1][1], M[2][1] ), array_type( M[0][2], M[1][2], M[2][2] ) ) );
auto const atomcellfacte = make_gaussian_electron( s, v0 );
const complex_matrix_type dwss = D * feng::pow( s, value_type( 2 ) );
const complex_matrix_type piag = A * G.transpose();
auto fact = feng::exp( - dwss - piag * complex_type( 0, 6.2831853071796 ) );
std::transform( fact.begin(), fact.end(), atomcellfacte.begin(), fact.begin(), [piomega]( const complex_type f, const value_type a )
{
return f * a / piomega;
} );
complex_matrix_type Ug( fact.col(), 1 );
for ( size_type i = 0; i < fact.col(); ++i )
{
Ug[i][0] = std::accumulate( fact.col_begin( i ), fact.col_end( i ), complex_type() );
//if ( std::abs(Ug[i][0].real()) < 1.0e-8 ) Ug[i][0].real(0);
//if ( std::abs(Ug[i][0].imag()) < 1.0e-8 ) Ug[i][0].imag(0);
}
return Ug;
}
示例2: variance
result_type variance() const
{
return A.transpose() * A;
}