160 lines
4.2 KiB
TOML
160 lines
4.2 KiB
TOML
[package]
|
|
name = "prime-radiant-category"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
authors = ["Prime-Radiant Team"]
|
|
license = "MIT OR Apache-2.0"
|
|
description = "Advanced mathematical structures for AI interpretability: sheaf cohomology, category theory, HoTT, and quantum topology"
|
|
repository = "https://github.com/ruvnet/ruvector"
|
|
keywords = ["category-theory", "topos", "ai", "mathematics", "topology", "cohomology"]
|
|
categories = ["science", "mathematics"]
|
|
# Disable automatic test/bench discovery (external tests need API fixes)
|
|
autotests = false
|
|
autobenches = false
|
|
|
|
[features]
|
|
default = ["std"]
|
|
std = []
|
|
wasm = ["wasm-bindgen", "js-sys"]
|
|
bench = ["dep:criterion"]
|
|
parallel = ["rayon"]
|
|
simd = ["nalgebra/std"]
|
|
|
|
[dependencies]
|
|
# Serialization
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0"
|
|
|
|
# Error handling
|
|
thiserror = "2.0"
|
|
|
|
# Identifiers
|
|
uuid = { version = "1.11", features = ["v4", "serde"] }
|
|
|
|
# Concurrent data structures
|
|
dashmap = "6.1"
|
|
parking_lot = "0.12"
|
|
|
|
# Numeric and complex numbers
|
|
num-complex = "0.4"
|
|
num-traits = "0.2"
|
|
|
|
# Random number generation
|
|
rand = "0.8"
|
|
rand_chacha = "0.3"
|
|
rand_distr = "0.4"
|
|
|
|
# Linear algebra (for spectral analysis, cohomology computations)
|
|
nalgebra = { version = "0.33", features = ["serde-serialize"] }
|
|
|
|
# Tensor operations (for multi-dimensional data)
|
|
ndarray = { version = "0.16", features = ["serde"] }
|
|
|
|
# Graph structures (for category theory, causal graphs)
|
|
petgraph = { version = "0.6" }
|
|
|
|
# Parallelism (optional)
|
|
rayon = { version = "1.10", optional = true }
|
|
|
|
# Optional WASM support
|
|
wasm-bindgen = { version = "0.2", optional = true }
|
|
js-sys = { version = "0.3", optional = true }
|
|
|
|
# Benchmarking (optional, enabled via 'bench' feature)
|
|
criterion = { version = "0.5", features = ["html_reports"], optional = true }
|
|
|
|
# Sublinear solver for optimized SpMV and spectral operations
|
|
ruvector-solver = { path = "../../crates/ruvector-solver", default-features = false, features = ["neumann", "cg"] }
|
|
|
|
[dev-dependencies]
|
|
proptest = "1.4"
|
|
approx = "0.5"
|
|
test-case = "3.3"
|
|
|
|
# ============================================================================
|
|
# BENCHMARKS - Prime-Radiant Advanced Math Modules
|
|
# ============================================================================
|
|
|
|
# Category theory benchmarks: functors, composition chains, topos operations
|
|
[[bench]]
|
|
name = "category_bench"
|
|
harness = false
|
|
required-features = ["bench"]
|
|
|
|
# Cohomology benchmarks: coboundary operators, cohomology groups, sheaf neural layers
|
|
[[bench]]
|
|
name = "cohomology_bench"
|
|
harness = false
|
|
required-features = ["bench"]
|
|
|
|
# Spectral benchmarks: eigenvalue computation, Cheeger constant, spectral clustering
|
|
[[bench]]
|
|
name = "spectral_bench"
|
|
harness = false
|
|
required-features = ["bench"]
|
|
|
|
# Causal reasoning benchmarks: interventions, counterfactuals, causal abstraction
|
|
[[bench]]
|
|
name = "causal_bench"
|
|
harness = false
|
|
required-features = ["bench"]
|
|
|
|
# Quantum/topology benchmarks: persistent homology, quantum states, density matrices
|
|
[[bench]]
|
|
name = "quantum_bench"
|
|
harness = false
|
|
required-features = ["bench"]
|
|
|
|
# Integrated benchmarks: end-to-end coherence, memory profiling, throughput
|
|
[[bench]]
|
|
name = "integrated_bench"
|
|
harness = false
|
|
required-features = ["bench"]
|
|
|
|
# Solver-backed quantum operator benchmarks
|
|
[[bench]]
|
|
name = "quantum_solver_bench"
|
|
harness = false
|
|
required-features = ["bench"]
|
|
|
|
# ============================================================================
|
|
# TESTS
|
|
# ============================================================================
|
|
|
|
# Core category theory tests
|
|
# Note: External category_tests.rs uses a different API structure - lib tests are sufficient
|
|
# [[test]]
|
|
# name = "category_tests"
|
|
# path = "tests/category_tests.rs"
|
|
|
|
[[test]]
|
|
name = "integration_tests"
|
|
path = "tests/integration_tests.rs"
|
|
|
|
# Advanced module tests (disabled - modules need refinement)
|
|
# [[test]]
|
|
# name = "cohomology_tests"
|
|
# path = "tests/cohomology_tests.rs"
|
|
|
|
# [[test]]
|
|
# name = "hott_tests"
|
|
# path = "tests/hott_tests.rs"
|
|
|
|
# [[test]]
|
|
# name = "spectral_tests"
|
|
# path = "tests/spectral_tests.rs"
|
|
|
|
# [[test]]
|
|
# name = "causal_tests"
|
|
# path = "tests/causal_tests.rs"
|
|
|
|
# [[test]]
|
|
# name = "quantum_tests"
|
|
# path = "tests/quantum_tests.rs"
|
|
|
|
[lib]
|
|
crate-type = ["cdylib", "rlib"]
|
|
path = "src/lib.rs"
|
|
|
|
[workspace]
|