
    Ϧa@                         d dl Z d dlZe j                            d           d dlmZmZ defdZdedefdZdefdZdefd	Z	dedefd
Z
dedefdZdefdZdS )    Nz	../matrix)vectormatrixMc                    t          d| j                  D ]}t          |dz   | j                  D ]}t          j        | ||f         | ||f                   }t          j        |          }t          j        |          }t          || j                  D ]7}| ||f         }| ||f         }||z  ||z  z   | ||f<   | |z  ||z  z   | ||f<   8|| ||f<   d S Nr      )rangesize2size1mathatan2cossin)	r   qpthetacskxqxps	            Z/data/data/com.termux/files/usr/share/apache2/default-site/htdocs/prog/python/qr/givens.pyqrr      s    
!'

  Q1QW  a	AacF1QqS6	"	"5	Xe__1a!AG  q1vB!AaC&rd2a4iAacFSU2a4ZAacFF
1QqS66     bc                 j   t          d| j                  D ]}t          |dz   | j                  D ]}||         }||         }| ||f         }|t          j        |          z  |t          j        |          z  z   ||<   | t          j        |          z  |t          j        |          z  z   ||<   d S r   )r	   r
   r   r   r   r   )r   r   r   r   r   r   r   s          r   apply_QT_inplacer      s    
!'

 2 2Q1QW 2 2ad2qtBQqsVUdhuoob%001Q4#dhuoo
b%0
01Q4422 2r   c                 &   t          | j        | j                  }t          | j                  }t	          d| j                  D ]L}|                    |           t          | |           t	          d| j                  D ]}||         |||f<   M|S Nr   )r   r   r
   r   r	   	set_basisr   )r   Qeiijs        r   unpack_Qr%      s    AGAGQWoo
!'

 . .Q,,q///1R17--ar!ua!ff-	r   c                     | j         }t          ||          }t          d|          D ]'}t          d|dz             D ]}| ||f         |||f<   (|S r   )r
   r   r	   )r   mRr   rs        r   unpack_Rr*   !   si    WAa[[
!**  Q1Q3<<  aacF1QqS66	r   c                 N    |                                 }t          | |           |S )N)copysolve_inplace)r   r   xs      r   solver/   )   s$    6688q	r   r.   c                    t          | |           t          t          d| j                            D ]N}d}t          |dz   | j                  D ]}|| ||f         ||         z  z  }||         |z
  | ||f         z  ||<   Od S r   )r   reversedr	   r
   )r   r.   r#   r   r   s        r   r-   r-   .   s    !A
517##
$
$  Q!1QW//a1QqS6!A$;
A$q&!AaC&!A$$ r   c                     t          | j        | j                  }|                                 t          d|j                  D ]}t	          | ||                    |S r   )r   r
   set_identityr	   r-   )r   Br#   s      r   inverser5   5   s\    AGAG
!'

  Q!A$	r   )sysr   pathappendr   r   r   r   r%   r*   r/   r-   r5    r   r   <module>r:      s   



      ! ! ! ! ! ! ! !	& 	 	 	 	2v 2 2 2 2 2    v    
F 
V 
 
 
 

F V    f      r   