ó
r™xTc           @   s�   d  d l  m Z d  d l Z d  d l Z d  d l m Z d  d l m Z d  d l m	 Z	 d „  Z
 d „  Z d „  Z e d	 k r‰ e ƒ  n  d S(
   iÿÿÿÿ(   t   divisionN(   t   flex(   t   approx_equal(   t   matrix_normality_ratioc          C   s‡  xm d	 d
 d d d g D]V \ }  } t  j j |  | ƒ } x2 t d ƒ D]$ } t | j ƒ  ƒ d k  sD t ‚ qD Wq Wt j d ƒ } xd d d d d g D]ê \ }  } t  j j |  | ƒ } | j	 | ƒ } t  j j
 j | j | j ƒ  ƒ ƒ } t  j j
 j | j ƒ  j | ƒ ƒ } t t | j ƒ  ƒ d d d g d g |  d ƒ sFt ‚ t t | j ƒ  ƒ d d d g d g | d ƒ s• t ‚ q• Wd  S(   Ni   i   i   i
   i   i   i	   i    (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   t   scitbxt   linalgt   random_normal_matrix_generatort   xrangeR   t   normal_matrixt   AssertionErrorR   t   doublet   matrix_with_singular_valuest   eigensystemt   real_symmetrict   matrix_multiplyt   matrix_transposeR   t   listt   values(   t   mt   nt   gent   it   sigmat   at   eig_ut   eig_v(    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/linalg/tests/tst_matrix.pyt   exercise_random_normal_matrix   s    "&"9c          C   sF   t  j d d d d	 g ƒ }  t j j |  d t ƒ} ~  | j ƒ  } d  S(
   Ng      @g      ð?g      ð¿g       @t   may_accumulate_q(   g      @g      ð?g      ð¿g       @(   g      ð?g      @g      ð?g      ð¿(   g      ð¿g      ð?g      @g      ð?(   g       @g      ð¿g      ð?g      @(   R   R
   R   R   t   householder_qr_decompositiont   Truet   q(   R   t   qrR   (    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/linalg/tests/tst_matrix.pyt   exercise_householder   s    c           C   s   t  ƒ  t ƒ  d GHd  S(   Nt   OK(   R    R   (    (    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/linalg/tests/tst_matrix.pyt   run#   s    t   __main__(   t
   __future__R    t   scitbx.linalgR   t   scitbx.linalg.eigensystemt   scitbx.array_familyR   t   libtbx.test_utilsR   R   R   R    R"   t   __name__(    (    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/linalg/tests/tst_matrix.pyt   <module>   s   		
	