TQModule

Trait TQModule 

Source
pub trait TQModule: Send + Sync {
Show 13 methods // Required methods fn forward(&mut self, qdev: &mut TQDevice) -> Result<()>; fn parameters(&self) -> Vec<TQParameter>; fn n_wires(&self) -> Option<usize>; fn set_n_wires(&mut self, n_wires: usize); fn is_static_mode(&self) -> bool; fn static_on(&mut self); fn static_off(&mut self); fn name(&self) -> &str; // Provided methods fn forward_with_input( &mut self, qdev: &mut TQDevice, _x: Option<&Array2<f64>>, ) -> Result<()> { ... } fn get_unitary(&self) -> Option<Array2<CType>> { ... } fn zero_grad(&mut self) { ... } fn train(&mut self, _mode: bool) { ... } fn training(&self) -> bool { ... }
}
Expand description

Base trait for all TorchQuantum-compatible quantum modules

This trait mirrors TorchQuantum’s QuantumModule class, providing:

  • Forward pass execution
  • Parameter management
  • Static/dynamic mode switching
  • Noise model support

Required Methods§

Source

fn forward(&mut self, qdev: &mut TQDevice) -> Result<()>

Execute the forward pass on the quantum device

Source

fn parameters(&self) -> Vec<TQParameter>

Get all trainable parameters

Source

fn n_wires(&self) -> Option<usize>

Get number of wires this module operates on

Source

fn set_n_wires(&mut self, n_wires: usize)

Set number of wires

Source

fn is_static_mode(&self) -> bool

Check if module is in static mode

Source

fn static_on(&mut self)

Enable static mode for graph optimization

Source

fn static_off(&mut self)

Disable static mode

Source

fn name(&self) -> &str

Module name for debugging

Provided Methods§

Source

fn forward_with_input( &mut self, qdev: &mut TQDevice, _x: Option<&Array2<f64>>, ) -> Result<()>

Execute forward pass with optional input data (for encoders)

Source

fn get_unitary(&self) -> Option<Array2<CType>>

Get the unitary matrix representation (if available)

Source

fn zero_grad(&mut self)

Zero gradients of all parameters

Source

fn train(&mut self, _mode: bool)

Set training mode

Source

fn training(&self) -> bool

Check if in training mode

Implementors§

Source§

impl TQModule for EfficientSU2Layer

Source§

impl TQModule for RealAmplitudesLayer

Source§

impl TQModule for TwoLocalLayer

Source§

impl TQModule for TQAngleEncoder

Source§

impl TQModule for TQGeneralEncoder

Source§

impl TQModule for TQIQPEncoder

Source§

impl TQModule for TQMagnitudeEncoder

Source§

impl TQModule for TQMultiPhaseEncoder

Source§

impl TQModule for TQPhaseEncoder

Source§

impl TQModule for TQStateEncoder

Source§

impl TQModule for TQCCZ

Source§

impl TQModule for TQCH

Source§

impl TQModule for TQCNOT

Source§

impl TQModule for TQCPhase

Source§

impl TQModule for TQCRX

Source§

impl TQModule for TQCRY

Source§

impl TQModule for TQCRZ

Source§

impl TQModule for TQCSWAP

Source§

impl TQModule for TQCY

Source§

impl TQModule for TQCZ

Source§

impl TQModule for TQControlledRot

Source§

impl TQModule for TQDCX

Source§

impl TQModule for TQECR

Source§

impl TQModule for TQFSimGate

Source§

impl TQModule for TQGivensRotation

Source§

impl TQModule for TQGlobalPhase

Source§

impl TQModule for TQHadamard

Source§

impl TQModule for TQI

Source§

impl TQModule for TQPauliX

Source§

impl TQModule for TQPauliY

Source§

impl TQModule for TQPauliZ

Source§

impl TQModule for TQPhaseShift2

Source§

impl TQModule for TQRXX

Source§

impl TQModule for TQRYY

Source§

impl TQModule for TQRZX

Source§

impl TQModule for TQRZZ

Source§

impl TQModule for TQRx

Source§

impl TQModule for TQRy

Source§

impl TQModule for TQRz

Source§

impl TQModule for TQS

Source§

impl TQModule for TQSSWAP

Source§

impl TQModule for TQSWAP

Source§

impl TQModule for TQSX

Source§

impl TQModule for TQT

Source§

impl TQModule for TQToffoli

Source§

impl TQModule for TQU1

Source§

impl TQModule for TQU2

Source§

impl TQModule for TQU3

Source§

impl TQModule for TQXXMinusYY

Source§

impl TQModule for TQXXPlusYY

Source§

impl TQModule for TQiSWAP

Source§

impl TQModule for TQBarrenLayer

Source§

impl TQModule for TQCXCXCXLayer

Source§

impl TQModule for TQCXLayer

Source§

impl TQModule for TQEfficientSU2Layer

Source§

impl TQModule for TQExcitationPreservingLayer

Source§

impl TQModule for TQFarhiLayer

Source§

impl TQModule for TQHardwareEfficient2Layer

Source§

impl TQModule for TQMaxwellLayer

Source§

impl TQModule for TQOp1QAllLayer

Source§

impl TQModule for TQOp2QAllLayer

Source§

impl TQModule for TQOp2QDenseLayer

Source§

impl TQModule for TQParticleConservingLayer

Source§

impl TQModule for TQQFTLayer

Source§

impl TQModule for TQRXYZCXLayer

Source§

impl TQModule for TQRandomLayer

Source§

impl TQModule for TQRealAmplitudesLayer

Source§

impl TQModule for TQSethLayer

Source§

impl TQModule for TQStrongEntanglingLayer

Source§

impl TQModule for TQSymmetryPreservingLayer

Source§

impl TQModule for TQTwoLocalLayer

Source§

impl TQModule for TQUCCSDLayer

Source§

impl TQModule for TQMeasureAll

Source§

impl TQModule for TQModuleList

Source§

impl TQModule for TQTensorNetworkBackend