Mercurial > octave
comparison liboctave/CMatrix.cc @ 12065:899122410ea5 release-3-2-x
more fixes & tests for matrix multiply
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Sun, 23 Aug 2009 11:11:27 +0200 |
parents | 4c7b51b2541d |
children |
comparison
equal
deleted
inserted
replaced
12064:8e8da2c36e7e | 12065:899122410ea5 |
---|---|
3753 %!shared M, cv, rv | 3753 %!shared M, cv, rv |
3754 %! M = randn(10,10)+i*rand(10,10); | 3754 %! M = randn(10,10)+i*rand(10,10); |
3755 %! cv = randn(10,1)+i*rand(10,1); | 3755 %! cv = randn(10,1)+i*rand(10,1); |
3756 %! rv = randn(1,10)+i*rand(1,10); | 3756 %! rv = randn(1,10)+i*rand(1,10); |
3757 %!assert([M*cv,M*cv],M*[cv,cv],1e-14) | 3757 %!assert([M*cv,M*cv],M*[cv,cv],1e-14) |
3758 %!assert([M.'*cv,M.'*cv],M.'*[cv,cv],1e-14) | |
3759 %!assert([M'*cv,M'*cv],M'*[cv,cv],1e-14) | |
3758 %!assert([rv*M;rv*M],[rv;rv]*M,1e-14) | 3760 %!assert([rv*M;rv*M],[rv;rv]*M,1e-14) |
3761 %!assert([rv*M.';rv*M.'],[rv;rv]*M.',1e-14) | |
3762 %!assert([rv*M';rv*M'],[rv;rv]*M',1e-14) | |
3759 %!assert(2*rv*cv,[rv,rv]*[cv;cv],1e-14) | 3763 %!assert(2*rv*cv,[rv,rv]*[cv;cv],1e-14) |
3760 */ | 3764 */ |
3761 | 3765 |
3762 static const char * | 3766 static const char * |
3763 get_blas_trans_arg (bool trans, bool conj) | 3767 get_blas_trans_arg (bool trans, bool conj) |
3851 F77_XFCN (zgemv, ZGEMV, (F77_CONST_CHAR_ARG2 (ctransa, 1), | 3855 F77_XFCN (zgemv, ZGEMV, (F77_CONST_CHAR_ARG2 (ctransa, 1), |
3852 lda, tda, 1.0, a.data (), lda, | 3856 lda, tda, 1.0, a.data (), lda, |
3853 b.data (), 1, 0.0, c, 1 | 3857 b.data (), 1, 0.0, c, 1 |
3854 F77_CHAR_ARG_LEN (1))); | 3858 F77_CHAR_ARG_LEN (1))); |
3855 } | 3859 } |
3856 else if (a_nr == 1 && ! conja) | 3860 else if (a_nr == 1 && ! conja && ! conjb) |
3857 { | 3861 { |
3858 const char *crevtransb = get_blas_trans_arg (! transb, conjb); | 3862 const char *crevtransb = get_blas_trans_arg (! transb, conjb); |
3859 F77_XFCN (zgemv, ZGEMV, (F77_CONST_CHAR_ARG2 (crevtransb, 1), | 3863 F77_XFCN (zgemv, ZGEMV, (F77_CONST_CHAR_ARG2 (crevtransb, 1), |
3860 ldb, tdb, 1.0, b.data (), ldb, | 3864 ldb, tdb, 1.0, b.data (), ldb, |
3861 a.data (), 1, 0.0, c, 1 | 3865 a.data (), 1, 0.0, c, 1 |