pub struct ActionFunctional { /* private fields */ }Expand description
The action functional S[φ] on the 12,288-cell complex.
This is a simplified educational version. The actual action functional used to discover the Atlas is more complex and involves the full geometric structure.
§Mathematical Definition
For a configuration φ: Cells → ℂ, the action is:
$$ S[\phi] = \sum_{c \in \text{Cells}} \phi(\partial c) $$
where ∂c denotes the boundary of cell c.
§Discrete vs Continuous
Unlike continuous functionals (integrals), this is a discrete functional—a finite sum over finitely many cells. This makes it:
- Computable: Can be evaluated exactly
- Optimizable: Minima can be found algorithmically
- Verifiable: Results are reproducible
Implementations§
Source§impl ActionFunctional
impl ActionFunctional
Sourcepub const fn new(
cells: Vec<CellId>,
boundary: HashMap<CellId, Vec<(CellId, Ratio<i64>)>>,
) -> Self
pub const fn new( cells: Vec<CellId>, boundary: HashMap<CellId, Vec<(CellId, Ratio<i64>)>>, ) -> Self
Create a new action functional with the given cell structure.
§Arguments
cells- The list of cells in the complexboundary- For each cell, its boundary as a formal sum of lower-dimensional cells
Sourcepub fn evaluate(&self, config: &Configuration) -> Ratio<i64>
pub fn evaluate(&self, config: &Configuration) -> Ratio<i64>
Evaluate the action functional S[φ] for a given configuration.
§Mathematical Formula
$$ S[\phi] = \sum_{c \in \text{Cells}} \phi(\partial c) $$
where φ(∂c) is computed as the sum of φ evaluated on boundary cells.
§Examples
use atlas_embeddings::foundations::action::{ActionFunctional, Configuration};
use std::collections::HashMap;
use num_rational::Ratio;
// Simple example: 2 cells, cell 1 has cell 0 as boundary
let cells = vec![0, 1];
let mut boundary = HashMap::new();
boundary.insert(1, vec![(0, Ratio::from_integer(1))]);
let functional = ActionFunctional::new(cells, boundary);
let mut config = Configuration::new();
config.insert(0, Ratio::from_integer(2));
config.insert(1, Ratio::from_integer(3));
let action = functional.evaluate(&config);
// action depends on boundary structureSourcepub fn cell_count(&self) -> usize
pub fn cell_count(&self) -> usize
Get the number of cells in the complex.
Trait Implementations§
Source§impl Clone for ActionFunctional
impl Clone for ActionFunctional
Source§fn clone(&self) -> ActionFunctional
fn clone(&self) -> ActionFunctional
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more