
From:  Marco Caliari 
Subject:  Re: Mark a matrix "upper" in a octfile 
Date:  Mon, 8 Sep 2014 12:26:52 +0200 (CEST) 
Useragent:  Alpine 2.10 (DEB 1266 20090714) 
On Fri, 5 Sep 2014, David Bateman wrote:
Le 5 sept. 2014 à 13:56, Marco Caliari <address@hidden> a écrit : Dear all, I have to take the upper triangular part of a matrix in a octfile. Later, I have to perform RowVectorMatrix products with it. This is my code // given Matrix F(m,m) // take the upper triangular part for (octave_idx_type j = 0; j < m; j++) { for (octave_idx_type i = j+1; i < m; i++) F(i,j) = 0.0; } RowVector d = F.row(0); // make RowVectormatrix products for (octave_idx_type i = 0; i < s1; i++) d = d * F; My question is: if I mark the matrix "upper" (but do not know how to do it), is the RowVectorMatrix product faster (for instance BLAS dtrmv is used instead of general dgemv)?Look at the matrix_type function for how to mark the matrix as upper. However, marking it as such is only useful at this point for the solve function or slash operators.
Thanks David,I do not know how to use matrix_type in a oct file, but I understand it is useless to my purpose. It seems that Matlab does not use dtrmv for triangular matrices, too (I see the same cputime). Nevertheless, it could be an interesting new feature in Octave, maybe not so difficult to implement.
Cheers, Marco
[Prev in Thread]  Current Thread  [Next in Thread] 