pub struct TensorNetworkState {
pub vertices: HashMap<Vec<u8>, TensorNetworkVertex>,
pub edges: Vec<EntanglementEdge>,
pub total_entropy: u64,
pub max_entropy: u64,
pub vertex_count: u32,
pub edge_count: u32,
pub last_updated: i64,
}Expand description
Global tensor network state.
Represents the complete tensor network for a PoT-O system:
- Vertices: miners, pools, or other quantum subsystems
- Edges: entanglement links representing coupling
- Entropy: cumulative S_total = Σ |γ_i| log(d_i)
Fields§
§vertices: HashMap<Vec<u8>, TensorNetworkVertex>All vertices in the network (keyed by pubkey for O(1) lookup)
edges: Vec<EntanglementEdge>All entanglement edges
total_entropy: u64Total entropy S_total (fixed-point u64, scale 1e6)
max_entropy: u64Maximum possible entropy for normalization
vertex_count: u32Number of vertices
edge_count: u32Number of edges
last_updated: i64Last update timestamp
Implementations§
Source§impl TensorNetworkState
impl TensorNetworkState
Sourcepub fn new() -> TensorNetworkState
pub fn new() -> TensorNetworkState
Create a new empty tensor network state
Sourcepub fn add_vertex(
&mut self,
vertex: TensorNetworkVertex,
) -> Result<(), TribeError>
pub fn add_vertex( &mut self, vertex: TensorNetworkVertex, ) -> Result<(), TribeError>
Add a vertex to the network
Sourcepub fn add_edge(&mut self, edge: EntanglementEdge) -> Result<(), TribeError>
pub fn add_edge(&mut self, edge: EntanglementEdge) -> Result<(), TribeError>
Add an edge to the network
Sourcepub fn get_vertex(&self, pubkey: &[u8]) -> Option<&TensorNetworkVertex>
pub fn get_vertex(&self, pubkey: &[u8]) -> Option<&TensorNetworkVertex>
Get a vertex by pubkey
Sourcepub fn incident_edges(&self, pubkey: &[u8]) -> Vec<&EntanglementEdge>
pub fn incident_edges(&self, pubkey: &[u8]) -> Vec<&EntanglementEdge>
Get all edges incident to a vertex
Trait Implementations§
Source§impl Clone for TensorNetworkState
impl Clone for TensorNetworkState
Source§fn clone(&self) -> TensorNetworkState
fn clone(&self) -> TensorNetworkState
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for TensorNetworkState
impl Debug for TensorNetworkState
Source§impl Default for TensorNetworkState
impl Default for TensorNetworkState
Source§fn default() -> TensorNetworkState
fn default() -> TensorNetworkState
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for TensorNetworkState
impl<'de> Deserialize<'de> for TensorNetworkState
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<TensorNetworkState, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<TensorNetworkState, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for TensorNetworkState
impl Serialize for TensorNetworkState
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl Freeze for TensorNetworkState
impl RefUnwindSafe for TensorNetworkState
impl Send for TensorNetworkState
impl Sync for TensorNetworkState
impl Unpin for TensorNetworkState
impl UnsafeUnpin for TensorNetworkState
impl UnwindSafe for TensorNetworkState
Blanket Implementations§
Source§impl<T> AbiEnumVisitor for T
impl<T> AbiEnumVisitor for T
default fn visit_for_abi( &self, _digester: &mut AbiDigester, ) -> Result<AbiDigester, DigestError>
Source§impl<T> AbiEnumVisitor for T
impl<T> AbiEnumVisitor for T
default fn visit_for_abi( &self, digester: &mut AbiDigester, ) -> Result<AbiDigester, DigestError>
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more