wolffd@0: function pot = dpot(domain, sizes, T) wolffd@0: % DPOT Make a discrete (sparse) potential. wolffd@0: % pot = dpot(domain, sizes, T, spar) wolffd@0: % wolffd@0: % sizes(i) is the size of the i'th domain element. wolffd@0: % T defaults to all 1s. wolffd@0: wolffd@0: %assert(length(sizes) == length(domain)); wolffd@0: wolffd@0: pot.domain = domain(:)'; % so we can see it when we display wolffd@0: if nargin < 3 wolffd@0: pot.T = myones(sizes); wolffd@0: %pot.T = ones(1,prod(sizes)); % 1D vector wolffd@0: else wolffd@0: if isempty(T) wolffd@0: pot.T = []; wolffd@0: else wolffd@0: if issparse(T) wolffd@0: pot.T = T; wolffd@0: else wolffd@0: pot.T = myreshape(T, sizes); wolffd@0: end wolffd@0: end wolffd@0: end wolffd@0: pot.sizes = sizes(:)'; wolffd@0: pot = class(pot, 'dpot');