# How to combine two vectors into a matrix by columns?

I know it may sounds idiot, but I've been looking through the document, and couldn't find a way to combine two vectors say {a, b} and {c, d} into {{a, c}, {b, d}}.

Thanks all.

-
Transpose[{{a,b},{c,d}}] – Timothy Wofford Dec 10 '13 at 7:55
OP wanted {{a,c},{b,d}} which is a concatenation by columns. – FrenzY DT. Dec 10 '13 at 7:57

## 2 Answers

You are treating $A$ and $B$ as column vectors and combining them column to column, but if you just bracket the two vectors, you are combining them row to row. A final Transpose will do the trick.

A = {a, b};
B = {c, d};
NotYourResult = {A,B}
Result = Transpose[{A, B}]


where NotYourResult is assigned {{a,b},{c,d}} or $\left[ {\begin{array}{cc} a & b \\ c & d \\ \end{array} } \right]$,

and Result is assigned {{a,c},{b,d}} or $\left[ {\begin{array}{cc} a & c \\ b & d \\ \end{array} } \right]$,

-
Thanks for reminding ^_^ – MUU Dec 10 '13 at 13:27

Thread can be useful, too:

A = {a, b};
B = {c, d};

Thread[{A, B}]


{{a, c}, {b, d}}

The canonical Q&A for this kind of stuff probably is Elegant operations on matrix rows and columns.

-
Thanks for supplement – MUU Dec 10 '13 at 13:28