How to alter the physical error rate in the Azure Resource Estimator?

EA 25 Reputation points
2025-05-12T09:38:45.9133333+00:00

I have been trying to use the resources estimator to estimate the physical qubit resources needed to run an algorithm with surface code (my own algorithm). I modified the code to do this, and was able to alter the physical gate error rate in the params before running the estimation:

params = [

{

    "errorBudget": 0.001,

    "qubitParams": {

        "instructionSet": "GateBased",

        "oneQubitMeasurementTime": "100 ns", 

        "oneQubitGateTime": "50 ns", 

        "oneQubitMeasurementErrorRate": 0.001, 

        "oneQubitGateErrorRate": 0.0000001,

        "twoQubitGateErrorRate": 0.0000001,

        "idleErrorRate": 0.0000001, 

        "tGateErrorRate": 0.001, 

    },

    "qecScheme": {"name": "surface_code"}

}
]  
  
result = qsharp.estimate(
f"QMLCircuit(2,3)", 
params=params,
)

result

However, when I run the estimation again, I find that the logical qubit error rate output is 3.00e-7, which is the same number I get if I set the error rate to 0.001. The text display says the logical qubit error rate is computed as 0.03 x (0.0000001/0.01)^(9+1)/2, but the actual computed result does not match that formula.

I have not been able to find where in the code the logical qubit error rate is actually computed as 3.00e-7. It looks like there is a limit for how small the error rate can be, even if we reduce the physical gate error rate. Can you help me to find a way to calculate the logical qubit error rate correctly for gate error rates below 0.001?

Thank you!

Azure Quantum
Azure Quantum
An Azure service that provides quantum computing and optimization solutions.
84 questions
0 comments No comments
{count} votes

Accepted answer
  1. Arko 4,150 Reputation points Microsoft External Staff Moderator
    2025-05-12T12:21:29.8933333+00:00

    Hello EA, you cannot manually override the logical error rate as Alex suggests. I am not sure if that is a valid parameter in the Azure Quantum Resource Estimator API.

    If I understood your question correctly, you are basically asking how can you correctly calculate the logical error rate in the Azure Resource Estimator for ultra-low physical error rates below 0.001, and why doesn’t the estimator reflect those lower values in its output correct?

    Your first question- I modified the physical gate error rates, but the logical qubit error rate stays fixed at 3.00e-7. Why is that?

    Ans- This is expected behavior. The Resource Estimator clamps error rates below a certain validated range, as explained in the Microsoft documentation. It does not simulate improvements beyond that because its internal models are bounded for stability and reliability. It’s not a bug, it’s a design limitation.

    the worst-case error rate of any physical Clifford operation performed in the device” which is max(one_qubit_measurement_error_rate, one_qubit_gate_error_rate, two_qubit_gate_error_rate)

    So even if you manually specify very low values (like 1e-7), the estimator may default to a higher internal minimum threshold, often around 1e-4 or 1e-5.

    Your second observation- about the displayed formula says logical error rate is calculated using: 0.03 × (p / 0.01)^((d+1)/2). But the actual value doesn’t match this formula.

    Ans-The displayed formula is a simplified approximation. The estimator uses a more complex model internally, with values like crossingPrefactor, distanceCoefficientPower, and errorCorrectionThreshold. The actual formula is documented and configurable, which I cite directly from the same official documentation.

    quantum 1

    Your final ask- Can I set gate error rates below 0.001 and get accurate logical error outputs? If not, how can I simulate that?

    Ans- No, you will not get more accurate logical estimates just by lowering physical error rates below the model’s range (~1e-4 to 1e-5). Microsoft explicitly states-

    QEC schemes typically have an error rate threshold below which error correction suppresses errors.

    And importantly you will see in the document-

    If the physical T gate error rate is lower than the required logical T state error rate, the Resource Estimator cannot perform a good resource estimation.

    Kindly checkout- https://learn.microsoft.com/en-us/azure/quantum/overview-resources-estimator

    If you want to explore ultra-low physical error rate behavior (< 1e-6), you can try using external quantum error correction simulation tools like Stim or qecsim.

    Hope I was able to clear your query here. Thanks.

    0 comments No comments

1 additional answer

Sort by: Most helpful
  1. Alex Burlachenko 10,255 Reputation points
    2025-05-12T11:03:43.5033333+00:00

    Dear EA,

    Thank you for your question about modifying physical error rates in the Azure Quantum Resource Estimator. I understand you're trying to customize error parameters for your surface code implementation and have observed that the logical qubit error rate remains fixed at 3.00e-7, even when reducing physical error rates below 0.001.

    The Resource Estimator may apply minimum thresholds for error rates to reflect realistic hardware constraints. If you need to override the automatic calculation, you can explicitly set the logical error rate in your parameters:

    "qecScheme": {
        "name": "surface_code",
        "logicalCycleTime": "100 ns",
        "logicalQubitErrorRate": YOUR_DESIRED_RATE
    }
    

    The surface code’s logical error rate typically follows a relationship like:

    p_logical ≈ 0.03 * (p_physical / p_threshold)^((d+1)/2)
    
    

    where p_threshold is usually around 1%. The estimator might use a more refined model, which could explain the discrepancy. If the issue persists, I recommend checking the full result object for precise values or consulting Azure Quantum’s documentation for further details.

    Best regards,
    Alex
    P.S. If my answer help to you, please Accept my answer
    PPS That is my Answer and not a Comment
    
    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.