12
$\begingroup$

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.

$\endgroup$
  • 5
    $\begingroup$ Transpose[{{a,b},{c,d}}] $\endgroup$ – Timothy Wofford Dec 10 '13 at 7:55
  • 1
    $\begingroup$ OP wanted {{a,c},{b,d}} which is a concatenation by columns. $\endgroup$ – Frenzy Li Dec 10 '13 at 7:57
16
$\begingroup$

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]$,

$\endgroup$
11
$\begingroup$

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.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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