Mercurial > forge
changeset 6895:c4c1db99b77c octave-forge
Use 'diag (A)*B' instead of 'dmult (A, B)'
author | hauberg |
---|---|
date | Sat, 20 Mar 2010 19:50:32 +0000 |
parents | 95ef194c9af4 |
children | a56dbcaed9c6 |
files | main/econometrics/inst/poisson.m main/econometrics/inst/poisson_moments.m main/econometrics/inst/scale_data.m |
diffstat | 3 files changed, 3 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/main/econometrics/inst/poisson.m Sat Mar 20 19:44:02 2010 +0000 +++ b/main/econometrics/inst/poisson.m Sat Mar 20 19:50:32 2010 +0000 @@ -20,6 +20,6 @@ x = data(:,2:columns(data)); lambda = exp(x*theta); log_density = -lambda + y .* (x*theta) - lgamma(y+1); - score = dmult(y - lambda,x); + score = diag (y - lambda) * x; if (otherargs{1} == 1) score = "na"; endif # provide analytic score or not? endfunction
--- a/main/econometrics/inst/poisson_moments.m Sat Mar 20 19:44:02 2010 +0000 +++ b/main/econometrics/inst/poisson_moments.m Sat Mar 20 19:50:32 2010 +0000 @@ -22,5 +22,5 @@ w = data(:, k+2:columns(data)); lambda = exp(x*theta); e = y ./ lambda - 1; - m = dmult(e, w); + m = diag(e) * w; endfunction
--- a/main/econometrics/inst/scale_data.m Sat Mar 20 19:44:02 2010 +0000 +++ b/main/econometrics/inst/scale_data.m Sat Mar 20 19:50:32 2010 +0000 @@ -38,7 +38,7 @@ # don't take out mean if the column is a constant, to preserve identification b = b .* test; b = A*b; - bb = dmult(b, ones(k,n))'; + bb = (diag(b) * ones(k,n))'; endif zz = z*A + bb; scalecoefs = {A,b};