4 research outputs found
Sharp error bounds for complex floating-point inversion
International audienceWe study the accuracy of the classic algorithm for inverting a complex number given by its real and imaginary parts as floating-point numbers. Our analyses are done in binary floating-point arithmetic, with an unbounded exponent range and in precision ; we also assume that the basic arithmetic operations (, , , ) are rounded to nearest, so that the roundoff unit is . We bound the largest relative error in the computed inverse either in the componentwise or in the normwise sense. We prove the componentwise relative error bound for the complex inversion algorithm (assuming ), and we show that this bound is asymptotically optimal (as ) when is even, and sharp when using one of the basic IEEE 754 binary formats with an odd precision (). This componentwise bound obviously leads to the same bound for the normwise relative error. However, we prove that the smaller bound holds (assuming ) for the normwise relative error, and we illustrate the sharpness of this bound for the basic IEEE 754 binary formats () using numerical examples
Proposed Consistent Exception Handling for the BLAS and LAPACK
Numerical exceptions, which may be caused by overflow, operations like
division by 0 or sqrt(-1), or convergence failures, are unavoidable in many
cases, in particular when software is used on unforeseen and difficult inputs.
As more aspects of society become automated, e.g., self-driving cars, health
monitors, and cyber-physical systems more generally, it is becoming
increasingly important to design software that is resilient to exceptions, and
that responds to them in a consistent way. Consistency is needed to allow users
to build higher-level software that is also resilient and consistent (and so on
recursively). In this paper we explore the design space of consistent exception
handling for the widely used BLAS and LAPACK linear algebra libraries, pointing
out a variety of instances of inconsistent exception handling in the current
versions, and propose a new design that balances consistency, complexity, ease
of use, and performance. Some compromises are needed, because there are
preexisting inconsistencies that are outside our control, including in or
between existing vendor BLAS implementations, different programming languages,
and even compilers for the same programming language. And user requests from
our surveys are quite diverse. We also propose our design as a possible model
for other numerical software, and welcome comments on our design choices