File: //usr/local/lib/python3.10/dist-packages/numpy/linalg/tests/__pycache__/test_linalg.cpython-310.pyc
o
���g1 � @ s�
d Z ddlZddlZddlZddlZddlZddlZddlZddlZ ddlm
Z
mZmZm
Z
mZmZmZmZ ddlmZ ddlmZmZmZmZ ddlmZ ddlmZmZmZmZmZ ddlm Z dd l!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+ zddl,ZW n e-y� Y nw d
d� Z.e&Z/d�dd�Z&dd� Z0dd� Z1dd� Z2h d�Z3G dd� d�Z4dd� Z5e j6�7d� g Z8e8e5de4de
ddgd d!gged"�e
ddged"��e4d#e
ddgd d!gged"�e
ddged"��e4d$e
ddgd d!gged"�e
g d%�g d&�ged"��e4d'e
d(d)gd*d+gge
d"�e
d,d(ge
d"��e4d-e
d(d)gd*d+gged"�e
d,d(ged"��e4d.e
d(d)gd*d+gged"�e
g d/�g d0�ged"��e4d1e j9d2ed"�e j9d3ed"�d4hd5�e4d6e j6�:d7d7�e j6�:d7��e4d8e j6�:d9d9�e j6�:d9��e4d:d9d;gd<d=ggd;d9g�g
�7 Z8e8e5d>e4d?e
g d@�g d&�ged"�e
ddged"��e4dAe
ddgd d!gdBdCgged"�e
g dD�ed"��e4dEe
g d@�g d&�ged"�e
ddged"��e4dFe
ddgd d!gdBdCgged"�e
g dD�ed"��e4dGe
g dH�g dI�ge
d"�e
d,d(ge
d"��e4dJe
dKdLgdMdNgdOdPgge
d"�e
g dQ�e
d"��e4dRe
g dH�g dI�ged"�e
d,d(ged"��e4dSe
dKdLgdMdNgdOdPgged"�e
g dQ�ed"��e4dTe
g dH�g dI�ged"�e
d,d(gdUdVgged"��e4dWe
dKdLgdMdNgdOdPgged"�e
d,d(gdUdVgdUdVgged"��e4dXe j6�:d7dY�e j6�:d7��e4dZe j6�:d9d[�e j6�:d9��e4d\e j6�:d[d9�e j6�:d[��e4d]e j6�:dd=�e j6�:d�d4hd5�e4d^e j6�:d=d�e j6�:d=�d4hd5�g�7 Z8e8e5d_e4d`e
ddgddgged"�d�e4dae
ddgddgged"�d�e4dbe
dd)gdcd9gge
d"�d�e4dde
dd)gdcd9gged"�d�e4dee j9d2ed"�dd4hd5�e4dfd9d;gd;d9ggd�e4dge
ddgddgg�d�e4dhe j6�:d9d9�d�g�7 Z8didj� Z;e8e;� 7 Z8dkdl� Z<dmdn� Z=e8e=� 7 Z8G dodp� dp�Z>G dqdr� dre>�Z?G dsdt� dte>�Z@G dudv� dve>�ZAG dwdx� dxe>�ZBG dydz� dze>�ZCG d{d|� d|e>�ZDd}d~� ZEdd�� ZFG d�d�� d�e?eB�ZGG d�d�� d�eG�ZHG d�d�� d�e?eB�ZIG d�d�� d�eI�ZJG d�d�� d�e?eB�ZKG d�d�� d�eK�ZLG d�d�� d�e?eB�ZMG d�d�� d�eM�ZNG d�d�� d��ZOG d�d�� d�e?eB�ZPG d�d�� d�ePeO�ZQG d�d�� d�eAeD�ZRG d�d�� d�eReO�ZSG d�d�� d�e?eB�ZTG d�d�� d�eT�ZUG d�d�� d�e?e@eBeC�ZVG d�d�� d�eV�ZWG d�d�� d�eAeD�ZXG d�d�� d�eX�ZYG d�d�� d�e?eB�ZZG d�d�� d�eZ�Z[G d�d�� d�e?e@�Z\G d�d�� d�e\�Z]ej^�_d�d�d�� d�D ��G d�d�� d���Z`G d�d�� d�eAeD�ZaG d�d�� d��ZbG d�d�� d�eAeD�ZcG d�d�� d��ZdG d�d�� d��ZeG d�d�� d�ee�ZfG d�d d�ee�ZgG d�dĄ d�egef�ZhG d�dƄ dƃZiG d�dȄ d�ee�ZjG d�dʄ d�ee�ZkG d�d̄ d�ee�ZlG d�d΄ d�ehej�ZmG d�dЄ d�ehek�ZnG d�d҄ d�ehel�ZoG d�dԄ dԃZpd�dք ZqG d�d dZrG d�dڄ dڃZsd�d܄ Ztej^jue+d�dލd�d� �Zvd�d� Zwej^jue+d�dލej^jxd�d� ��ZyG d�d� d�ZzG d�d� d�Z{G d�d� d�Z|d�d� Z}ej^j~d�dލd�d� �Zej^j�e* d�dލd�d� �Z�dS )�z# Test functions for linalg module
� N)�array�single�double�csingle�cdouble�dot�identity�matmul)�swapaxes)�multiply�
atleast_2d�inf�asarray)�linalg)�matrix_power�norm�matrix_rank� multi_dot�LinAlgError)�_multi_dot_matrix_chain_order)
�assert_�assert_equal�
assert_raises�assert_array_equal�assert_almost_equal�assert_allclose�suppress_warnings�assert_raises_regex�HAS_LAPACK64�IS_WASMc C s$ t | �t|tj�rt |�u S tju S �N)�type�
isinstance�np�ndarray)�out�in_� r'