added PolynomialTraits_d::Permute

This commit is contained in:
Michael Hemmer 2008-10-30 13:39:46 +00:00
parent e58ade5b84
commit ea60e5b6fa
4 changed files with 59 additions and 0 deletions

1
.gitattributes vendored
View File

@ -2957,6 +2957,7 @@ Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_InnermostLeadingCoefficient
Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_IsZeroAt.tex -text
Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_IsZeroAtHomogeneous.tex -text
Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Move.tex -text
Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Permute.tex -text
Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Polynomial_subresultants.tex -text
Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Principal_sturm_habicht_sequence.tex -text
Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Principal_subresultants.tex -text

View File

@ -0,0 +1,56 @@
\begin{ccRefConcept}{PolynomialTraits_d::Permute}
\ccDefinition
This \ccc{AdaptableFunctor} permutes the variables of the given polynomial
with respect to a permutation $\sigma$. $\sigma$ is given by the iterator
range of length $PolynomialTraits_d::d$, containing the second row of the permutation.
For instance, let $p$ be a polynomial in 4 variables and it is intended to
change the order of the variables such that
$x_0 \mapsto x_2$,
$x_1 \mapsto x_0$,
$x_2 \mapsto x_1$ and
$x_3 \mapsto x_3$. In this case
the permutation $\sigma$ is:
\[\left( \begin{array}{ccccc} 0&1&2&3\\ 2&0&1&3 \end{array}\right).\]
and the iterator range should contain the sequence $[2,0,1,3]$.
\ccRefines
\ccc{AdaptableFunctor}
\ccTypes
\ccSetThreeColumns{xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}{xxx}{}
\ccTypedef{typedef PolynomialTraits_d::Polynomial_d result_type;}{}\ccGlue
\ccOperations
\ccCreationVariable{fo}
\ccOperations
\ccMethod{
template<class Input_iterator>
result_type operator()(PolynomialTraits_d::Polynomial_d p,
Input_iterator begin, Input_iterator end);}{
Returns $p$ with interchanged variables as defined by the iterator range.
%Change order of variables in $p$ as defined by the iterator range.
\ccPrecond{(end-begin == \ccc{PolynomialTraits_d::d})}
\ccPrecond{\ccc{std::iterator_traits< InputIterator >::value_type} is convertible to int.}
\ccPrecond{The iterator range contains each value in $\{0,\dots,d-1\}$ exactly once. }
}
%\ccHasModels
\ccSeeAlso
\ccRefIdfierPage{Polynomial_d}\\
\ccRefIdfierPage{PolynomialTraits_d}\\
\end{ccRefConcept}

View File

@ -26,6 +26,7 @@
\ccRefConceptPage{PolynomialTraits_d::ConstructCoefficientConstIteratorRange}\\
\ccRefConceptPage{PolynomialTraits_d::ConstructInnermostCoefficientConstIteratorRange}\\
\ccRefConceptPage{PolynomialTraits_d::Permute}\\
\ccRefConceptPage{PolynomialTraits_d::Swap}\\
\ccRefConceptPage{PolynomialTraits_d::Move}\\

View File

@ -15,6 +15,7 @@
\input{Polynomial_ref/PolynomialTraits_d_ConstructCoefficientConstIteratorRange.tex}
\input{Polynomial_ref/PolynomialTraits_d_ConstructInnermostCoefficientConstIteratorRange.tex}
\input{Polynomial_ref/PolynomialTraits_d_Permute.tex}
\input{Polynomial_ref/PolynomialTraits_d_Swap.tex}
\input{Polynomial_ref/PolynomialTraits_d_Move.tex}