Генерация матрицы, содержащей все комбинации элементов, взятых из n векторов

Этот вопрос всплывает довольно часто в той или иной форме (см., Например,Вот или жеВот). Поэтому я решил представить его в общем виде и дать ответ, который мог бы послужить для дальнейшего использования.

Дано произвольное числоn векторов возможно разных размеров, генерироватьnматрица из столбцов, строки которой описывают все комбинации элементов, взятых из этих векторов (декартово произведение).

Например,

vectors = { [1 2], [3 6 9], [10 20] }

должен дать

combs = [ 1     3    10
          1     3    20
          1     6    10
          1     6    20
          1     9    10
          1     9    20
          2     3    10
          2     3    20
          2     6    10
          2     6    20
          2     9    10
          2     9    20 ]

Ответы на вопрос(4)

Ваш ответ на вопрос