rbmatlab 0.10.01
general/vecmat/gram_matrix.m
00001 function res = gram_matrix(X1,X2)
00002 %function res = gram_matrix(X1,X2)
00003 %
00004 % function computing a gram matrix between the two vector sets X1
00005 % and X2
00006 
00007 % Bernard Haasdonk 28.1.2009
00008 
00009 if nargin < 2
00010   X2 = X1;
00011 end;
00012 dim = size(X1,1);
00013 n1 = size(X1,2);
00014 n2 = size(X2,2);
00015 XX1 = repmat(reshape(X1,dim,n1,1),[1,1,n2]);
00016 XX2 = repmat(reshape(X2,dim,1,n2),[1,n1,1]);
00017 res = reshape(sum(XX1.*XX2,1),n1,n2);
00018 %| \docupdate 
All Classes Namespaces Files Functions Variables