/// <summary>
 /// See https://software.intel.com/en-us/mkl-developer-reference-fortran-spmv#16CB58C4-105B-486C-B6AA-42BB0C721A76
 /// </summary>
 public void Dspmv(StoredTriangle uplo, int n,
                   double alpha, double[] a, int offsetA, double[] x, int offsetX, int incX,
                   double beta, double[] y, int offsetY, int incY)
 => Blas.Dspmv(uplo.Translate(), ref n, ref alpha, ref a[offsetA],
               ref x[offsetX], ref incX, ref beta, ref y[offsetY], ref incY);