annotate src/samer/models/ICAScalerSync.java @ 0:bf79fb79ee13

Initial Mercurial check in.
author samer
date Tue, 17 Jan 2012 17:50:20 +0000
parents
children
rev   line source
samer@0 1 package samer.models;
samer@0 2
samer@0 3 import samer.maths.*;
samer@0 4 import samer.tools.*;
samer@0 5
samer@0 6 /**
samer@0 7 This is a task which subsumes a post-scaling into an ICA weight matrix
samer@0 8 */
samer@0 9
samer@0 10 public class ICAScalerSync extends AnonymousTask {
samer@0 11 Matrix W;
samer@0 12 VVector w;
samer@0 13
samer@0 14 public ICAScalerSync(ICA ica, DiffScaler sc) {
samer@0 15 W=ica.getWeightMatrix();
samer@0 16 w=sc.weights();
samer@0 17 }
samer@0 18
samer@0 19 public void run() {
samer@0 20 double [][] _W=W.getArray();
samer@0 21 double [] _w=w.array();
samer@0 22 int n=w.size();
samer@0 23 for (int i=0; i<n; i++) Mathx.mul(_W[i],_w[i]);
samer@0 24 Mathx.setAll(_w,1);
samer@0 25 w.changed();
samer@0 26 W.changed();
samer@0 27 }
samer@0 28 }