Closed jchiquet closed 5 years ago
Double checking: could it be that we incorrectly use, say, J <- ncol(Y)
somewhere in the code as the true J?
From the maths side, I'd say that what we did is correct, ie:
checking that 2J (= ncol(Y)) is larger than K (= number of subclones)
is really what we want to check for, because the matrix Z is K x 2J. So I'd argue it makes sense to keep that sanity check.
From the copy-number side, my intuition is that if we have J < K <= 2J then it may be that
ie again the sanity check K <= 2J makes sense.
From the optimization point of view, solving in W when the signal dimension M is equal to 2 can be achieved by binding column-wisely and row-wisely.
However, in this case, neither
nrow(Z)
norncol(Y)
is equal to J but to 2 x J. Hence, the documentation of the function is inconsistent and then we cannot test reliably for K <= J within the function.