ITE / code / IPA / optimization / cost_Jacobi_coordinate_pair.m

function [cost] = cost_Jacobi_coordinate_pair(Y,co,cost_type)
%Estimates the ICA cost (cost) of signal Y (2xnumber of samples) for a given cost object (co) and cost type ('I' or 'sumH').
%   Y: Y(:,t) is the t^th sample.
%Copyright (C) 2012 Zoltan Szabo ("", "szzoli (at) cs (dot) elte (dot) hu")
%This file is part of the ITE (Information Theoretical Estimators) Matlab/Octave toolbox.
%ITE is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
%the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
%This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
%MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
%You should have received a copy of the GNU General Public License along with ITE. If not, see <>.

    if size(Y,1)~=2;
        error('The size of Y is not correct, it should be: 2 x number of samples.');

switch cost_type
    case 'sumH'
        H1 = H_estimation(Y(1,:),co);
        H2 = H_estimation(Y(2,:),co);
        cost = H1 + H2;
    case 'I'
        cost = I_estimation(Y,[1;1],co);
        error('cost type=?');