11.07.2015 Views

A Proposal of a Mathematical Roadmap for Scilab DRAFT - Projects

A Proposal of a Mathematical Roadmap for Scilab DRAFT - Projects

A Proposal of a Mathematical Roadmap for Scilab DRAFT - Projects

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

– definition <strong>of</strong> polynomials with poly– algebra: +,-,*,/ by overloading <strong>of</strong> operations– root: fast RPOLY routine or eigenvalues <strong>of</strong> companion matrix– Greatest Common Divisor gcd, Least Common Multiple lcm– fast evaluation with horner– many other algorithms related to CACSD.• Control: the CACSD module - many, many functions.• Signal Processing, including filters, fft and fftw• Sound file handling, including reading and writing <strong>of</strong> .au and wav files.3 Floating point supportAt the very basic level, <strong>Scilab</strong> manages double precision floating point numbers.Hence, any feature which improves the management <strong>of</strong> doubles improves <strong>Scilab</strong> asa whole. In this section, we present a short list <strong>of</strong> possible tasks on this topic.• hypot : square root <strong>of</strong> sum <strong>of</strong> squares. Avoids unnecessary overflow.• set rounding mode : set the processor rounding mode to one <strong>of</strong> the four IEEErounding modes : to-nearest (default), towards zero, towards +infinity, towards-infinity. This allows to detect sensitivity to rounding errors in somecases.• <strong>for</strong>mat double, <strong>for</strong>mat single: allows to display the exact number <strong>of</strong> digits tobe used <strong>for</strong> that precision. The current <strong>for</strong>mat function only takes as inputargument the total number <strong>of</strong> caracters, which is useless. What we need is 17digits after the decimal point <strong>for</strong> doubles, 9 digits <strong>for</strong> single.• move the default to ieee(2).• norm with dnrm2 : http://www.netlib.org/blas/dnrm2.f The current normfunction is a macro, using a basic trick <strong>for</strong> scaling and avoiding overflows. Thistrick costs more than it should.• standard ISO C functions: copysign, scalbn, signbit, isfinite, isinf, isnormal,fpclassify, fma4 Complex supportIn this section, we present some issues which could be solved related to the management<strong>of</strong> complex variables (<strong>for</strong> which the imaginary part is nonzero).18

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!