Summer of Code - Getting Started: Difference between revisions

→‎Interval package: Clearly marked the second (difficult) task as optional
(→‎GUI: remove infeasible project without mentor)
(→‎Interval package: Clearly marked the second (difficult) task as optional)
Line 130: Line 130:


=== Interval package ===
=== Interval package ===
The recent GNU Octave [[Interval_package|interval package]] provides several arithmetic functions with accurate and guaranteed error bounds. Its development started in the end of 2014 and there is some fundamental functionality left to be implemented:
The recent GNU Octave [[Interval_package|interval package]] provides several arithmetic functions with accurate and guaranteed error bounds. Its development started in the end of 2014 and there is some fundamental functionality left to be implemented.
# Currently, everything is console/text only and the @infsup class needs functions for plotting intervals in graphs as lines, rectangles or boxes. For examples of how the result may look like, see images [http://www.maplesoft.com/applications/view.aspx?SID=4858&view=html] and [http://en.wikipedia.org/wiki/Interval_arithmetic].
 
# The functions <code>polyval</code>, <code>fsolve</code>, and possibly <code>roots</code> shall be implemented for intervals (as m-files). Algorithms can be migrated from the C-XSC Toolbox (C++ code) from [http://www2.math.uni-wuppertal.de/wrswt/xsc/cxsc_new.html] (see rpeval.cpp, nlinsys.cpp, and cpzero.cpp respectively). All arithmetic operations required by these algorithms already exist in the package.
Currently, everything is console/text only and the @infsup class needs functions for plotting intervals in graphs as lines, rectangles or boxes. For examples of how the result may look like, see images [http://www.maplesoft.com/applications/view.aspx?SID=4858&view=html] and [http://en.wikipedia.org/wiki/Interval_arithmetic]. These functions shall be developed for inclusion in the interval package for end users and will be used for the package's documentation.
The second tasks requires knowledge of basic interval arithmetic concepts. If that would be a problem, the first task can be extended at will.
 
If the student has previous knowledge in interval arithmetic algorithms, is is also possible to implement the functions <code>polyval</code>, <code>fsolve</code>, and possibly <code>roots</code> (as m-files). Algorithms can be migrated from the C-XSC Toolbox (C++ code) from [http://www2.math.uni-wuppertal.de/wrswt/xsc/cxsc_new.html] (see rpeval.cpp, nlinsys.cpp, and cpzero.cpp respectively). All arithmetic operations required by these algorithms already exist in the package.


'''Required skills''': m-file scripting, basic knowledge of computer arithmetics (especially floating-point computations)
'''Required skills''': m-file scripting, basic knowledge of computer arithmetics (especially floating-point computations)
240

edits