11,547 research outputs found
A computer algebra user interface manifesto
Many computer algebra systems have more than 1000 built-in functions, making
expertise difficult. Using mock dialog boxes, this article describes a proposed
interactive general-purpose wizard for organizing optional transformations and
allowing easy fine grain control over the form of the result even by amateurs.
This wizard integrates ideas including:
* flexible subexpression selection;
* complete control over the ordering of variables and commutative operands,
with well-chosen defaults;
* interleaving the choice of successively less main variables with applicable
function choices to provide detailed control without incurring a combinatorial
number of applicable alternatives at any one level;
* quick applicability tests to reduce the listing of inapplicable
transformations;
* using an organizing principle to order the alternatives in a helpful
manner;
* labeling quickly-computed alternatives in dialog boxes with a preview of
their results,
* using ellipsis elisions if necessary or helpful;
* allowing the user to retreat from a sequence of choices to explore other
branches of the tree of alternatives or to return quickly to branches already
visited;
* allowing the user to accumulate more than one of the alternative forms;
* integrating direct manipulation into the wizard; and
* supporting not only the usual input-result pair mode, but also the useful
alternative derivational and in situ replacement modes in a unified window.Comment: 38 pages, 12 figures, to be published in Communications in Computer
Algebr
Coinductive Formal Reasoning in Exact Real Arithmetic
In this article we present a method for formally proving the correctness of
the lazy algorithms for computing homographic and quadratic transformations --
of which field operations are special cases-- on a representation of real
numbers by coinductive streams. The algorithms work on coinductive stream of
M\"{o}bius maps and form the basis of the Edalat--Potts exact real arithmetic.
We use the machinery of the Coq proof assistant for the coinductive types to
present the formalisation. The formalised algorithms are only partially
productive, i.e., they do not output provably infinite streams for all possible
inputs. We show how to deal with this partiality in the presence of syntactic
restrictions posed by the constructive type theory of Coq. Furthermore we show
that the type theoretic techniques that we develop are compatible with the
semantics of the algorithms as continuous maps on real numbers. The resulting
Coq formalisation is available for public download.Comment: 40 page
SqFreeEVAL: An (almost) optimal real-root isolation algorithm
Let f be a univariate polynomial with real coefficients, f in R[X].
Subdivision algorithms based on algebraic techniques (e.g., Sturm or Descartes
methods) are widely used for isolating the real roots of f in a given interval.
In this paper, we consider a simple subdivision algorithm whose primitives are
purely numerical (e.g., function evaluation). The complexity of this algorithm
is adaptive because the algorithm makes decisions based on local data. The
complexity analysis of adaptive algorithms (and this algorithm in particular)
is a new challenge for computer science. In this paper, we compute the size of
the subdivision tree for the SqFreeEVAL algorithm.
The SqFreeEVAL algorithm is an evaluation-based numerical algorithm which is
well-known in several communities. The algorithm itself is simple, but prior
attempts to compute its complexity have proven to be quite technical and have
yielded sub-optimal results. Our main result is a simple O(d(L+ln d)) bound on
the size of the subdivision tree for the SqFreeEVAL algorithm on the benchmark
problem of isolating all real roots of an integer polynomial f of degree d and
whose coefficients can be written with at most L bits.
Our proof uses two amortization-based techniques: First, we use the algebraic
amortization technique of the standard Mahler-Davenport root bounds to
interpret the integral in terms of d and L. Second, we use a continuous
amortization technique based on an integral to bound the size of the
subdivision tree. This paper is the first to use the novel analysis technique
of continuous amortization to derive state of the art complexity bounds
- …