view minors.m @ 426:29944ea7674b feature/quantumTriangles

Updated the Shrodinger scheme to the new operator syntax
author Ylva Rydin <ylva.rydin@telia.com>
date Wed, 25 Jan 2017 17:14:17 +0100
parents 0a881a3dc9a9
children eaf557023fbe
line wrap: on
line source

function [minor, sub] = minors(A)
    [n, m] = size(A);

    if n ~= m
        error('A must be square');
    end

    sub = {};
    ks = {};

    ind = 1:n;
    for k = 1:n
        C = nchoosek(ind,k);
        for i = 1:size(C,1)
            ks{end + 1} = k;
            sub{end + 1} = A(C(i,:),C(i,:));
        end
    end

    for i = 1:length(sub)
        fprintf('%d:\n', ks{i});
        disp(sub{i})

        minor(i) = det(sub{i});
    end
end


% A is positive semidefinite if all minors are non-negative
% A is negative semidefinite if all odd minors are non-positive and all even minors are non-negative