aligator  0.6.1
A primal-dual augmented Lagrangian-type solver for nonlinear trajectory optimization.
Loading...
Searching...
No Matches
block-tridiagonal.hpp File Reference
#include "aligator/gar/blk-matrix.hpp"
#include "aligator/eigen-macros.hpp"
#include <tracy/Tracy.hpp>
Include dependency graph for block-tridiagonal.hpp:

Go to the source code of this file.

Namespaces

namespace  aligator
 Main package namespace.
 
namespace  aligator::gar
 

Functions

template<typename MatrixType >
MatrixType::PlainObject aligator::gar::blockTridiagToDenseMatrix (const std::vector< MatrixType > &subdiagonal, const std::vector< MatrixType > &diagonal, const std::vector< MatrixType > &superdiagonal)
 
template<typename MatrixType , typename InputType , typename OutType , typename Scalar = typename MatrixType::Scalar>
bool aligator::gar::blockTridiagMatMul (const std::vector< MatrixType > &Asub, const std::vector< MatrixType > &Adiag, const std::vector< MatrixType > &Asuper, const BlkMatrix< InputType, -1, 1 > &b, BlkMatrix< OutType, -1, 1 > &c, const Scalar beta)
 
template<typename MatrixType , typename RhsType , typename DecType >
bool aligator::gar::symmetricBlockTridiagSolve (std::vector< MatrixType > &subdiagonal, std::vector< MatrixType > &diagonal, const std::vector< MatrixType > &superdiagonal, BlkMatrix< RhsType, -1, 1 > &rhs, std::vector< DecType > &facs)
 Solve a symmetric block-tridiagonal \(Ax=b\) problem by in-place factorization. The subdiagonal will be used to store factorization coefficients.
 
template<typename MatrixType , typename RhsType , typename DecType >
bool aligator::gar::blockTridiagRefinementStep (const std::vector< MatrixType > &transposedUfacs, const std::vector< MatrixType > &superdiagonal, const std::vector< DecType > &diagonalFacs, BlkMatrix< RhsType, -1, 1 > &rhs)
 Given the decomposed matrix data, just perform the backward-forward step of the algorithm.
 
template<typename MatrixType , typename RhsType , typename DecType >
bool aligator::gar::symmetricBlockTridiagSolveDownLooking (std::vector< MatrixType > &subdiagonal, std::vector< MatrixType > &diagonal, std::vector< MatrixType > &superdiagonal, BlkMatrix< RhsType, -1, 1 > &rhs, std::vector< DecType > &facs)
 Solve a symmetric block-tridiagonal \(Ax=b\) problem by in-place factorization. The subdiagonal will be used to store factorization coefficients. This version starts by looking down from the top-left corner of the matrix.