[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Can .oct files do in-place matrix operations?
From: |
Dirk Laurie |
Subject: |
Can .oct files do in-place matrix operations? |
Date: |
Tue, 12 May 1998 18:56:17 +0200 (SAT) |
I have some old Matlab 3.5 files in which row and column rotations
are done in-place using .mex files. I.e. the .mex file for
rotate(A,ij,R,job)
does the equivalent of
A(ij,:)=R*A(ij,:); (job=1)
or A(:,ij)=A(:,ij)*R; (job=2)
or both (job=3),
where R is a 2x2 matrix and ij is a two-component index vector.
This speeded up my program by about 50%, I recall.
Now I get the impression that Octave will not allow me to do
this by an .oct file. It seems to require my returning the
changed A as an octave_value, which as far as I can make out
involves two full matrix assignments: one to make the local
copy of A that I modify, and one to assign it back to my
original matrix. Since rotation is an O(n) operation I will
probably not gain by doing this, or am I wrong?
Dirk
- Can .oct files do in-place matrix operations?,
Dirk Laurie <=