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__)clsZsymmodel r   _/home/www/facesmatcher.com/frenv_anti/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.)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sympy.core.basicr   Zsympy.stats.rvr   r   r   r   r   r   r   r   <module>   s    