function [QQ]=schur_invssts_qq(G,ord) % SCHUR_INVSSTS_QQ Generates the Generalised Schur's complement of the % Hermitian matrix, R, such that % % [ T+(v/a)I T I ] % R = [ T 0 I ] % [ 0 I 0 ] % % where T is a positive-definite strongly Toeplitz-like Block matrix. Note % that no hyperbolic rotation is implemented. % % QQ = SCHUR_INVSSTS_QQ(G,ord) % % Inputs: % G : generating matrix, size (3n)x(2rk) % ord : order of matrix % % Outputs: % QQ = returns N*{ (v/a)*inv(T*T) + inv(T) }*N' % % such that N is a transformation matrix, defined by ord. % % % (C) Gaussian Process SSTS Toolbox 1.0 % (C) Copyright 2006-2007, Keith Neo % http://www.hamilton.ie n=size(G,1); n3=n/3; rk=size(G,2)/2; d0=ceil(n3/(ord+1)); ind=(ord+1)*ones(d0,1); ind(1,1)=1; ind=cumsum(ind); dx=1; QQ=zeros(d0); pc=n3+1; for k=1:2*n3 g=G(1,:); %l=G*J*g'; l=G*[g(1,1:rk)'; -g(1,rk+1:end)']; d=l(1,1); if k>n3 pp=k-n3; pa=1+pc-pp; % pb=1+n-k; if dx2*n2 tmp(N-2*n2+1,:)=zeros(1,rk); end X=tmp-Gmp;