Versions in this module Expand all Collapse all v0 v0.1.0 Oct 20, 2026 Changes in this version + const MaxDim + var ErrFormat = errors.New("sparse: malformed structure") + var ErrIndex = errors.New("sparse: index out of range") + var ErrShape = errors.New("sparse: incompatible shapes") + type COO struct + Cols int + I []int + J []int + Rows int + V []T + func NewCOO[T Scalar](rows, cols int) *COO[T] + func (a *COO[T]) Append(i, j int, v T) error + func (a *COO[T]) Dims() (int, int) + func (a *COO[T]) NNZ() int + func (a *COO[T]) ToCSC() *CSC[T] + func (a *COO[T]) ToCSR() *CSR[T] + func (a *COO[T]) Transpose() *COO[T] + func (a *COO[T]) Validate() error + type CSC struct + Cols int + Data []T + Indices []int32 + Indptr []int + Rows int + func NewCSC[T Scalar](rows, cols int, indptr []int, indices []int32, data []T) (*CSC[T], error) + func (a *CSC[T]) At(i, j int) T + func (a *CSC[T]) Clone() *CSC[T] + func (a *CSC[T]) Dense() []T + func (a *CSC[T]) Diagonal(k int) []T + func (a *CSC[T]) Dims() (int, int) + func (a *CSC[T]) MulVec(dst, x []T) + func (a *CSC[T]) MulVecT(dst, x []T) + func (a *CSC[T]) NNZ() int + func (a *CSC[T]) Scale(s T) + func (a *CSC[T]) ToCOO() *COO[T] + func (a *CSC[T]) ToCSR() *CSR[T] + func (a *CSC[T]) Transpose() *CSR[T] + type CSR struct + Cols int + Data []T + Indices []int32 + Indptr []int + Rows int + func Add[T Scalar](a, b *CSR[T]) (*CSR[T], error) + func Axpby[T Scalar](alpha T, a *CSR[T], beta T, b *CSR[T]) (*CSR[T], error) + func Diags[T Scalar](diagonals [][]T, offsets []int, rows, cols int) (*CSR[T], error) + func Eye[T Scalar](n int) *CSR[T] + func FromDense[T Scalar](rows, cols int, d []T) (*CSR[T], error) + func Mul[T Scalar](a, b *CSR[T]) (*CSR[T], error) + func NewCSR[T Scalar](rows, cols int, indptr []int, indices []int32, data []T) (*CSR[T], error) + func Sub[T Scalar](a, b *CSR[T]) (*CSR[T], error) + func (a *CSR[T]) At(i, j int) T + func (a *CSR[T]) Clone() *CSR[T] + func (a *CSR[T]) Dense() []T + func (a *CSR[T]) Diagonal(k int) []T + func (a *CSR[T]) Dims() (int, int) + func (a *CSR[T]) H() *CSR[T] + func (a *CSR[T]) IsSymmetric(tol float64) bool + func (a *CSR[T]) MulDense(dst, b []T, k int) + func (a *CSR[T]) MulVec(dst, x []T) + func (a *CSR[T]) MulVecT(dst, x []T) + func (a *CSR[T]) NNZ() int + func (a *CSR[T]) Norm1() float64 + func (a *CSR[T]) NormFro() float64 + func (a *CSR[T]) NormInf() float64 + func (a *CSR[T]) Permute(p, q []int) (*CSR[T], error) + func (a *CSR[T]) Prune(tol float64) + func (a *CSR[T]) Scale(s T) + func (a *CSR[T]) ScaleCols(d []T) error + func (a *CSR[T]) ScaleRows(d []T) error + func (a *CSR[T]) T() *CSR[T] + func (a *CSR[T]) ToCOO() *COO[T] + func (a *CSR[T]) ToCSC() *CSC[T] + func (a *CSR[T]) Transpose() *CSC[T] + func (a *CSR[T]) Tril(k int) *CSR[T] + func (a *CSR[T]) Triu(k int) *CSR[T] + func (a *CSR[T]) Validate() error + type DOK struct + Cols int + Rows int + func NewDOK[T Scalar](rows, cols int) *DOK[T] + func (d *DOK[T]) At(i, j int) T + func (d *DOK[T]) Dims() (int, int) + func (d *DOK[T]) Len() int + func (d *DOK[T]) Set(i, j int, v T) error + func (d *DOK[T]) ToCOO() *COO[T] + func (d *DOK[T]) ToCSR() *CSR[T] + type FuncOperator struct + Cols int + Mv func(dst, x []float64) + MvT func(dst, x []float64) + Rows int + func (f FuncOperator) Dims() (int, int) + func (f FuncOperator) MulVec(dst, x []float64) + func (f FuncOperator) MulVecT(dst, x []float64) + type LinearOperator interface + Dims func() (rows, cols int) + MulVec func(dst, x []float64) + func Shifted(a LinearOperator, shift float64) LinearOperator + type Scalar interface + type TransposeOperator interface + MulVecT func(dst, x []float64)