Xerbla is the error handler for the Blas,Lapack routines if an input parameter has an invalid
value. By providing our own implementation we can overwrite the default xerbla. This solves
the problem caused by mkl implementation returning random error messages.

Workspace : Every LAPACK routine is able to use a preallocated workspace to optimize its own
memory allocation within the routine itself. This class is a wrapper for these memory buffers
and can be used either as a learning process by passing an empty workspace to a routine and
check how much memory is required or as the regular memory block for internal LAPACK usage.