genQC logo genQC
  • Overview
  • Get Started
  • Tutorials
  • API Reference
  • Research
  • Code Repository
  1. Inference
  2. Evaluation metrics

API Reference

  • Modules Overview
  • Release notes

  • Benchmark
    • Compilation benchmark
  • Dataset
    • Dataset balancing
    • Cached dataset
    • Quantum circuit dataset
    • Config dataset
    • Dataset helper functions
    • Mixed cached dataset
  • Inference
    • Evaluation metrics
    • Evaluation helper
    • Sampling functions
  • Models
    • Config model
    • Frozen OpenCLIP
    • Layers
    • Position encodings
    • Conditional qc-UNet
    • Encoder for unitaries
    • Clip
      • Frozen OpenCLIP
      • Unitary CLIP
    • Embedding
      • Base embedder
      • Rotational preset embedder
    • Transformers
      • Transformers and attention
      • CirDiT - Circuit Diffusion Transformer
      • Transformers
  • Pipeline
    • Callbacks
    • Compilation Diffusion Pipeline
    • Diffusion Pipeline
    • Diffusion Pipeline Special
    • Metrics
    • Multimodal Diffusion Pipeline
    • Pipeline
    • Unitary CLIP Pipeline
  • Platform
    • Circuits dataset generation functions
    • Circuits instructions
    • Simulation backend
    • Backends
      • Base backend
      • CUDA-Q circuits backend
      • Pennylane circuits backend
      • Qiskit circuits backend
    • Tokenizer
      • Base tokenizer
      • Circuits tokenizer
      • Tensor tokenizer
  • Scheduler
    • Scheduler
    • DDIM Scheduler
    • DDPM Scheduler
    • DPM Scheduler
  • Utils
    • Async functions
    • Config loader
    • Math and algorithms
    • Miscellaneous util

On this page

  • Base norm
    • BaseNorm
  • Unitary distances
    • UnitaryFrobeniusNorm
    • UnitaryInfidelityNorm
  • Report an issue
  • View source
  1. Inference
  2. Evaluation metrics

Evaluation metrics

Different metrics used for evaluation.

Base norm


source

BaseNorm

 BaseNorm ()

Base class for norms.

Unitary distances


source

UnitaryFrobeniusNorm

 UnitaryFrobeniusNorm ()

The Frobenius-Norm for unitaries: defined in https://arxiv.org/pdf/2106.05649.pdf.


source

UnitaryInfidelityNorm

 UnitaryInfidelityNorm ()

The Infidelity-Norm for unitaries: defined in https://link.aps.org/accepted/10.1103/PhysRevA.95.042318, TABLE I: 1.

Test the metrics on random unitaries:

approx_U = torch.tensor(unitary_group.rvs(8))
target_U = torch.tensor(unitary_group.rvs(8))
print(UnitaryFrobeniusNorm.name())
UnitaryFrobeniusNorm.distance(target_U, target_U), UnitaryFrobeniusNorm.distance(approx_U, target_U)
Frobenius-Norm
(tensor(0., dtype=torch.float64), tensor(8.5523, dtype=torch.float64))
print(UnitaryInfidelityNorm.name())
UnitaryInfidelityNorm.distance(target_U, target_U), UnitaryInfidelityNorm.distance(approx_U, target_U)
Unitary-Infidelity
(tensor(4.4409e-16, dtype=torch.float64), tensor(0.9895, dtype=torch.float64))
Back to top
Mixed cached dataset
Evaluation helper
 

Copyright 2025, Florian Fürrutter

  • Report an issue
  • View source