public int size() { return matrices.size(); }
+ public void setKrank(Matrix k) { krank = krank.times(k); }
public void merge(BindingGroup<T> bg, Matrix m) {
if (bg==this) throw new Error();
for(HasBindingGroup hbg : bg.matrices.keySet()) {
matrices.put((T)hbg, bg.matrices.get(hbg).times(m));
hbg.bindingGroup = this;
}
+
+ Matrix v = getMatrix(bg.master, master);
+ krank = krank.times(v.inverse().times(bg.krank).times(v));
+
HashSet<HasBindingGroup> stuff = new HashSet<HasBindingGroup>();
for(HasBindingGroup hbg : bg.matrices.keySet())
stuff.add(hbg);