[package]
edition = "2021"
rust-version = "1.77"
name = "ruvector-solver"
version = "2.0.4"
authors = ["Ruvector Team"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Sublinear-time solver for RuVector: O(log n) to O(√n) algorithms for sparse linear systems, PageRank, and spectral methods"
readme = "README.md"
keywords = [
"linear-algebra",
"sparse-matrix",
"pagerank",
"solver",
"sublinear",
]
categories = [
"mathematics",
"science",
"algorithms",
]
license = "MIT"
repository = "https://github.com/ruvnet/ruvector"
[features]
all-algorithms = [
"neumann",
"forward-push",
"backward-push",
"hybrid-random-walk",
"true-solver",
"cg",
"bmssp",
]
backward-push = []
bmssp = []
cg = []
default = [
"neumann",
"cg",
"forward-push",
]
forward-push = []
full = [
"nalgebra-backend",
"parallel",
"all-algorithms",
]
hybrid-random-walk = ["getrandom"]
nalgebra-backend = ["nalgebra"]
neumann = []
parallel = [
"rayon",
"crossbeam",
]
simd = []
true-solver = ["neumann"]
wasm = []
[lib]
name = "ruvector_solver"
path = "src/lib.rs"
[[test]]
name = "helpers"
path = "tests/helpers.rs"
[[test]]
name = "test_cg"
path = "tests/test_cg.rs"
[[test]]
name = "test_csr_matrix"
path = "tests/test_csr_matrix.rs"
[[test]]
name = "test_neumann"
path = "tests/test_neumann.rs"
[[test]]
name = "test_push"
path = "tests/test_push.rs"
[[test]]
name = "test_router"
path = "tests/test_router.rs"
[[test]]
name = "test_validation"
path = "tests/test_validation.rs"
[[bench]]
name = "solver_baseline"
path = "benches/solver_baseline.rs"
harness = false
[[bench]]
name = "solver_cg"
path = "benches/solver_cg.rs"
harness = false
[[bench]]
name = "solver_e2e"
path = "benches/solver_e2e.rs"
harness = false
[[bench]]
name = "solver_neumann"
path = "benches/solver_neumann.rs"
harness = false
[[bench]]
name = "solver_push"
path = "benches/solver_push.rs"
harness = false
[dependencies.crossbeam]
version = "0.8"
optional = true
[dependencies.dashmap]
version = "6.1"
[dependencies.getrandom]
version = "0.2"
optional = true
[dependencies.nalgebra]
version = "0.33"
features = ["std"]
optional = true
default-features = false
[dependencies.parking_lot]
version = "0.12"
[dependencies.rand]
version = "0.8"
[dependencies.rayon]
version = "1.10"
optional = true
[dependencies.serde]
version = "1.0"
features = [
"derive",
"derive",
]
[dependencies.thiserror]
version = "2.0"
[dependencies.tracing]
version = "0.1"
[dev-dependencies.approx]
version = "0.5"
[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]
[dev-dependencies.proptest]
version = "1.5"
[target.'cfg(target_arch = "wasm32")'.dependencies.getrandom]
version = "0.2"
features = ["js"]