Xblas

Jul 20, 2023

Extra Precise Basic Linear Algebra Subroutines (BLAS)

This library of routines is part of a reference implementation for the Dense and Banded BLAS routines, along with their Extended and Mixed Precision versions, as documented in Chapters 2 and 4 of the new BLAS Standard.

EXTENDED PRECISION is only used internally; the input and output arguments remain the same as in the existing BLAS. At present, we only allow Single, Double, or Extra internal precision. Extra precision is implemented as double-double precision 128-bit total, 106-bit significand. The routines for the double-double precision basic arithmetic operations +, -, *, / were developed by David Bailey.

We have designed all our routines assuming that single precision arithmetic is actually done in IEEE single precision 32 bits and that double precision arithmetic is actually done in IEEE double precision 64 bits. The routines also pass our tests on an Intel machine with 80-bit floating point registers.

MIXED PRECISION permits some input/output arguments to be of different types mixing real and complex or precisions mixing single and double.



Checkout these related ports:
  • Zn_poly - C library for polynomial arithmetic
  • Zimpl - Language to translate the LP models into .lp or .mps
  • Zegrapher - Software for plotting mathematical objects
  • Zarray - Dynamically typed N-D expression system based on xtensor
  • Z3 - Z3 Theorem Prover
  • Yices - SMT solver
  • Yacas - Yet Another Computer Algebra System
  • Xtensor - Multi-dimensional arrays with broadcasting and lazy computing
  • Xtensor-python - Python bindings for xtensor
  • Xtensor-io - Xtensor plugin to read/write images, audio files, numpy npz and HDF5
  • Xtensor-blas - BLAS extension to xtensor
  • Xspread - Spreadsheet program for X and terminals
  • Xppaut - Graphical tool for solving differential equations, etc
  • Xplot - X11 plotting package
  • Xlife++ - XLiFE++ eXtended Library of Finite Elements in C++