[[bench]]
harness = false
name = "apply_no_alloc"
path = "benches/apply_no_alloc.rs"
[[bench]]
harness = false
name = "direct_vs_faer"
path = "benches/direct_vs_faer.rs"
[[bench]]
harness = false
name = "iai"
path = "benches/iai.rs"
[[bench]]
harness = false
name = "ksp_core"
path = "benches/ksp_core.rs"
[[bench]]
harness = false
name = "rap"
path = "benches/rap.rs"
[[bench]]
harness = false
name = "spmv"
path = "benches/spmv.rs"
[[bench]]
harness = false
name = "submatrix"
path = "benches/submatrix.rs"
[[bench]]
harness = false
name = "tri_solve"
path = "benches/tri_solve.rs"
[dependencies.bitflags]
features = ["serde"]
version = "2.9.1"
[dependencies.faer]
version = "0.22.6"
[dependencies.log]
optional = true
version = "0.4"
[dependencies.mpi]
optional = true
version = "0.8"
[dependencies.num-traits]
version = "0.2"
[dependencies.num_cpus]
optional = true
version = "1.0"
[dependencies.once_cell]
version = "1"
[dependencies.oorandom]
version = "11"
[dependencies.parking_lot]
optional = true
version = "0.12"
[dependencies.rayon]
optional = true
version = "1.0"
[dependencies.serde]
features = ["derive"]
version = "1.0"
[dependencies.serde_json]
version = "1.0"
[dependencies.smallvec]
version = "1.13"
[dependencies.tempfile]
version = "3.20.0"
[dependencies.thiserror]
version = "1.0"
[dependencies.toml]
version = "0.8"
[dev-dependencies.approx]
version = "0.5"
[dev-dependencies.criterion]
version = "0.4"
[dev-dependencies.env_logger]
version = "0.11"
[dev-dependencies.iai-callgrind]
version = "0.14"
[dev-dependencies.proptest]
version = "1"
[dev-dependencies.rand]
version = "0.8"
[[example]]
name = "amg_options_demo"
path = "examples/amg_options_demo.rs"
[[example]]
name = "bicgstab_workspace_demo"
path = "examples/bicgstab_workspace_demo.rs"
[[example]]
name = "bicgstab_workspace_verification"
path = "examples/bicgstab_workspace_verification.rs"
[[example]]
name = "convergence_demo"
path = "examples/convergence_demo.rs"
[[example]]
name = "debug_matrix_test"
path = "examples/debug_matrix_test.rs"
[[example]]
name = "dense_direct"
path = "examples/dense_direct.rs"
[[example]]
name = "hypre_amg_demo"
path = "examples/hypre_amg_demo.rs"
[[example]]
name = "hypre_gmres_demo"
path = "examples/hypre_gmres_demo.rs"
[[example]]
name = "matrix_market_demo"
path = "examples/matrix_market_demo.rs"
[[example]]
name = "monitor"
path = "examples/monitor.rs"
[[example]]
name = "mpi_amg_gmres_demo"
path = "examples/mpi_amg_gmres_demo.rs"
required-features = ["mpi_examples"]
[[example]]
name = "mpi_parallel_demo"
path = "examples/mpi_parallel_demo.rs"
[[example]]
name = "optimized_solver_demo"
path = "examples/optimized_solver_demo.rs"
[[example]]
name = "options_demo"
path = "examples/options_demo.rs"
[[example]]
name = "phase_i_test"
path = "examples/phase_i_test.rs"
[[example]]
name = "setup_reuse_demo"
path = "examples/setup_reuse_demo.rs"
[[example]]
name = "shell_demo"
path = "examples/shell_demo.rs"
[[example]]
name = "superlu_dist_demo"
path = "examples/superlu_dist_demo.rs"
[[example]]
name = "test_help"
path = "examples/test_help.rs"
[[example]]
name = "test_superlu_cli"
path = "examples/test_superlu_cli.rs"
[features]
amd = []
default = ["mpi", "rayon", "logging"]
dense-direct = []
iai = []
legacy-pc-bridge = []
logging = ["dep:log"]
mat-values-fingerprint = []
metrics = []
mpi = ["dep:mpi"]
mpi_examples = ["mpi"]
proptest = []
rayon = ["dep:rayon", "dep:num_cpus"]
superlu3d = []
superlu_dist = []
transpose-cache = ["dep:parking_lot"]
tuning = []
[lib]
doctest = false
name = "kryst"
path = "src/lib.rs"
[package]
authors = ["Thomas James Mathis <tmathis720@gmail.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["science", "mathematics", "algorithms"]
description = "Krylov subspace and preconditioned iterative solvers for dense and sparse linear systems, with shared and distributed memory parallelism."
documentation = "https://docs.rs/kryst"
edition = "2024"
exclude = ["examples/*/e*.mtx", "references/*.pdf", "target/*", ".git/*", "*.png", "*.jpg", "*.jpeg"]
homepage = "https://github.com/tmathis720/kryst"
keywords = ["krylov", "gmres", "linear-solver", "parallel", "mpi"]
license = "MIT"
name = "kryst"
readme = "README.md"
repository = "https://github.com/tmathis720/kryst"
version = "2.4.0"
[[test]]
name = "alloc_guard"
path = "tests/alloc_guard.rs"
[[test]]
name = "amg_cycle"
path = "tests/amg_cycle.rs"
[[test]]
name = "amg_keep_transpose"
path = "tests/amg_keep_transpose.rs"
[[test]]
name = "amg_stats"
path = "tests/amg_stats.rs"
[[test]]
name = "cg_initial_guess"
path = "tests/cg_initial_guess.rs"
[[test]]
name = "cg_norm_types"
path = "tests/cg_norm_types.rs"
[[test]]
name = "cg_objectsafe"
path = "tests/cg_objectsafe.rs"
[[test]]
name = "cg_pcg_reduction_counts"
path = "tests/cg_pcg_reduction_counts.rs"
[[test]]
name = "cg_true_residual_monitor"
path = "tests/cg_true_residual_monitor.rs"
[[test]]
name = "cg_trust_region"
path = "tests/cg_trust_region.rs"
[[test]]
name = "cgnr_ls"
path = "tests/cgnr_ls.rs"
[[test]]
name = "cgs_linop"
path = "tests/cgs_linop.rs"
[[test]]
name = "coarse_ilu"
path = "tests/coarse_ilu.rs"
[[test]]
name = "comm"
path = "tests/comm.rs"
[[test]]
name = "convergence_tests"
path = "tests/convergence_tests.rs"
[[test]]
name = "core_dense"
path = "tests/core_dense.rs"
[[test]]
name = "csc"
path = "tests/csc.rs"
[[test]]
name = "csc_cache"
path = "tests/csc_cache.rs"
[[test]]
name = "dist_csr"
path = "tests/dist_csr.rs"
[[test]]
name = "dist_try_matvec"
path = "tests/dist_try_matvec.rs"
[[test]]
name = "doc_audit"
path = "tests/doc_audit.rs"
[[test]]
name = "drivcav_integration"
path = "tests/drivcav_integration.rs"
[[test]]
name = "fgmres_flexible"
path = "tests/fgmres_flexible.rs"
[[test]]
name = "fgmres_ksp"
path = "tests/fgmres_ksp.rs"
[[test]]
name = "fixtures"
path = "tests/fixtures.rs"
[[test]]
name = "golden_pc"
path = "tests/golden_pc.rs"
[[test]]
name = "ilu_apply_no_alloc"
path = "tests/ilu_apply_no_alloc.rs"
[[test]]
name = "ksp_csr_setup"
path = "tests/ksp_csr_setup.rs"
[[test]]
name = "mat_values_fingerprint"
path = "tests/mat_values_fingerprint.rs"
[[test]]
name = "monitor_integration"
path = "tests/monitor_integration.rs"
[[test]]
name = "monitors_consistency"
path = "tests/monitors_consistency.rs"
[[test]]
name = "mpi_collectives"
path = "tests/mpi_collectives.rs"
[[test]]
name = "options_integration"
path = "tests/options_integration.rs"
[[test]]
name = "panel_factorization"
path = "tests/panel_factorization.rs"
[[test]]
name = "panel_microbench"
path = "tests/panel_microbench.rs"
[[test]]
name = "pcagmres"
path = "tests/pcagmres.rs"
[[test]]
name = "pcg_basic"
path = "tests/pcg_basic.rs"
[[test]]
name = "pcg_norm_types"
path = "tests/pcg_norm_types.rs"
[[test]]
name = "pcg_true_residual_monitor"
path = "tests/pcg_true_residual_monitor.rs"
[[test]]
name = "phase_iii_iv_integration"
path = "tests/phase_iii_iv_integration.rs"
[[test]]
name = "preconditioner_integration"
path = "tests/preconditioner_integration.rs"
[[test]]
name = "preconditioner_sor"
path = "tests/preconditioner_sor.rs"
[[test]]
name = "prop_no_nan"
path = "tests/prop_no_nan.rs"
[[test]]
name = "qmr"
path = "tests/qmr.rs"
[[test]]
name = "reduction_counter"
path = "tests/reduction_counter.rs"
[[test]]
name = "reuse_tests"
path = "tests/reuse_tests.rs"
[[test]]
name = "serial_nonblocking_api"
path = "tests/serial_nonblocking_api.rs"
[[test]]
name = "solver_iterative"
path = "tests/solver_iterative.rs"
[[test]]
name = "spmv_kernels"
path = "tests/spmv_kernels.rs"
[[test]]
name = "with_comm_op"
path = "tests/with_comm_op.rs"
[[test]]
name = "workspace_tests"
path = "tests/workspace_tests.rs"