% GET_EIGEN_BLOCK_YQY_A Obtain the eigen decomposition of the Hermitian % matrix, R, for the generating function such that % % R=[-T y] % [y' 0] % % where T is the positive-definite Toeplitz-like Block matrix % % [G,J,rowcol] = GET_EIGEN_BLOCK_YQY_A(M,hyp,y) % % Inputs: M : Time-series Inputs of Gaussian process, size nx1 % hyp : hyperparameters of the covariance function [g v] % y : Outcome from explanatory variables, size nx1 % % Outouts: G = Generates the Generating function (matrix) % J = J-unitary matrix, J=[I 0;0 -I] % rowcol = block-position % % Note that the covariance function used, is the usual convention, of % C(Z|a,g,v) = exp(-0.5*g*[Zi-Zj]^2) + v % % % (C) Gaussian Process Schur Toolbox 1.0 % (C) Copyright 2005-2007, Keith Neo % http://www.hamilton.ie function [G,J,rowcol]=get_eigen_block_yqy_a(M,hyp,y) [g_row,e_dec,g_toe]=eigen_tool(); rowcol=g_row(M); n=size(M,1); rk=size(rowcol,2)+1; n1=n+1; A=zeros(rk); B=zeros(n1,rk); B(1:n,1)=-g_toe(M,hyp,1); B(n1,1)=y(1); B(1:n,rk)=y; for k=2:rk-1 p=rowcol(k); tmp1=g_toe(M,hyp,p); tmp3=g_toe(M,hyp,p-1); tmp2=[0;tmp3(1:end-1,:)]; B(1:n,k)=tmp2-tmp1; B(n1,k)=y(p); end tmp0=zeros(n1,rk); for h=1:rk-1 p=rowcol(h); A(h,:)=B(p,:); tmp0(p,h)=1; end A(rk,:)=B(end,:); tmp0(n1,rk)=1; [G,J]=e_dec(A,B,tmp0);