basis_change.hpp File Reference
#include <algorithm>
#include <vector>
#include <nil/crypto3/math/polynomial/basic_operations.hpp>
#include <nil/crypto3/math/polynomial/xgcd.hpp>
+ Include dependency graph for basis_change.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 nil
 
 nil::crypto3
 
 nil::crypto3::math
 

Functions

template<typename FieldType >
void nil::crypto3::math::compute_subproduct_tree (std::vector< std::vector< std::vector< typename FieldType::value_type >>> &T, std::size_t m)
 
template<typename FieldType >
void nil::crypto3::math::monomial_to_newton_basis (std::vector< typename FieldType::value_type > &a, const std::vector< std::vector< std::vector< typename FieldType::value_type >>> &T, size_t n)
 
template<typename FieldType , typename Range1 , typename Range2 , typename Range3 >
void nil::crypto3::math::monomial_to_newton_basis_geometric (Range1 &a, const Range2 &geometric_sequence, const Range3 &geometric_triangular_sequence, const std::size_t &n)
 
template<typename FieldType >
void nil::crypto3::math::newton_to_monomial_basis (std::vector< typename FieldType::value_type > &a, const std::vector< std::vector< std::vector< typename FieldType::value_type >>> &T, size_t n)
 
template<typename FieldType , typename Range1 , typename Range2 , typename Range3 >
void nil::crypto3::math::newton_to_monomial_basis_geometric (Range1 &a, const Range2 &geometric_sequence, const Range3 &geometric_triangular_sequence, std::size_t n)