A sparse linear algebra library implementing may of the ideas from the GraphBLAS Forum in Go.
Sparse Matrix Formats: Compressed Sparse Row (CSR) Compressed Sparse Column (CSC) Sparse Vector
Supports bool | int | int8 | int16 | int32 | int64 | uint | uint8 | uint16 | uint32 | uint64 | uintptr | float32 | float64
array := [][]float64{
[]float64{0, 0, 0, 1, 0, 0, 0},
[]float64{1, 0, 0, 0, 0, 0, 0},
[]float64{0, 0, 0, 1, 0, 1, 1},
[]float64{1, 0, 0, 0, 0, 0, 1},
[]float64{0, 1, 0, 0, 0, 0, 1},
[]float64{0, 0, 1, 0, 1, 0, 0},
[]float64{0, 1, 0, 0, 0, 0, 0},
}
g := graphblas.NewDenseMatrixFromArrayN(array)
atx := breadthfirst.Search[float64](context.Background(), g, 3, func(i graphblas.Vector[float64]) bool {
return i.AtVec(5) == 1
})