synaps/msolve/BSolver.h File Reference


Detailed Description

Solving bivariate polynomial system of degree up to 2.

Definition in file BSolver.h.

Go to the source code of this file.

Functions

template<class A>
VectDse< A > make_vector (const A &a, const A &b)
template<typename SOLVER, typename OutputIterator>
OutputIterator solve_for_circles (const typename SOLVER::MPoly_2_2 &f1, const typename SOLVER::MPoly_2_2 &f2, OutputIterator res, const SOLVER &mth)
template<typename SOLVER, typename OutputIterator>
OutputIterator fast_solve (const typename SOLVER::MPoly_2_2 &f1, const typename SOLVER::MPoly_2_2 &f2, OutputIterator ii, const SOLVER &mth)
template<typename SOLVER, typename OutputIterator>
OutputIterator trivial_solve (const typename SOLVER::MPoly_2_2 &f1, const typename SOLVER::MPoly_2_2 &f2, OutputIterator res, const SOLVER &mth)
template<typename RO_t>
int check_where (const RO_t &y, const RO_t &x, const typename RO_t::POLY &A, const typename RO_t::POLY &B)
template<typename SOLVER, typename OutputIterator>
OutputIterator solve (const typename SOLVER::MPoly_2_2 &f1, const typename SOLVER::MPoly_2_2 &f2, OutputIterator ii, const SOLVER &mth)
template<typename SOLVER, typename OutputIterator>
OutputIterator solve_in_range (const typename SOLVER::MPoly_2_2 &f1, const typename SOLVER::MPoly_2_2 &f2, OutputIterator ii, const typename SOLVER::RO_t &start, const typename SOLVER::RO_t &end, const SOLVER &mth)
template<typename SOLVER, typename O, typename R>
Seq< VectDse< typename SOLVER::RO_t > > Solve_with_sign (const MPol< typename SOLVER::RT, O, R > &s1, const MPol< typename SOLVER::RT, O, R > &s2, const SOLVER &mth)
template<typename SOLVER, typename O, typename R>
Seq< std::pair< typename SOLVER::RO_t,
typename SOLVER::RO_t > > 
Solve_with_subres (const MPol< typename SOLVER::RT, O, R > &F1, const MPol< typename SOLVER::RT, O, R > &F2, const SOLVER &mth)
template<typename SOLVER>
int pos_wrt_point (std::pair< typename SOLVER::FT, int > &isol_point, const typename SOLVER::RO_t &r, const typename SOLVER::Poly &A, const typename SOLVER::Poly &B, const SOLVER &)
 --------- NEW SOLVER - Conics --------------------------
template<typename SOLVER>
int compute_y_in_generic_position (const Seq< typename SOLVER::FT > &IP, const typename SOLVER::RO_t &r, const typename SOLVER::Poly &A, const typename SOLVER::Poly &B, const SOLVER &)
template<typename SOLVER, typename OutputIterator>
OutputIterator New_solve (const typename SOLVER::MPoly_2_2 &f1, const typename SOLVER::MPoly_2_2 &f2, OutputIterator res, const SOLVER &mth)


Function Documentation

template<typename SOLVER>
int pos_wrt_point ( std::pair< typename SOLVER::FT, int > &  isol_point,
const typename SOLVER::RO_t &  r,
const typename SOLVER::Poly &  A,
const typename SOLVER::Poly &  B,
const SOLVER &   
)

--------- NEW SOLVER - Conics --------------------------

Definition at line 870 of file BSolver.h.

References denominator(), and numerator().

Referenced by compute_y_in_generic_position().

template<typename SOLVER, typename O, typename R>
Seq< VectDse< typename SOLVER::RO_t > > Solve_with_sign ( const MPol< typename SOLVER::RT, O, R > &  s1,
const MPol< typename SOLVER::RT, O, R > &  s2,
const SOLVER &  mth 
)

Solves the system of two bivariate polynomials using sign_at

Parameters:
f1 Bivariate polynomial
f2 Bivariate polynomial
Returns:
std::pair<root_of, root_of>
See also:
root_of, MPol, root_of, sign_at

Definition at line 632 of file BSolver.h.

References Seq< C, R >::begin(), Seq< C, R >::end(), make_vector(), Seq< C, R >::size(), SturmSeq< C, UPoly, SEQ >::size(), Solve(), and to_double().

template<typename SOLVER, typename O, typename R>
Seq< std::pair< typename SOLVER::RO_t, typename SOLVER::RO_t > > Solve_with_subres ( const MPol< typename SOLVER::RT, O, R > &  F1,
const MPol< typename SOLVER::RT, O, R > &  F2,
const SOLVER &  mth 
)

Solves the system of two bivariate polynomials using subresultants.

Parameters:
f1 Bivariate polynomial
f2 Bivariate polynomial
Returns:
std::pair<root_of, root_of>
See also:
root_of, MPol, root_of, sign_at

Definition at line 697 of file BSolver.h.

References check_where(), UPOLDAR::degree(), UPOLDAR::lcoeff(), make_vector(), Seq< C, R >::push_back(), Resultant(), Seq< C, R >::size(), SturmSeq< C, UPoly, SEQ >::size(), Solve(), and to_double().


SYNAPS DOCUMENTATION
logo