1function SS = spaceClosedMultiCS(M, N, chains)
2% SS = SPACECLOSEDMULTICS(M, N, CHAINS)
4% Copyright (c) 2012-2026, Imperial College London
7% State space
for closed multiclass CQN with
class-switching
10chainInitPos = cell(1,C);
12 inchain=find(chains(c,:));
13 chainInitPos{c} = multichoose(length(inchain),sum(N(inchain)));
16chainInitPosLen = cellfun(@(c) size(c,1),chainInitPos)-1;
17v = pprod(chainInitPosLen);
21 subN((end+1):(end+size(chainInitPos{c},2))) = chainInitPos{c}(v(c)+1,:);
23 SS = [SS; State.spaceClosedMulti(M, subN)];
24 v = pprod(v,chainInitPosLen);