C API

BLASFEO.LibBlasfeo.blasfeo_daxpyMethod
blasfeo_daxpy(kmax, alpha, sx, xi, sy, yi, sz, zi)

z = y + alphax z[zi:zi+n] = alphax[xi:xi+n] + y[yi:yi+n] NB: Different arguments semantic compare to equivalent standard BLAS routine

source
BLASFEO.LibBlasfeo.blasfeo_dgelqf_pd_laMethod
blasfeo_dgelqf_pd_la(m, n1, sL, li, lj, sA, ai, aj, work)

[L, A] <= lq( [L, A] ), positive diagonal elements, array of matrices, with L lower triangular, of size (m)x(m) A full, of size (m)x(n1)

source
BLASFEO.LibBlasfeo.blasfeo_dgelqf_pd_llaMethod
blasfeo_dgelqf_pd_lla(m, n1, sL0, l0i, l0j, sL1, l1i, l1j, sA, ai, aj, work)

[L, L, A] <= lq( [L, L, A] ), positive diagonal elements, array of matrices, with: L lower triangular, of size (m)x(m) A full, of size (m)x(n1)

source
BLASFEO.LibBlasfeo.blasfeo_dgemv_ntMethod
blasfeo_dgemv_nt(m, n, alpha_n, alpha_t, sA, ai, aj, sx_n, xi_n, sx_t, xi_t, beta_n, beta_t, sy_n, yi_n, sy_t, yi_t, sz_n, zi_n, sz_t, zi_t)

zn <= betan * yn + alphan * A * xn zt <= betat * yt + alphat * A^T * xt

source
BLASFEO.LibBlasfeo.blasfeo_dsymv_lMethod
blasfeo_dsymv_l(m, alpha, sA, ai, aj, sx, xi, beta, sy, yi, sz, zi)

z <= beta * y + alpha * A * x, where A is symmetric and only the lower triangular patr of A is accessed

source
BLASFEO.LibBlasfeo.blasfeo_dsymv_uMethod
blasfeo_dsymv_u(m, alpha, sA, ai, aj, sx, xi, beta, sy, yi, sz, zi)

z <= beta * y + alpha * A * x, where A is symmetric and only the upper triangular patr of A is accessed

source
BLASFEO.LibBlasfeo.blasfeo_pack_dmatMethod
blasfeo_pack_dmat(m, n, A, lda, sB, bi, bj)

–- packing pack the column-major matrix A (with leading dimension lda) into the matrix struct B (at row and col offsets bi and bj)

source
BLASFEO.LibBlasfeo.blasfeo_pack_l_dmatMethod
blasfeo_pack_l_dmat(m, n, A, lda, sB, bi, bj)

pack the lower-triangular column-major matrix A (with leading dimension lda) into the matrix struct B (at row and col offsets bi and bj)

source
BLASFEO.LibBlasfeo.blasfeo_pack_l_smatMethod
blasfeo_pack_l_smat(m, n, A, lda, sA, ai, aj)

pack the lower-triangular column-major matrix A (with leading dimension lda) into the matrix struct B (at row and col offsets bi and bj)

source
BLASFEO.LibBlasfeo.blasfeo_pack_smatMethod
blasfeo_pack_smat(m, n, A, lda, sA, ai, aj)

packing pack the column-major matrix A (with leading dimension lda) into the matrix struct B (at row and col offsets bi and bj)

source
BLASFEO.LibBlasfeo.blasfeo_pack_tran_dmatMethod
blasfeo_pack_tran_dmat(m, n, A, lda, sB, bi, bj)

transpose and pack the column-major matrix A (with leading dimension lda) into the matrix struct B (at row and col offsets bi and bj)

source
BLASFEO.LibBlasfeo.blasfeo_pack_tran_smatMethod
blasfeo_pack_tran_smat(m, n, A, lda, sA, ai, aj)

transpose and pack the column-major matrix A (with leading dimension lda) into the matrix struct B (at row and col offsets bi and bj)

source
BLASFEO.LibBlasfeo.blasfeo_pack_u_dmatMethod
blasfeo_pack_u_dmat(m, n, A, lda, sB, bi, bj)

pack the upper-triangular column-major matrix A (with leading dimension lda) into the matrix struct B (at row and col offsets bi and bj)

source
BLASFEO.LibBlasfeo.blasfeo_pack_u_smatMethod
blasfeo_pack_u_smat(m, n, A, lda, sA, ai, aj)

pack the upper-triangular column-major matrix A (with leading dimension lda) into the matrix struct B (at row and col offsets bi and bj)

