68 lines
1.8 KiB
TOML
68 lines
1.8 KiB
TOML
[package]
|
|
name = "ruvector-solver"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
rust-version.workspace = true
|
|
license.workspace = true
|
|
authors.workspace = true
|
|
repository.workspace = true
|
|
description = "Sublinear-time solver for RuVector: O(log n) to O(√n) algorithms for sparse linear systems, PageRank, and spectral methods"
|
|
keywords = ["linear-algebra", "sparse-matrix", "pagerank", "solver", "sublinear"]
|
|
categories = ["mathematics", "science", "algorithms"]
|
|
|
|
[features]
|
|
default = ["neumann", "cg", "forward-push"]
|
|
nalgebra-backend = ["nalgebra"]
|
|
parallel = ["rayon", "crossbeam"]
|
|
simd = []
|
|
wasm = []
|
|
full = ["nalgebra-backend", "parallel", "all-algorithms"]
|
|
neumann = []
|
|
forward-push = []
|
|
backward-push = []
|
|
hybrid-random-walk = ["getrandom"]
|
|
true-solver = ["neumann"]
|
|
cg = []
|
|
bmssp = []
|
|
all-algorithms = ["neumann", "forward-push", "backward-push", "hybrid-random-walk", "true-solver", "cg", "bmssp"]
|
|
|
|
[dependencies]
|
|
serde = { workspace = true, features = ["derive"] }
|
|
thiserror = { workspace = true }
|
|
tracing = { workspace = true }
|
|
rand = { workspace = true }
|
|
nalgebra = { version = "0.33", default-features = false, features = ["std"], optional = true }
|
|
rayon = { workspace = true, optional = true }
|
|
crossbeam = { workspace = true, optional = true }
|
|
getrandom = { version = "0.2", optional = true }
|
|
dashmap = { workspace = true }
|
|
parking_lot = { workspace = true }
|
|
|
|
[target.'cfg(target_arch = "wasm32")'.dependencies]
|
|
getrandom = { version = "0.2", features = ["js"] }
|
|
|
|
[dev-dependencies]
|
|
criterion = { workspace = true }
|
|
proptest = { workspace = true }
|
|
approx = "0.5"
|
|
|
|
[[bench]]
|
|
name = "solver_baseline"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "solver_neumann"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "solver_cg"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "solver_push"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "solver_e2e"
|
|
harness = false
|