A verifiable quantum advantage towards real world applications: Quantum Echoes 
Learn more
         
     
  
  
  
  
  
    
      cirq.validate_density_matrix
  
      
    
  
  
  
  
  
    
  
  
    
    
Checks that the given density matrix is valid.
cirq.validate_density_matrix(
    density_matrix: np.ndarray,
    *,
    qid_shape: tuple[int, ...],
    dtype: (DTypeLike | None) = None,
    atol: float = 1e-07
) -> None
| Args | 
|---|
| density_matrix | The density matrix to validate. | 
| qid_shape | The expected qid shape. | 
| dtype | The expected dtype. | 
| atol | Absolute numerical tolerance. | 
| Raises | 
|---|
| ValueError | The density matrix does not have the correct dtype. | 
| ValueError | The density matrix does not have the correct shape.
It should be a square matrix with dimension prod(qid_shape). | 
| ValueError | The density matrix is not Hermitian. | 
| ValueError | The density matrix does not have trace 1. | 
| ValueError | The density matrix is not positive semidefinite. | 
  
  
 
  
    
    
      
    
    
  
       
    
    
  
  
  Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
  Last updated 2025-08-14 UTC.
  
  
  
    
      [[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-14 UTC."],[],[]]