o
    8VaW                     @   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 |}t| ||S N)r   r   __new__)clsZsymmodel r   ;/usr/lib/python3/dist-packages/sympy/stats/random_matrix.pyr   
   s   zRandomMatrixPSpace.__new__c                 C   s
   | j d S )N   )args)selfr   r   r   <lambda>   s   
 zRandomMatrixPSpace.<lambda>c                 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.)Zatomsr   len
isinstanceNotImplementedErrorr
   Zdensity)r   exprr   Z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)Zsympyr   Zsympy.stats.rvr   r   r   r   r   r   r   r   <module>   s    