34 #ifndef SHARK_LINALG_ROTATIONS_H 35 #define SHARK_LINALG_ROTATIONS_H 39 namespace shark{
namespace blas{
51 template<
class X,
class R>
67 typedef typename X::value_type Value;
74 reflection()(0) -= norm;
75 reflection() /= (x()(0) - norm);
78 Value
beta = (norm - x()(0)) / norm;
84 template<
class Mat,
class R,
class T>
94 if(reflection().
size() == 1){
111 template<
class Mat,
class R,
class T>
122 if(reflection().
size() == 1){
136 template<
class Mat,
class R,
class T>
167 template<
class MatrixT,
typename RngType >
169 MatrixT&
matrix = matrixC();
173 size_t size = matrix.size1();
178 for(std::size_t i = 2; i != size+1;++i){
180 for(std::size_t j=0;j != i; ++j){
186 v(0) += v0/std::abs(v0);
202 template<
class MatrixT>
208 template<
typename RngType>
210 RealMatrix mat(size,size);