Template Function Pennylane::LightningGPU::NanoBindings::updateStateVectorData

Function Documentation

template<class StateVectorT>
void Pennylane::LightningGPU::NanoBindings::updateStateVectorData(StateVectorT &sv, const nb::ndarray<typename StateVectorT::ComplexT, nb::c_contig> &data)

Update state vector data from an array.

This function accepts any array-like object that follows the buffer protocol, including NumPy arrays and JAX arrays (for example).

Example with JAX:

import jax.numpy as jnp
import pennylane_lightning.lightning_qubit_ops as plq

# Create a JAX array
jax_data = jnp.zeros(2**3, dtype=jnp.complex64)
jax_data = jax_data.at[0].set(1.0)  # Set to |000⟩ state

# Create a state vector and update with JAX data
sv = plq.StateVectorC64(3)  # 3 qubits
sv.updateData(jax_data)     # Works with JAX arrays!

Template Parameters

StateVectorT – State vector type

Parameters
  • sv – State vector to update

  • data – Array with new data