From a87faa588b730fa4e51508fb857bde5046b45b4d Mon Sep 17 00:00:00 2001 From: Eric Berberich Date: Fri, 3 Aug 2007 13:44:19 +0000 Subject: [PATCH] removed old doc --- .../PkgDescription.tex | 9 - .../Curve_and_curve_pair_analysis_2/main.tex | 7 - .../AlgebraicCurveKernel_2.tex | 80 ------ .../CurveAnalysis_2.tex | 190 --------------- .../CurvePairAnalysis_2.tex | 227 ------------------ .../Solution_1.tex | 60 ----- .../Solution_2.tex | 59 ----- .../main.tex | 12 - 8 files changed, 644 deletions(-) delete mode 100644 Algebraic_kernel_d/doc_tex/Curve_and_curve_pair_analysis_2/PkgDescription.tex delete mode 100644 Algebraic_kernel_d/doc_tex/Curve_and_curve_pair_analysis_2/main.tex delete mode 100644 Algebraic_kernel_d/doc_tex/Curve_and_curve_pair_analysis_2_ref/AlgebraicCurveKernel_2.tex delete mode 100644 Algebraic_kernel_d/doc_tex/Curve_and_curve_pair_analysis_2_ref/CurveAnalysis_2.tex delete mode 100644 Algebraic_kernel_d/doc_tex/Curve_and_curve_pair_analysis_2_ref/CurvePairAnalysis_2.tex delete mode 100644 Algebraic_kernel_d/doc_tex/Curve_and_curve_pair_analysis_2_ref/Solution_1.tex delete mode 100644 Algebraic_kernel_d/doc_tex/Curve_and_curve_pair_analysis_2_ref/Solution_2.tex delete mode 100644 Algebraic_kernel_d/doc_tex/Curve_and_curve_pair_analysis_2_ref/main.tex diff --git a/Algebraic_kernel_d/doc_tex/Curve_and_curve_pair_analysis_2/PkgDescription.tex b/Algebraic_kernel_d/doc_tex/Curve_and_curve_pair_analysis_2/PkgDescription.tex deleted file mode 100644 index f62371c89f6..00000000000 --- a/Algebraic_kernel_d/doc_tex/Curve_and_curve_pair_analysis_2/PkgDescription.tex +++ /dev/null @@ -1,9 +0,0 @@ -\begin{ccPkgDescription}{Curve- and CurvePairAnalysis \label{Pkg:CurveAndCurvePairAnalysis}} -\ccPkgHowToCiteCgal{cgal:ccpa-bhkt} -\ccPkgSummary{ -This package is ... -} - -\ccPkgIntroducedInCGAL{3.?} -\ccPkgLicense{?} -\end{ccPkgDescription} diff --git a/Algebraic_kernel_d/doc_tex/Curve_and_curve_pair_analysis_2/main.tex b/Algebraic_kernel_d/doc_tex/Curve_and_curve_pair_analysis_2/main.tex deleted file mode 100644 index 932d63a0aaa..00000000000 --- a/Algebraic_kernel_d/doc_tex/Curve_and_curve_pair_analysis_2/main.tex +++ /dev/null @@ -1,7 +0,0 @@ -\ccUserChapter{Curve- and CurvePairAnalysis\label{chapter-curve-and-curvepair-analysis}} -\ccChapterAuthor{Eric Berberich \and Michael Hemmer \and Menelaos Karavelas \and Monique Teillaud} - -\input{Curve_and_curve_pair_analysis_2/PkgDescription} - -\minitoc - diff --git a/Algebraic_kernel_d/doc_tex/Curve_and_curve_pair_analysis_2_ref/AlgebraicCurveKernel_2.tex b/Algebraic_kernel_d/doc_tex/Curve_and_curve_pair_analysis_2_ref/AlgebraicCurveKernel_2.tex deleted file mode 100644 index 52d571914fe..00000000000 --- a/Algebraic_kernel_d/doc_tex/Curve_and_curve_pair_analysis_2_ref/AlgebraicCurveKernel_2.tex +++ /dev/null @@ -1,80 +0,0 @@ -\begin{ccRefConcept}{AlgebraicKernelCCPA_d_2} - -\ccDefinition - -The \ccc{AlgebraicKernelCCPA_d_2} concept refines the \ccc{AlgebraicKernel_d_2} -concept with functionality on bivariate polynomials -required for the manipulation of arcs of algebraic curves of general degree -$\R^2$ using an $y$-per-$x$-view on the curves. - -TODO: Solution\_d should be merged with AlgebraicReal\_d. - -\ccRefines -\ccc{AlgebraicKernel_d_2} - -\ccTypes - -\ccNestedType{RealSolution_1 or AlgebraicReal_1}{ -Open question! -} - -\ccNestedType{RealSolution_2 or AlgebraicReal_2}{ -Open question! -} - -The following nested types should already be part of AlgebraicKernel\_d\_2! - -\ccNestedType{MakeCoprime_1}{ -} -\ccNestedType{MakeSquareFree_1}{ -} -\ccNestedType{SquareFreeFactorization_1}{ -} - -\ccNestedType{MakeCoprime_2}{ -} -\ccNestedType{MakeSquareFree_2}{ -} -\ccNestedType{SquareFreeFactorization_2}{ -} - -What else? Monique? - -These are new: - -\ccNestedType{CurveAnalysis_2}{A model of -\ccc{CurvePairAnalyis_2::CurveAnalysis_2}, for analysing single -curves defined as bivariate polynomials of type \ccc{Polynomial_2}.} - -\ccNestedType{CurvePairAnalysis_2}{A model of -\ccc{AlgebraicKernelCCPA_2::CurvePairAnalysis_2}, -for analysing a pair of curves -defined as two analyses of type \ccc{CurveAnalysis_2}.} - - -%Note that polynomails need to have some functionality. Due to that reason -%we repeat these types here: - -%\ccNestedType{Polynomial_1}{A model of \ccc{Polynomial_1}, for -%univariate polynomials when the \ccc{Coefficient} type is an -%\ccc{IntegralDomain}. It must also be possible to perform \ccc{Canonicalize, -% GcdUpToConstantFactor, -% IntegralDivUpToConstantFactor, -% MakeSquareFreeUpToConstantFactor, and -% SquareFreeFactorizationUpToConstantFactor. -% Also needed some PolynomialConstruction concept.} -%} - -%\ccNestedType{Polynomial_2}{A model of \ccc{Polynomial_2}, for -% bivariate polynomials on an \ccc{IntegralDomain} coefficient type. -% it must also be possible to perform \ccc{Canonicalize, -% GcdUpToConstantFactor, -% IntegralDivUpToConstantFactor, -% MakeSquareFreeUpToConstantFactor, and -% SquareFreeFactorizationUpToConstantFactor} on this type - maybe using a -% traits class. Also needed some PolynomialConstruction concept. -%} - -{\small TODO: Boundary: RealEmbeddable that is 'dense R'??} - -\end{ccRefConcept} diff --git a/Algebraic_kernel_d/doc_tex/Curve_and_curve_pair_analysis_2_ref/CurveAnalysis_2.tex b/Algebraic_kernel_d/doc_tex/Curve_and_curve_pair_analysis_2_ref/CurveAnalysis_2.tex deleted file mode 100644 index eb4a9731565..00000000000 --- a/Algebraic_kernel_d/doc_tex/Curve_and_curve_pair_analysis_2_ref/CurveAnalysis_2.tex +++ /dev/null @@ -1,190 +0,0 @@ -\begin{ccRefConcept}{CurveVerticalLine} - -\ccDefinition - -The \ccc{CurveVerticalLine} concept is meant to provide information -about the intersections of a curve with a vertical line at a given -finite $x$-coordinate. Note that a curve can have a vertical line component -at this coordinate and/or also non-vertical components intersecting -this vertical line. With the help of the concept's methods one is able -to compute the local topology of the curve at the given vertical line. -Note that vertical lines at $x = \pm\infty$ are not allowed, since different -events (curve end going to infinity with different non-horizontal asympotes) -would have equal $y$-coordinate ($\pm\infty$), which confuses more than it -helps. Note in addition that curve ends approaching the vertical asymptote -introduce an event (depending on whether approaching $+\infty$ or $-\infty$ - -but the event with coordinates $(x,-\infty)$, resp. $(x,+\infty)$, occur -only once, if they occur) - -\ccTypes - -\ccNestedType{Solution_1}{ - Is a model of the \ccc{AlgebraicCurveKernel_2::Solution_1} concept -} - -\ccNestedType{Solution_2}{ - Is a model of the \ccc{AlgebraicCurveKernel_2::Solution_2} concept -} - -\ccCreationVariable{cvl} -\ccAccessFunctions - -\ccMethod{Solution_1 x();}{ - returns the $x$-coordinate of the vertical line (always a finite value). -} - -\ccMethod{bool covers_line();}{ - returns \ccc{true} in case the given curve contains the vertical line as - a component -} - -\ccMethod{unsigned int num_events();}{ - returns number of distinct intersection of a curve with a - (fictious) vertical line ignoring a real vertical line component - of the curve at the given $x$-coordinate. -} - -\ccMethod{Solution_2 get_solution_2(int j);}{ - returns an object of type \ccc{Solution_2} for the $j$-th event - \ccPrecond{$0 \leq j < \mbox{num\_events()}$} -} - -\ccMethod{std::pair< unsigned int, unsigned int > get_num_branches(int j);}{ - returns the number of branches of the curve connected to $j$-th event - immediately to the left, - to the right, respectively, as a pair of \ccc{unsigned int} ignoring - vertical curve components at the given $x$-coordinate. - \ccPrecond{$0 \leq j < \mbox{num\_events()}$} -} - -\ccMethod{bool has_event_of_curve();}{ - returns \ccc{true} if curve has vertical line component or - curve $f$ has intersection with $f_y$ at $x$ -} - -% -%TODO: Do we want to have CVLs for minus and plus infinity as additional -%events? For the sake of a nice interface -%(see CurveAnalysis\_2) we want to have it: A user can then just ask for the -%behavior of the curve at $x = \pm\infty$. On the other side counting -%the number of intersection points is not well-defined: Consider several -%curve end with the same horizontal asymptote - are they equal or not? -%It's unsure whether one can compute the $y$-coordinates of these points - -%maybe even not the ``sign of infinity''. One solution is to forbid access -%to get\_solution\_2 for CurveVerticalLines with $x = \pm\infty$. -% - -\end{ccRefConcept} - -\begin{ccRefConcept}{CurveAnalysis_2}\footnote{There is no need -for curves to be algebraic, hence the generic name. Only the number -of events must be finite.} - -\ccDefinition - -The \ccc{CurveAnalysis_2} concept is meant to provide tools to analyse a single -curve. An analysis is meant to describe the curve's interesting points and how -they are connected. The analysis searches for {\it events}. Events only -occur at a finite number of $x$-coordinates. Each such coordinate defines -a CurveVerticalLine of an event. These coordinates also define open -{\it intervals} on the $x$-axis. CurveVerticalLines at values within one -such interval only differ in the values of the Solution\_2 entries. -Topological information are equal. - -\ccRefines{ - \ccc{DefaultConstructible, CopyConstructible, Assignable} -} - -\ccTypes - -\ccNestedType{Solution_1} -{Is a model of \ccc{AlgebraicCurveKernel_2::Solution_1} concept} - -\ccNestedType{Solution_2} -{Is a model of \ccc{AlgebraicCurveKernel_2::Solution_2} concept} - -%\ccNestedType{Polynomial_2}{ -% Is a model of \ccc{AlgebraicCurveKernel_2::Polynomial_2} -% concept.\\ -% Especially needed: Canonicalize, GcdUpToConstantFactor, -% IntegralDivUpToConstantFactor, -% MakeSquareFreeUpToConstantFactor, and -% SquareFreeFactorizationUpToConstantFactor -%} - -\ccNestedType{Curve_vertical_line} -{Is a model of the \ccc{CurveAnalysis_2::CurveVerticalLine} concept} - -\ccCreation -\ccCreationVariable{ca} - -\ccConstructor{CurveAnalysis_2(Polynomial_2 p);} - {constructs an analysis for the curve defined by p. The polynomial must - be squarefree.} - -\begin{ccAdvanced} -\ccConstructor{template < class InputIterator > - CurveAnalysis_2(Polynomial_2 p, InputIterator begin, InputIterator end);}{ - constructs an analysis for the curve defined by p. The polynomial must - be squarefree. The iterator range [begin,end) contains factors of - $\mbox{resultant}(p,p_y,y)$, i.e., define $x$-coordinates, - which allows to simplify the real root isolation within this layer. - The \ccc{value_type} of InputIterator is \ccc{Polynomial_2}. - This constructor has been introduced to enable an upper layer (CK) to use - additional knowledge on the problem. -} -\end{ccAdvanced} - -\ccAccessFunctions - -\ccMethod{Polynomial_2 get_polynomial_2();}{ - returns the defining polynomial of the anyalsis -} - -\ccMethod{unsigned int num_vertical_lines_with_event();}{ - returns number of vertical lines that encode an event -} - -%\ccMethod{void x_to_id(Solution_1 x, bool\& is_event, unsigned int\& i);}{ -% For a given $x$, this method computes whether the vertical line at this $x$ -% contains an event (\ccc{is_event} == \ccc{true}) and returns the id $i$ -% of it. Otherwise, $i$ returns the id of the interval $x$ lies in. -%} - -\ccMethod{Curve_vertical_line vertical_line_at_event(int i);}{ - returns an instance of \ccc{CurveVerticalLine} at the $i$-th event -} - -\ccMethod{Curve_vertical_line vertical_line_of_interval(int i);}{ - returns an instance of \ccc{CurveVerticalLine} of the $i$-th interval - between $x$-events. -} - -\ccMethod{Curve_vertical_line vertical_line_for_x(Solution_1 x, - CGAL::Sign perturb = CGAL::ZERO);}{ - returns vertical\_line\_at\_event(i), if $x$ hits $i$-th event, otherwise - returns vertical\_line\_of\_interval(i), where $i$ is the id of the interval - $x$ lies in. If $pertub$ is CGAL::POSITIVE/CGAL::NEGATIVE, then a slighty - perturbed x is used (adding $\pm\epsilon$). - \ccPrecond{$x$ is finite} -} - -\ccMethod{Curve_vertical_line vertical_line_at_exact_x(Solution_1 x);}{ - returns an instance of \ccc{CurveVerticalLine} at the given $x$. - \ccPrecond{$x$ is finite} -} - -Note that the access methods to vertical lines are not redundant! The ones -using an id-value are efficient for speed-ups (caching, avoids to search some -$x$, just one representative vertical line for an interval). The others -enables a user to compute vertical lines for given $x$, i.e., also to -$y$-coordinates at given $x$. - -\ccMethod{int find(Solution_2 s);}{ - returns the index of the event at the vertical line defined by - $s$'s $x$-coordinate, or -1 if $s$ is does not lie on the curve. -} - - -\end{ccRefConcept} - diff --git a/Algebraic_kernel_d/doc_tex/Curve_and_curve_pair_analysis_2_ref/CurvePairAnalysis_2.tex b/Algebraic_kernel_d/doc_tex/Curve_and_curve_pair_analysis_2_ref/CurvePairAnalysis_2.tex deleted file mode 100644 index 1db027a538f..00000000000 --- a/Algebraic_kernel_d/doc_tex/Curve_and_curve_pair_analysis_2_ref/CurvePairAnalysis_2.tex +++ /dev/null @@ -1,227 +0,0 @@ -\begin{ccRefConcept}{CurvePairVerticalLine} - -\ccDefinition - -The \ccc{CurvePairVerticalLine} concept is meant to provide information -about the intersections of a pair of curves with a (fictious) vertical line -(ignoring vertical lines of the curves themselves). Each intersection of a -curve with the vertical line defined by some given $x$ induces an event. -An event can be asked for its coordinates (\ccc{Solution_2}) and the involved -curve(s). Note that the involvment also holds for curve ends approaching the -vertical asymptote. Again CurvePairVerticalLines at $x = \pm\infty$ are -not allowed. - -\ccTypes - -\ccNestedType{Solution_1}{ - Is a model of the \ccc{AlgebraicCurveKernel_2::Solution_1} concept -} - -\ccNestedType{Solution_2}{ - Is a model of the \ccc{AlgebraicCurveKernel_2::Solution_2} concept -} - -\ccCreationVariable{cpvl} -\ccAccessFunctions - -\ccMethod{Solution_1 x();}{ - returns the $x$-coordinate of the vertical line (always a finite value). -} - -\ccMethod{unsigned int num_events();}{ - returns number of distinct intersections of a pair of curves with a - (fictious) vertical line ignoring a real vertical line component - of the curves at the given $x$-coordinate. -} - -\ccMethod{int get_y_position_of_event(int k, bool c);}{ - returns the $y$-position of the $k$-th arc of the $c$-''th'' - (0 or 1) curve in the sequence of events. Note that each event - is formed by the first, the second, or both curves. - \ccPrecond{$0 \leq k < \mbox{number of arcs defined for the curve at x()}$} -} - -\ccMethod{int get_multiplicity_of_intersection_event(int j);}{ - returns the multiplicity of intersection defined at event with position $j$ - \ccPrecond{Both curves form event $j$} - \ccPrecond{$0 \leq j < \mbox{num\_events()}$} -} - -\ccMethod{std::pair< int, int > curve_arcs_at_event(int j);}{ - returns a pair of int indicating whether event $j$ is formed by - which arc numbers of the first and the second curve, or $-1$, if the - corresponding curve is not involved. - \ccPrecond{$0 \leq j < \mbox{num\_events()}$} -} - -\ccMethod{Solution_2 get_solution_2(int j);}{ - returns an object of type \ccc{Solution_2} for the $j$-the event - \ccPrecond{$0 \leq j < \mbox{num\_events()}$} -} - -Note that this interface mainly rewrites $\{f,g,x\}^n$ in a different way - -using ints. Actually the CPVL has to compute this sequence, but for -the interface it is nicer to have it already here to avoid conversion objects -(introducing additional constructor calls, cache-misses, lookup and so on) in -the next layer on top (CK). Obviously, the ints can be computed in a generic -way from a sequence, so that it makes sense to offer a default implementation -providing such conversion. There is no need to document this fact on the -conceptual view. - -\ccMethod{bool has_event_of_curve();}{ - returns \ccc{true} if curve has vertical line component or - curve $f$ has intersection with $f_y$ at $x$ -} - -\end{ccRefConcept} - -\begin{ccRefConcept}{CurvePairAnalysis_2} - -\ccDefinition - -The \ccc{CurvePairAnalysis_2} concept is meant to provide tools to analyse -a pair of curves. An analysis is meant to describe the curve pair's -interesting points and how they are connected. -The analysis searches for {\it events}. Events only -occur at a finite number of $x$-coordinate. Each such coordinate is -covered by a CurvePairVerticalLine, originated by the events of a single curve -and also the intersections of two curves. -These coordinates also define open {\it intervals} -on the $x$-axis. CurvePairVerticalLines at values in between one such interval -differ only in the values of the Solution\_2 entries. Topological -information are equal. - -\ccRefines{ - \ccc{DefaultConstructible, CopyConstructible, Assignable} -} - -\ccTypes - -\ccNestedType{Solution_1}{ - Is a model of the \ccc{AlgebraicCurveKernel_2::Solution_1} concept -} - -\ccNestedType{Solution_2}{ - Is a model of the \ccc{AlgebraicCurveKernel_2::Solution_2} concept -} - -%\ccNestedType{Polynomial_2}{ -% Is a model of \ccc{AlgebraicCurveKernel_2::Polynomial_2} -% concept.\\ -% Especially needed: Canonicalize, GcdUpToConstantFactor, -% IntegralDivUpToConstantFactor, -% MakeSquareFreeUpToConstantFactor, and -% SquareFreeFactorizationUpToConstantFactor -%} - -\ccNestedType{Curve_pair_vertical_line} -{Is a model of the \ccc{CurvePairAnalysis_2::CurvePairVerticalLine} concept} - -\ccNestedType{Curve_analysis_2} -{Is a model of the \ccc{CurvePairAnalysis::CurveAnalysis_2} concept} - -\ccCreation -\ccCreationVariable{cp} - -\ccConstructor{CurvePairAnalysis_2(Curve_analysis_2 p1, Curve_analysis_2 p2);} -{constructs an analysis for the curve-pair defined by analyses given by -p1 and p2. The polynomials defining the analyses must be squarefree and -coprime. -} - -\begin{ccAdvanced} - -\ccConstructor{template < class InputIterator > - CurvePairAnalysis_2(Curve_analysis_2 p1, Curve_analysis_2 p2, - InputIterator begin, InputIterator end);}{ - constructs an analysis for the pair of curves defined by $p1$ and $p2$. - The polynomials definining the analyses must be squarefree and coprime. - The iterator range [begin,end) contains factors of $\mbox{resultant}(p,q,y)$, - i.e., define $x$-coordinates, - which allows to simplify the real root isolation within this layer. - The \ccc{value_type} of InputIterator is \ccc{Polynomial_1}. - This constructor has been introduced to enable an upper layer (CK) to use - additional knowledge on the problem. -} - -\end{ccAdvanced} - -\ccAccessFunctions - -\ccMethod{Curve_analysis_2 get_curve_analysis(bool c);}{ - returns curve analyis for $c$-''th'' curve (0 or 1) -} - -\ccMethod{unsigned int num_vertical_lines_with_event();}{ - returns number of vertical lines that encode an event -} - -%\ccMethod{void x_to_id(Solution_1 x, bool\& is_event, unsigned int\& i);}{ -% For a given $x$, this method computes whether the vertical line at this $x$ -% contains an event (\ccc{is_event} == \ccc{true}) and returns the id $i$ -% of it. Otherwise, $i$ returns the id of the interval $x$ lies in. -%} - -\ccMethod{int event_of_curve_analysis(unsigned int i, bool c);}{ - Given the $i$-th event, - this method returns the id of the event of the corresponding curve - analysis $c$ (0 or 1), or $-1$, if the curve has no event at this coordinate. -} - -\ccMethod{Curve_pair_vertical_line vertical_line_at_event(int i);}{ - returns an instance of \ccc{CurvePairVerticalLine} at the $i$-th event -} - -\ccMethod{Curve_pair_vertical_line vertical_line_of_interval(int i);}{ - returns an instance of \ccc{CurvePairVerticalLine} of the $i$-th interval - between $x$-events. -} - -\ccMethod{Curve_pair_vertical_line vertical_line_for_x(Solution_1 x, - CGAL::Sign perturb = CGAL::ZERO);}{ - returns vertical\_line\_at\_event(i), if $x$ hits $i$-th event, otherwise - returns vertical\_line\_of\_interval(i), where $i$ is the id of the interval - $x$ lies in. If $pertub$ is CGAL::POSITIVE/CGAL::NEGATIVE, then a slighty - perturbed x is used (adding $\pm\epsilon$). - \ccPrecond{$x$ is finite} -} - -\ccMethod{Curve_pair_vertical_line vertical_line_at_exact_x(Solution_1 x);}{ - returns an instance of \ccc{CurvePairVerticalLine} at the given $x$ - \ccPrecond{$x$ is finite} -} - -Note that the access methods to vertical lines are not redundant! The ones -using an id-value are efficient for speed-ups (caching, avoids to search some -$x$, just one representative vertical line for an interval). The others -enables a user to compute vertical lines for given $x$, i.e., also to -$y$-coordinates at given $x$. - -\ccMethod{Solution_2_const_iterator solve_begin();}{ - returns iterator running over all intersection of the two curves -} - -\ccMethod{Solution_2_const_iterator solve_end();}{ - returns past-end-value for all intersections of the two curves -} - -\ccMethod{int find(Solution_2 s);}{ - returns the index of the event at the vertical line defined by - $s$'s $x$-coordinate, or -1 if $s$ is does not lie on any curve. -} - -%Additionally note that we talk about 4 sequences of $x$-critical lines here. -% -%\begin{itemize} -%\item The sequence of CurveVerticalLines of $p$ where each CVL has been -%converted and merged with $q$ to a CVPL. -%\item The sequence of CurveVerticalLines of $q$ where each CVL has been -%converted and merged with $p$ to a CPVL. -%\item The sequence of CurvePairVerticalLines of the intersections of -%$p$ and $q$ -%\item The merged sequence of CurvePairVerticalLines of the former three -%sequences. The method event\_id\_of\_x helps to find indeces in the first -%three sequences starting from an index in this sequence! -%\end{itemize} - -\end{ccRefConcept} diff --git a/Algebraic_kernel_d/doc_tex/Curve_and_curve_pair_analysis_2_ref/Solution_1.tex b/Algebraic_kernel_d/doc_tex/Curve_and_curve_pair_analysis_2_ref/Solution_1.tex deleted file mode 100644 index d51f4f670a0..00000000000 --- a/Algebraic_kernel_d/doc_tex/Curve_and_curve_pair_analysis_2_ref/Solution_1.tex +++ /dev/null @@ -1,60 +0,0 @@ -\begin{ccRefConcept}{Solution_1} - -\ccDefinition - -The concept \ccc{Solution_1} is meant to store a finite -coordinate ($x$, or $y$) of a point on curve. - -\ccRefines - \ccc{DefaultConstructible, Assignable, LessThanComparable} - - -\begin{ccAdvanced} - -\ccTypes - -\ccTypedef{typedef typename Solution_1::Boundary Boundary;}{A NT being able -to represent values between two Solution\_1} - -\ccCreationVariable{sol1} - -\ccAccessFunctions - -Solution\_1 is required to have some functionality. The final question -where to put such methods is undecided. Possibilities are -member functions of AK, or traits like Algebraic\_structure\_traits that -either exists in the AK, or outside of it. - -\ccMethod{Boundary between(Solution_1 s);}{ - returns a rational between \ccc{sol1} and \ccc{s} - \ccPrecond{sol1 != s} -} - - -\ccMethod{Boundary lower_bound();}{ - Gives the lower bound of the number. -} - -\ccMethod{Boundary upper_bound();}{ - Gives the upper bound of the number. -} - -\ccMethod{void refine();}{ - Refines the representation. -} - -\ccMethod{void refine(int prec);}{ - Refines the representation to the given precision (binary digits - after point). Internally the precision can already be higher. -} - -\end{ccAdvanced} - -Remark: Note that this concept only deals with the interface to upper -layers. There might be additional requirements for number types to -implement a model of this concept. - -\ccHasModels -\ccc{double, NiX::Algebraic_real} - -\end{ccRefConcept} diff --git a/Algebraic_kernel_d/doc_tex/Curve_and_curve_pair_analysis_2_ref/Solution_2.tex b/Algebraic_kernel_d/doc_tex/Curve_and_curve_pair_analysis_2_ref/Solution_2.tex deleted file mode 100644 index a7db60b383c..00000000000 --- a/Algebraic_kernel_d/doc_tex/Curve_and_curve_pair_analysis_2_ref/Solution_2.tex +++ /dev/null @@ -1,59 +0,0 @@ -\begin{ccRefConcept}{Solution_2} - -\ccDefinition - -The concept \ccc{Solution_2} is meant to be a object that represents -a finite point on a curve. - -%There are reasons why we introduce \ccc{Solution_2} over -%\ccc{AlgebraicReal_2}: -%\begin{itemize} -%\item \ccc{AlgebraicReal_2} seems to be pair of \ccc{AlgebraicReal_1}, while -%\ccc{Solution_2} has members to access \ccc{Solution_1} for $x$ and $y$. -%With the name we state better to be more generic. -%\item Keep concept minimal, in contrast to \ccc{AlgebraicReal_2} that -%seems to be quite powerful. -%\end{itemize} - -\ccCreationVariable{sol2} - -\ccAccessFunctions - -\ccMethod{Solution_1 x();}{ - returns $x$-coordinate. - May throw some exception if algebraic degree becomes to large. - Usual always computed and therefore easy to access. -} - -\ccMethod{Solution_1 y();}{ - returns $y$-coordinate. - May throw some exception if algebraic degree becomes to large. - Note that it can be costly to compute this value, so accessing it - should be handled with care. -} - -\begin{ccAdvanced} - -The following methods can be useful. - -\ccMethod{std::pair s1.approximate_x(int prec);}{ - Refines the representation of $x$ to the given precision - (binary digits after point). - Internally the precision can already be higher. Note that it can just - refer to x().approximate(), but it can be more efficient or just possible - to compute it without constructing the exact value. -} - -\ccMethod{std::pair s1.approximate_y(int prec);}{ - Refines the representation of $y$ to the given precision - (binary digits after point). - Internally the precision can already be higher. Note that it can just - refer to y().approximate(), but it can be more efficient or just possible - to compute it without constructing the exact value. -} - -\end{ccAdvanced} - - -\end{ccRefConcept} - diff --git a/Algebraic_kernel_d/doc_tex/Curve_and_curve_pair_analysis_2_ref/main.tex b/Algebraic_kernel_d/doc_tex/Curve_and_curve_pair_analysis_2_ref/main.tex deleted file mode 100644 index 686f12f514c..00000000000 --- a/Algebraic_kernel_d/doc_tex/Curve_and_curve_pair_analysis_2_ref/main.tex +++ /dev/null @@ -1,12 +0,0 @@ -\ccRefChapter{Curve- and CurvePairAnalysis} - -Initial remark: The design is not symmetric in the coordinates, due to the fact -that people also only talk about ``vertical decomposition'' and not -``horizontal decompositions''. A {\it horizontal} version can easily -derived from the concept, if needed. - -\input{Curve_and_curve_pair_analysis_2_ref/Solution_1} -\input{Curve_and_curve_pair_analysis_2_ref/Solution_2} -\input{Curve_and_curve_pair_analysis_2_ref/CurveAnalysis_2} -\input{Curve_and_curve_pair_analysis_2_ref/CurvePairAnalysis_2} -\input{Curve_and_curve_pair_analysis_2_ref/AlgebraicCurveKernel_2}