source
BLASFEO.LibBlasfeo.blasfeo_sgelqf_pd_laMethod
blasfeo_sgelqf_pd_la(m, n1, sL, li, lj, sA, ai, aj, work)

[L, A] <= lq( [L, A] ), positive diagonal elements, array of matrices, with L lower triangular, of size (m)x(m) A full, of size (m)x(n1)

source
BLASFEO.LibBlasfeo.blasfeo_sgelqf_pd_llaMethod
blasfeo_sgelqf_pd_lla(m, n1, sL0, l0i, l0j, sL1, l1i, l1j, sA, ai, aj, work)

[L, L, A] <= lq( [L, L, A] ), positive diagonal elements, array of matrices, with: L lower triangular, of size (m)x(m) A full, of size (m)x(n1)

source
BLASFEO.LibBlasfeo.blasfeo_sgemv_ntMethod
blasfeo_sgemv_nt(m, n, alpha_n, alpha_t, sA, ai, aj, sx_n, xi_n, sx_t, xi_t, beta_n, beta_t, sy_n, yi_n, sy_t, yi_t, sz_n, zi_n, sz_t, zi_t)

zn <= betan * yn + alphan * A * xn zt <= betat * yt + alphat * A' * xt

source
BLASFEO.LibBlasfeo.blasfeo_ssymv_lMethod
blasfeo_ssymv_l(m, alpha, sA, ai, aj, sx, xi, beta, sy, yi, sz, zi)

z <= beta * y + alpha * A * x, where A is symmetric and only the lower triangular patr of A is accessed

source
BLASFEO.LibBlasfeo.blasfeo_ssymv_uMethod
blasfeo_ssymv_u(m, alpha, sA, ai, aj, sx, xi, beta, sy, yi, sz, zi)

z <= beta * y + alpha * A * x, where A is symmetric and only the upper triangular patr of A is accessed

source
BLASFEO.LibBlasfeo.blasfeo_unpack_dmatMethod
blasfeo_unpack_dmat(m, n, sA, ai, aj, B, ldb)

unpack the matrix structure A (at row and col offsets ai and aj) into the column-major matrix B (with leading dimension ldb)

source
BLASFEO.LibBlasfeo.blasfeo_unpack_smatMethod
blasfeo_unpack_smat(m, n, sA, ai, aj, A, lda)

unpack the matrix structure A (at row and col offsets ai and aj) into the column-major matrix B (with leading dimension ldb)

source
BLASFEO.LibBlasfeo.blasfeo_unpack_tran_dmatMethod
blasfeo_unpack_tran_dmat(m, n, sA, ai, aj, B, ldb)

transpose and unpack the matrix structure A (at row and col offsets ai and aj) into the column-major matrix B (with leading dimension ldb)

source
BLASFEO.LibBlasfeo.blasfeo_unpack_tran_smatMethod
blasfeo_unpack_tran_smat(m, n, sA, ai, aj, A, lda)

transpose and unpack the matrix structure A (at row and col offsets ai and aj) into the column-major matrix B (with leading dimension ldb)

source
BLASFEO.LibBlasfeo.d_zerosMethod
d_zeros(pA, row, col)

dynamically allocate row*col doubles of memory and set accordingly a pointer to double; set allocated memory to zero

source
BLASFEO.LibBlasfeo.d_zeros_alignMethod
d_zeros_align(pA, row, col)

dynamically allocate row*col doubles of memory aligned to 64-byte boundaries and set accordingly a pointer to double; set allocated memory to zero

source
BLASFEO.LibBlasfeo.d_zeros_align_bytesMethod
d_zeros_align_bytes(pA, size)

dynamically allocate size bytes of memory aligned to 64-byte boundaries and set accordingly a pointer to double; set allocated memory to zero

source
BLASFEO.LibBlasfeo.s_zerosMethod
s_zeros(pA, row, col)

dynamically allocate row*col floats of memory and set accordingly a pointer to float; set allocated memory to zero

source
BLASFEO.LibBlasfeo.s_zeros_alignMethod
s_zeros_align(pA, row, col)

dynamically allocate row*col floats of memory aligned to 64-byte boundaries and set accordingly a pointer to float; set allocated memory to zero

source
BLASFEO.LibBlasfeo.s_zeros_align_bytesMethod
s_zeros_align_bytes(pA, size)

dynamically allocate size bytes of memory aligned to 64-byte boundaries and set accordingly a pointer to float; set allocated memory to zero

source