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};