I'm just trying to replicate a claim made in the following paper, Finding Correlated Biclusters from Gene Expression Data, which is:

Proposition 4. If $X_{IJ}=R_{I}C^{T}_{J}$. then we have:

i. If $R_{I}$ is a perfect bicluster with additive model, then $X_{IJ}$ is a perfect bicluster with correlation on columns;
ii. If $C_J$ is a perfect bicluster with additive model, then $X_{IJ}$ is a perfect bicluster with correlation on rows;
iii. If both $R_I$ and $C_J$ are perfect biclusters with additive model, then $X_{IJ}$ is a perfect correlated bicluster.

These propositions can be easily proved...

... but of course, they don't prove it.

I'm using some of the simple examples in the paper plus base + custom R code to see if I can demonstrate this Proposition.

corbic <- matrix(c(0,4,-4,2,2,-2,6,0,4,-8,16,-2,-2,10,-14,4), ncol=4)

(from Table 1F)

some custom code to convert standard X = $UdV^T$ svd form to $X=RC^{T}$ as described in the paper:

svdToRC <- function(x, ignoreRank = FALSE, r = length(x$d), zerothresh=1e-9) {
#convert standard SVD decomposed matrices UEV' to RC' form
#x -> output of svd(M)
#r -> rank of matrix (defaults to length of singular values vector)
            # but really is the number of non-zero singular values
#ignoreRank -> return the full decomposition (ignore zero singular values)
#zerothresh -> how small is zero?

    R <- with(x, t(t(u) * sqrt(d)))
    C <- with(x, t(t(v) * sqrt(d)))

    if (!ignoreRank) {
        ind <- which(x$d >= zerothresh)
    } else {
        ind <- 1:r

    return(list(R=as.matrix(R[,ind]), C=as.matrix(C[,ind])))

apply this function to the dataset:

 > svdToRC(svd(corbic))
           [,1]       [,2]
[1,]  0.8727254 -0.9497284
[2,] -2.5789775 -1.1784221
[3,]  4.3244283 -0.7210346
[4,] -0.8531261 -1.0640752

          [,1]       [,2]
[1,] -1.092343 -1.0037767
[2,]  1.223860 -0.9812343
[3,]  3.540063 -0.9586919
[4,] -3.408546 -1.0263191

Unless I'm hallucinating, this matrices are not additive, even though corbic exhibits perfect correlation between rows and columns. It seems strange that the example they provide does exhibit the property they said it should... unless I'm missing some kind of pre- or post- svd transformation step?

  • 3
    $\begingroup$ Hi, zzk: It might help to briefly give the definition of perfect bicluster here since (a) not everyone may be able to access the paper and (b) it can mean a couple of different things depending on the generality one is assuming. $\endgroup$
    – cardinal
    Aug 26, 2012 at 21:43
  • 1
    $\begingroup$ basically, the absolute value of the pairwise correlation scores between all rows vs rows and columns vs columns of the matrix are 1. $\endgroup$
    – zzk
    Aug 26, 2012 at 21:46
  • 3
    $\begingroup$ I'm confused. Doesn't 4iii say that P(R), P(C), additivity => P(X)? (I'm abbreviating "Y is a perfect bicluster" as P(Y)). It seems you're going in the other direction, expecting that additivity from the other conditions. Please explain more. $\endgroup$ Aug 28, 2012 at 21:18
  • $\begingroup$ Stumpy - I'm expecting additivity in R & C because the I know the matrix I supply (corbic) exhibits perfect correlation - its the perfect bicluster as given in the paper itself. $\endgroup$
    – zzk
    Aug 29, 2012 at 16:19
  • 6
    $\begingroup$ I'm still thinking you're going in the wrong direction. 4iii doesn't say that if X is a perfectly correlated bicluster then R and C will be additive. The implication goes in the other direction. Now, I agree that it's weird that the example they give doesn't seem to jive with the theorems it's next to. Perhaps there is some other information you could provide? Is there some other theorem that goes in the other direction? $\endgroup$ Aug 31, 2012 at 7:12

1 Answer 1


Note that 'bicluster' in this article refers to a subset of a matrix, "a subset of rows which exhibit similar behavior across a subset of columns, or vice versa." Identification of biclusters is commonly done in data mining algorithms. The authors are prosing a new 'correlated bicluster model' that is different from previous models used to identify these subsets. I know nothing about genetics, but the confusion here seems pretty clear and to come from two sources:

1. Use of the word 'additive'

There is nothing in this paper that implies that the two matrices given in the function's output should be 'additive', if by 'additive', additive inverses is what is meant by OP. The authors are not using the word additive in this sense. They are referring to obtaining a bicluster with an additive model, "where each row or column can be obtained by adding a constant to another row or column."

2. Misreading Proposition 4.3

Following from the comment by @StumpyJoePete, the proposition says that if both $R_I$ and $C_J$ are perfect biclusters with an additive model, then $X_{IJ}$ is a perfect correlated bicluster. The authors do not say that the opposite will be true. The authors do not argue that if $X_{IJ}$ is a perfect correlated bicluster, then $R_I$ and $C_J$ will be additive -- in either sense of the word 'additive'. They're not saying that $R_I$ and $C_J$ should be inversely additive or that they should be able to be fit with an additive model.

*Also, the example data comes from a completely different section of the paper than the proposition discussed in the question.

  • $\begingroup$ It's great to see the [by far] the most upvoted unanswered question on our website finally answered! +1 even though I haven't read the paper and cannot vouch that what you wrote is correct; but it does seem reasonable. $\endgroup$
    – amoeba
    May 17, 2016 at 13:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.