(DOT REAL-MAT COMPLEX-MAT) ERROR

[email protected] Fri, 26 Jul 2002 11:03:50 -0400
Newsgroups gmane.lisp.matlisp.devel
Message-ID <[email protected]>
Ray,

 I may have spoken too soon.  Yes, the SEGMENT violation is gone.  However, 
I stumbled upon this.  I define three distinct vectors *WS*, *WD*, and D.
Then I compute the following

(dot *ws* d): 			      5.771771444577276d0
(dot *wd* d): 			      #C(0.0d0 -8.946814341083627d0)
(/ (m:dot *wd* d) (m:dot *ws* d)):    #C(1.0d0 0.0d0)

     ==> THIS SHOULD HAVE BEEN #C(0.0D0 -1.5500985142939754D0) <==

 Now what?  I'm clueless on how to track this one down.  

mike

;;; Here is the test file I used...

(defparameter *ws*
  (m:make-complex-matrix '(
          0.1950           
          0.2268           
          0.3161           
          0.4467           
          0.5964           
          0.7425           
          0.8661           
          0.9544           
           1.000           
           1.000           
          0.9544           
          0.8661           
          0.7425           
          0.5964           
          0.4467           
          0.3161           
          0.2268           
          0.1950)))

(defparameter *wd*
  (m:make-complex-matrix '(
          0.2316           
          0.3783           
          0.6041           
          0.8240           
          0.9720           
           1.000           
          0.8755           
          0.5988           
          0.2126           
         -0.2126           
         -0.5988           
         -0.8755           
          -1.000           
         -0.9720           
         -0.8240           
         -0.6041           
         -0.3783           
         -0.2316 )))

(defparameter d
  (m:make-complex-matrix '(
   #C( -6.8643E-1  -7.2719E-1) 
   #C( -4.6423E-1  -8.8572E-1) 
   #C( -2.0744E-1  -9.7825E-1) 
   #C(  6.4808E-2  -9.9790E-1) 
   #C(  3.3222E-1  -9.4320E-1) 
   #C(  5.7489E-1  -8.1823E-1) 
   #C(  7.7472E-1  -6.3230E-1) 
   #C(  9.1684E-1  -3.9926E-1) 
   #C(  9.9064E-1  -1.3648E-1) 
   #C(  9.9064E-1   1.3648E-1) 
   #C(  9.1684E-1   3.9926E-1) 
   #C(  7.7472E-1   6.3230E-1) 
   #C(  5.7489E-1   8.1823E-1) 
   #C(  3.3222E-1   9.4320E-1) 
   #C(  6.4808E-2   9.9790E-1) 
   #C( -2.0744E-1   9.7825E-1) 
   #C( -4.6423E-1   8.8572E-1) 
   #C( -6.8643E-1   7.2719E-1))))

(format t "(dot ws d): 			      ~A~%" (m:dot *ws* d))
(format t "(dot wd d): 			      ~A~%" (m:dot *wd* d))  
(format t "(/ (m:dot *wd* d) (m:dot *ws* d)): ~A~%" (/ (m:dot *wd* d) (m:dot *ws* d)))