Basis of the row-space of a matrix with non-negative entries.

424 Views Asked by At

Consider a matrix $A \in \mathbb{R}^{n \times m}$ such that all entries are non-negative. Denote the rank of $A$ as $k$. I am mostly interested in cases where $k \ll n$, but this probably isn't important.

There is a well known elementary result that we can take any set of $k$ linearly independent rows of $A$ (basis of the row space) and obtain all other rows by some linear combination (possibly with negative coefficients) of the rows from this set.

I am interested in the following question: is it possible to find a set of $k$ non-negative vectors such that all rows of $A$ van be obtained by a conical combination of vectors from the set? If so, is it possible to construct this set as a subset of the rows of $A$?

How is such set called? A conical basis?

If the answer to the above is negative, I am also interested in the existence of sets of size O($k$).

In any case, I am very interested in a constructive algorithm for finding such sets. Ideally, I would like something like the SVD for non-negative matrices.

1

There are 1 best solutions below

2
On BEST ANSWER

Yes, there exists a smallest such subset of the set of rows. The existence of a minimal one is trivial, the uniqueness follows from the fact that you are using positive combinations so there are no cancellations.

What you have is this: the rows of the matrix span a cone. It is not the full space since the vector all lie in the positive hyperoctant ( in another cone already). This cone has a smallest system of generators (unique up to proportionality) and it will be a subset of the set of rows.

This is all standard convex analysis. Some books that I recall are: Schrijver (linear programming...) and also Rockafellar (convex...). Schrijver has an algorithmic proof.