19
$\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$
2
  • 5
    $\begingroup$ Transpose[{{a,b},{c,d}}] $\endgroup$ Dec 10, 2013 at 7:55
  • 1
    $\begingroup$ OP wanted {{a,c},{b,d}} which is a concatenation by columns. $\endgroup$
    – Frenzy Li
    Dec 10, 2013 at 7:57

2 Answers 2

26
$\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$
0
16
$\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$
0

Your Answer

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

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