
    AVh                     |    d Z ddlZddlmZ ddlmZ ddlmZ ddlmZ ddlm	Z	 ddl
mZ ddej                  dfd	Zy)
zOperations for linear algebra.    N)dtypes)ops)tensor)	array_ops)math_ops)compatc                    t        j                  |d| ||g      5  |du }|g n|}|| n|}t        | t        j                        st        |t        j                        rt        j                  | |      }n`t        | t        j                        rt        |t        j                        st        d|  d|       | |k(  }t        j                  | |      }t        |t        j                        st        |t        j                        r^t        j                  |dt        j                        }t        j                  ||gfd	      }|s6t        j                  || |gfd	      }nt!        |      }||gz   }|s|| |gz   }t        j"                  ||
      }	|rt        j$                  |	      cddd       S t        j&                  |
      }
t        j(                  |
|	      cddd       S # 1 sw Y   yxY w)zQConstruct an identity matrix, or a batch of matrices.

  See `linalg_ops.eye`.
  eye)default_namevaluesNz[Arguments `num_rows` and `num_columns` must be positive integer values. Received: num_rows=z, num_columns=shape)namedtyper   )axis)r   )r   
name_scope
isinstancer   Tensorr   minimumr   integral_types	TypeErrornpconvert_to_tensorr   int32r   concatlistonesmatrix_diagzerosmatrix_set_diag)num_rowsnum_columnsbatch_shaper   r   	is_square	diag_size
diag_shaper   	diag_oneszero_matrixs              U/home/dcms/DCMS/lib/python3.12/site-packages/tensorflow/python/ops/linalg_ops_impl.pyr
   r
      s    ~~
+{'KM *?t#I#+"K)1({K 	8V]]+;.""8[9i &"7"78

v,,A.**2>+PQ 	Q k)i**X{3i +v}}-6==2 ))
G6<<k ##[9+$>QGj  ++/F!GaP %k),jx55z7I""9-O*? *?R OOE7k&&{I>U*? *? *?s   FG1;,G11G:)__doc__numpyr   tensorflow.python.frameworkr   r   r   tensorflow.python.opsr   r   tensorflow.python.utilr   float32r
        r(   <module>r1      s6    %  . + . + * ) nn	3?r0   