Go to the documentation of this file.
43 #ifndef GNSSTK_MATRIX_BASE_OPERATORS_HPP
44 #define GNSSTK_MATRIX_BASE_OPERATORS_HPP
57 template <
class T,
class E>
61 std::ofstream savefmt;
63 for (i=0; i<a.
rows(); i++)
65 for (j=0; j< a.
cols(); j++) {
66 s << std::setw(1) <<
' ';
70 if(i < a.
rows()-1) s << std::endl;
79 template <
class T,
class BaseClass>
82 BaseClass& me =
static_cast<BaseClass&
>(m);
83 if ( (me.rows() != me.cols()) || (me.cols() < 1) )
85 MatrixException e(
"invalid matrix dimensions for ident()");
90 for (i = 0; i < me.rows(); i++)
99 template <
class T,
class BaseClass>
104 MatrixException e(
"Invalid matrix for trace()");
108 T answer = m(index,index);
109 for (index = 1; index < m.
rows(); index++)
110 answer += m(index,index);
117 template <
class T,
class BaseClass>
122 for (i = 0; i < m.
rows(); i++)
123 for (j = 0; j < m.
cols(); j++)
124 sum += m(i,j) * m(i,j);
131 template <
class T,
class BaseClass>
136 for (i = 0; i < m.
rows(); i++)
139 for (j = 0; j < m.
cols(); j++)
140 tempSum +=
ABS(m(i,j));
152 template <
class T,
class BaseClass>
157 MatrixException e(
"Invalid matrix for det()");
162 return l(0,0)*l(1,1) - l(0,1)*l(1,0);
170 for (i = 0; i < l.
rows(); i++)
172 sign = (i % 2) ? -1 : 1;
BaseClass & ident(RefMatrixBase< T, BaseClass > &m)
T normF(const ConstMatrixBase< T, BaseClass > &m)
T sum(const ConstVectorBase< T, BaseClass > &l)
T det(const ConstMatrixBase< T, BaseClass > &m)
Matrix< T > minorMatrix(const ConstMatrixBase< T, BaseClass > &l, size_t row, size_t col)
size_t rows() const
the number of rows in the matrix
size_t cols() const
the number of columns in the matrix
std::ostream & operator<<(std::ostream &s, const ObsEpoch &oe) noexcept
T trace(const ConstMatrixBase< T, BaseClass > &m)
#define GNSSTK_THROW(exc)
BaseClass & assignFrom(const ConstMatrixBase< T, E > &x)
T normCol(const ConstMatrixBase< T, BaseClass > &m)
bool isSquare() const
returns true if this is a square matrix (false for a null matrix).
T slowDet(const ConstMatrixBase< T, BaseClass > &l)
gnsstk
Author(s):
autogenerated on Wed Oct 25 2023 02:40:39