o
    oh                     @   s4   d dl mZ d dlmZmZmZ G dd deZdS )    )Basic)PSpace_symbol_converterRandomMatrixSymbolc                   @   s.   e Zd ZdZd	ddZedd Zdd ZdS )
RandomMatrixPSpacez
    Represents probability space for
    random matrices. It contains the mechanics
    for handling the API calls for random matrices.
    Nc                 C   s&   t |}|rt| ||S t| |S N)r   r   __new__)clssymmodel r   m/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/sympy/stats/random_matrix.pyr   
   s   zRandomMatrixPSpace.__new__c                 C   s"   z| j d W S  ty   Y d S w )N   )args
IndexError)selfr   r   r   r      s
   zRandomMatrixPSpace.modelc                 G   s4   | t}t|dkst|tstd| j|S )N   zoCurrently, no algorithm has been implemented to handle general expressions containing multiple random matrices.)atomsr   len
isinstanceNotImplementedErrorr   density)r   exprr   rmsr   r   r   compute_density   s   
z"RandomMatrixPSpace.compute_densityr   )__name__
__module____qualname____doc__r   propertyr   r   r   r   r   r   r      s    

r   N)sympy.core.basicr   sympy.stats.rvr   r   r   r   r   r   r   r   <module>   s    