Skip to main content

HolographicQECSimulator

Struct HolographicQECSimulator 

Source
pub struct HolographicQECSimulator {
Show 15 fields pub config: HolographicQECConfig, pub boundary_state: Option<Array1<Complex64>>, pub bulk_state: Option<Array1<Complex64>>, pub holographic_duality: Option<HolographicDuality>, pub rt_surfaces: Vec<RTSurface>, pub bulk_geometry: Option<BulkGeometry>, pub boundary_theory: Option<BoundaryTheory>, pub entanglement_structure: Option<EntanglementStructure>, pub error_correction_operators: HashMap<String, Array2<Complex64>>, pub stabilizer_generators: Vec<Array2<Complex64>>, pub logical_operators: Vec<Array2<Complex64>>, pub syndrome_measurements: Vec<f64>, pub gravity_simulator: Option<QuantumGravitySimulator>, pub backend: Option<SciRS2Backend>, pub stats: HolographicQECStats,
}
Expand description

Holographic quantum error correction simulator

Fields§

§config: HolographicQECConfig

Configuration

§boundary_state: Option<Array1<Complex64>>

Boundary quantum state

§bulk_state: Option<Array1<Complex64>>

Bulk quantum state

§holographic_duality: Option<HolographicDuality>

Holographic duality mapping

§rt_surfaces: Vec<RTSurface>

Ryu-Takayanagi surfaces

§bulk_geometry: Option<BulkGeometry>

Bulk geometry

§boundary_theory: Option<BoundaryTheory>

Boundary theory

§entanglement_structure: Option<EntanglementStructure>

Entanglement structure

§error_correction_operators: HashMap<String, Array2<Complex64>>

Error correction operators

§stabilizer_generators: Vec<Array2<Complex64>>

Stabilizer generators

§logical_operators: Vec<Array2<Complex64>>

Logical operators

§syndrome_measurements: Vec<f64>

Syndrome measurements

§gravity_simulator: Option<QuantumGravitySimulator>

Quantum gravity simulator for bulk dynamics

§backend: Option<SciRS2Backend>

SciRS2 backend for computations

§stats: HolographicQECStats

Simulation statistics

Implementations§

Source§

impl HolographicQECSimulator

Source

pub fn create_holographic_encoding_matrix( &self, boundary_dim: usize, bulk_dim: usize, ) -> Result<Array2<Complex64>>

Create holographic encoding matrix using tensor network structure

Source

pub fn create_ads_rindler_encoding( &self, encoding_matrix: &mut Array2<Complex64>, ) -> Result<()>

Create AdS-Rindler holographic encoding

Source

pub fn calculate_rindler_factor( &self, bulk_index: usize, boundary_index: usize, ) -> f64

Calculate Rindler factor for AdS-Rindler encoding

Source

pub fn calculate_entanglement_factor( &self, bulk_index: usize, boundary_index: usize, ) -> f64

Calculate entanglement factor for holographic encoding

Source§

impl HolographicQECSimulator

Source

pub fn perform_error_correction( &mut self, error_locations: &[usize], ) -> Result<HolographicQECResult>

Perform holographic error correction

Source§

impl HolographicQECSimulator

Source

pub fn new(config: HolographicQECConfig) -> Self

Create a new holographic quantum error correction simulator

Source

pub fn initialize(&mut self) -> Result<()>

Initialize the holographic quantum error correction system

Source

pub fn setup_stabilizer_generators(&mut self) -> Result<()>

Setup stabilizer generators

Source

pub fn perform_bulk_reconstruction( &mut self, boundary_data: &[Complex64], ) -> Result<BulkReconstructionResult>

Perform bulk reconstruction

Source

pub const fn get_stats(&self) -> &HolographicQECStats

Get simulation statistics

Trait Implementations§

Source§

impl Debug for HolographicQECSimulator

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<SS, SP> SupersetOf<SS> for SP
where SS: SubsetOf<SP>,

Source§

fn to_subset(&self) -> Option<SS>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
Source§

fn is_in_subset(&self) -> bool

Checks if self is actually part of its subset T (and can be converted to it).
Source§

fn to_subset_unchecked(&self) -> SS

Use with care! Same as self.to_subset but without any property checks. Always succeeds.
Source§

fn from_subset(element: &SS) -> SP

The inclusion map: converts self to the equivalent element of its superset.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V