srsadmm_core/lib.rs
1//! srsadmm-core
2//!
3//! This library provides the core functionality for the srsadmm project, including
4//! matrix operations, problem formulation, and resource management.
5//! It is meant for usage with the `tokio` runtime and the `srsadmm-lambda-mm` AWS Lambda function.
6//! For more information, please see the GitHub repository: <https://github.com/buk0vec/srsadmm>.
7//!
8//! # Functionality
9//!
10//! - Local and remote state management
11//! - Matrix operations
12//! - LASSO-specific operations
13//! - ADMM problem formulation and solving
14//! - Timing and logging
15//!
16//! # Features
17//!
18//! - `accelerate` - Use the `accelerate` backend for matrix operations
19//! - `netlib` - Use the `netlib` backend for matrix operations
20//! - `openblas` - Use the `openblas` backend for matrix operations
21//! - `linfa` - Adds a utility function to compute the optimal objective value for Lasso regression using the `linfa` and `linfa-elasticnet` libraries. Useful for testing and validation.
22//! - `rayon` - Adds support for parallelization using the `rayon` library. Really not necessary for the ADMM algorithm, but speeds up the problem instance generation.
23//!
24
25/// Lambda-specific operations
26pub(crate) mod lambda;
27
28/// Matrix operations on distributed variables
29pub mod ops;
30
31/// Problem formulation and solving
32pub mod problem;
33
34/// Resource management for distributed variables
35pub mod resource;
36
37/// S3 storage operations
38pub(crate) mod s3;
39
40/// Storage management
41pub(crate) mod storage;
42
43/// Utility functions for splitting and combining distributed variables
44pub mod subproblem;
45
46/// Timing and logging utilities
47pub mod timing;
48
49/// Utility functions for LASSO problems
50pub mod utils;
51
52/// Distributed variable management
53pub mod variable;