BELFEM 0.9.0
Berkeley Lab Finite Element Framework
Loading...
Searching...
No Matches
fn_Smith.hpp File Reference
#include "cl_Matrix.hpp"
#include <tuple>
#include "fn_trans.hpp"
Include dependency graph for fn_Smith.hpp:

Go to the source code of this file.

Namespaces

namespace  belfem
 USER GUIDES:

Functions

template<typename T>
void belfem::rowExchange (Matrix< T > &aMat, const uint i, const uint j)
template<typename T>
void belfem::columnExchange (Matrix< T > &aMat, const uint i, const uint j)
template<typename T>
void belfem::rowMultiply (Matrix< T > &aMat, const uint i)
template<typename T>
void belfem::columnMultiply (Matrix< T > &aMat, const uint i)
template<typename T>
void belfem::rowAdd (Matrix< T > &aMat, const uint i, const uint j, const int q)
template<typename T>
void belfem::columnAdd (Matrix< T > &aMat, const uint i, const uint j, const int q)
template<typename T>
void belfem::rowExchangeOperation (Matrix< T > &aMat, Matrix< T > &aQ, Matrix< T > &aQ_, const uint i, const uint j)
template<typename T>
void belfem::rowMultiplyOperation (Matrix< T > &aMat, Matrix< T > &aQ, Matrix< T > &aQ_, const uint i)
template<typename T>
void belfem::rowAddOperation (Matrix< T > &aMat, Matrix< T > &aQ, Matrix< T > &aQ_, const uint i, const uint j, const int q)
template<typename T>
void belfem::columnExchangeOperation (Matrix< T > &aMat, Matrix< T > &aR, Matrix< T > &aR_, const uint i, const uint j)
template<typename T>
void belfem::columnMultiplyOperation (Matrix< T > &aMat, Matrix< T > &aR, Matrix< T > &aR_, const uint i)
template<typename T>
void belfem::columnAddOperation (Matrix< T > &aMat, Matrix< T > &aR, Matrix< T > &aR_, const uint i, const uint j, const int q)
template<typename T>
void belfem::partRowReduce (Matrix< T > &aMat, Matrix< T > &aQ, Matrix< T > &aQ_, const uint k, const uint l)
template<typename T>
void belfem::partColumnReduce (Matrix< T > &aMat, Matrix< T > &aR, Matrix< T > &aR_, const uint k, const uint l)
template<typename T>
std::pair< uint, uintbelfem::smallestNonzero (Vector< T > &v, uint k)
template<typename T>
void belfem::rowPrepare (Matrix< T > &aMat, Matrix< T > &aQ, Matrix< T > &aQ_, const uint k, const uint l)
template<typename T>
void belfem::rowReduce (Matrix< T > &aMat, Matrix< T > &aQ, Matrix< T > &aQ_, const uint k, const uint l)
template<typename T>
std::tuple< Matrix< T >, Matrix< T >, uintbelfem::rowEchelon (Matrix< T > &aMat)
template<typename T>
std::tuple< Matrix< T >, Matrix< T > > belfem::kernelImage (Matrix< T > &aMat)
std::pair< uint, uintbelfem::minNonzero (Matrix< int > &aMat, const uint k)
void belfem::moveMinNonzero (Matrix< int > &aMat, Matrix< int > &aQ, Matrix< int > &aQ_, Matrix< int > &aR, Matrix< int > &aR_, const uint k)
std::tuple< bool, uint, uint, int > belfem::checkForDivisibility (Matrix< int > &aMat, const uint k)
void belfem::partSmithForm (Matrix< int > &aMat, Matrix< int > &aQ, Matrix< int > &aQ_, Matrix< int > &aR, Matrix< int > &aR_, const uint k)
std::tuple< Matrix< int >, Matrix< int >, Matrix< int >, Matrix< int >, uint, uintbelfem::smithForm (Matrix< int > &aMat)
Matrix< int > belfem::SolveInt (Matrix< int > aMat, Matrix< int > &aVec)