3
���h�] � @ sf d Z ddddddddd d
ddd
ddddddddgZddlZddlZddlZddlmZmZmZm Z m
Z
mZmZm
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/ ddl0m1Z1 ddl2m3Z3 ddlm4Z4 ddl5m6Z6m7Z7 ddl8m9Z9m:Z: ej;e4j<dd�Z<eZ=e3d�G d d� de>��Z?d!d"� Z@e@� ZA[@d#d$� ZBd%d&� ZCd'd(� ZDd)d*� ZEd+d,� ZFd-d.� ZGd/d0� ZHd1d2� ZIeee
e
eeee
iZJeee
eeeeeiZKe
fd3d4�ZLefd5d6�ZMd7d8� ZNd9d:� ZOeZPd;d<� ZQd=d>� ZRd?d@� ZSdAdB� ZTdCdD� ZUdEdF� ZVdGdH� ZWdIdJ� ZXd�dKdL�ZYe<eY�d�dMd��ZZdNdO� Z[e<e[�dPd� �Z\d�dQdR�Z]e<e]�d�dTd��Z^dUdV� Z_e<e_�dWd� �Z`dXdY� Zae<ea�dZd� �Zbe<e_�d[d� �Zcd�d\d]�Zde<ed�d�d_d��Zee<e_�d`d� �Zfd�dadb�Zge<eg�d�ddd��Zhdedf� Zie<e_�dgd
� �Zje<eg�d�dhd��Zkd�didj�Zle<el�d�dmd��Zmd�dndo�Zne<en�d�dpd��Zod�dqdr�Zpe<ep�d�dsd��Zqd�dtdu�Zre<er�d�dwd ��Zse<e_�dxd
� �Zte<e_�dyd� �Zud�dzd{�Zve<ev�d�d}d��Zwd~d� Zxd�d�d��Zye<ey�d�d�d��Zzdd��d�d��Z{e<e{�dd��d�d��Z|d�d�d��Z}d�d�d��Z~d�d�d��ZdS )�ax Lite version of scipy.linalg.
Notes
-----
This module is a lite version of the linalg.py module in SciPy which
contains high-level Python interface to the LAPACK library. The lite
version only accesses the following LAPACK functions: dgesv, zgesv,
dgeev, zgeev, dgesdd, zgesdd, dgelsd, zgelsd, dsyevd, zheevd, dgetrf,
zgetrf, dpotrf, zpotrf, dgeqrf, zgeqrf, zungqr, dorgqr.
�matrix_power�solve�tensorsolve� tensorinv�inv�cholesky�eigvals�eigvalsh�pinv�slogdet�det�svd�eig�eigh�lstsq�norm�qr�cond�matrix_rank�LinAlgError� multi_dot� N)*�array�asarray�zeros�empty�
empty_like�intc�single�double�csingle�cdouble�inexact�complexfloating�newaxis�all�Inf�dot�add�multiply�sqrt�fastCopyAndTranspose�sum�isfinite�finfo�errstate� geterrobj�moveaxis�amin�amax�product�abs�
atleast_2d�intp�
asanyarray�object_�matmul�swapaxes�divide�
count_nonzero�isnan�sign�argsort�sort)�normalize_axis_index)�
set_module)� overrides)�triu�eye)�lapack_lite�
_umath_linalgznumpy.linalg)�modulec @ s e Zd ZdZdS )r a
Generic Python-exception-derived object raised by linalg functions.
General purpose exception class, derived from Python's exception.Exception
class, programmatically raised in linalg functions when a Linear
Algebra-related condition would prevent further correct execution of the
function.
Parameters
----------
None
Examples
--------
>>> from numpy import linalg as LA
>>> LA.inv(np.zeros((2,2)))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "...linalg.py", line 350,
in inv return wrap(solve(a, identity(a.shape[0], dtype=a.dtype)))
File "...linalg.py", line 249,
in solve
raise LinAlgError('Singular matrix')
numpy.linalg.LinAlgError: Singular matrix
N)�__name__�
__module__�__qualname__�__doc__� rM rM �4/tmp/pip-build-5_djhm0z/numpy/numpy/linalg/linalg.pyr + s c
C s> |