/// <summary> /// Linear system solution x = inv(A) * b, with A being with a symmetric matrix in Skyline format, where only the upper /// triangle is stored. /// </summary> public void Dskysv(int order, double[] valuesA, int[] diagOffsetsA, double[] vectorB, int offsetB, double[] vectorX, int offsetX) => SparseBlasImplementations.SkylineSystemSolutionWithOffsets(order, valuesA, diagOffsetsA, vectorB, offsetB, vectorX, offsetX);
/// <summary> /// Matrix vector multiplication y = A * x, with A being a symmetric matrix in Skyline format, where only the upper /// triangle is stored. /// </summary> public void Dskymv(int order, double[] valuesA, int[] diagOffsetsA, double[] vectorX, double[] vectorY) => SparseBlasImplementations.SkylineTimesVector(order, valuesA, diagOffsetsA, vectorX, vectorY);
public double Ddoti(int nnz, double[] valuesX, int[] indicesX, int offsetX, double[] vectorY, int offsetY) => SparseBlasImplementations.SparseDotDenseVector(nnz, valuesX, indicesX, offsetX, vectorY, offsetY);
public void Dcsrgemv(bool transposeA, int numRowsA, int numColsA, double[] valuesA, int[] rowOffsetsA, int[] colIndicesA, double[] vectorX, int offsetX, double[] vectorY, int offsetY) => SparseBlasImplementations.CsrTimesVector(transposeA, numRowsA, numColsA, valuesA, rowOffsetsA, colIndicesA, vectorX, offsetX, vectorY, offsetY);
} // private constructor for singleton pattern #region Sparse BLAS Level 1 public void Daxpyi(int nnz, double alpha, double[] valuesX, int[] indicesX, int offsetX, double[] vectorY, int offsetY) => SparseBlasImplementations.AlphaTimesSparsePlusDenseVector(nnz, alpha, valuesX, indicesX, offsetX, vectorY, offsetY);