# String/vector concatenation symbol

I'm looking for a math symbol to represent the concatenation of two vectors: if x = (x1, x2) and y = (y1, y2) then x ? y = (x1, x2, y1, y2).

I'm not very much at home in vector calculus, so I don't know if there's a standard symbol for this. If not, then I remember from formal language theory that there's a round caret-like symbol for concatenating two strings, which would be fine for my purposes. I can't find it, though; the sources I've found online all recommend using juxtaposition for concatenation, but I'm afraid this would be mistaken for the dot product.

I'm using elsarticle.cls, so amsmath and amssymb are both available.

• I math it is often written as (x,y), with an implicit identification of ℝ²×ℝ² and ℝ^4. – Caramdir Jan 6 '11 at 15:42
• Ben seems to already have done that. Harold's suggestion is also common, using (more or less) the same identification. – Caramdir Jan 6 '11 at 19:04
• Here is the same question on Math SE. – Albert Oct 21 '14 at 13:40
• \frown! That's it. – Fred Foo Oct 21 '14 at 16:12

Since a vector in R^2 is written (1, 2), it would make sense to concatenate two vectors a and b as (a,b).

• This is also how it's done in some programming languages, e.g. Matlab. – Ben Jan 8 '11 at 0:36

Personally, I would use \oplus for this. I would think of it as a direct sum of two vectors (as a member of the direct sum of two vector spaces).

You can use two pluses joined together, which is rather intuitive

\documentclass[a4paper]{article}
\newcommand{\concat}{\ensuremath{+\!\!\!\!+\,}}
\begin{document}
$a \concat b$
\end{document}


Another symbol is ||

 $p\|q=p b^{l(q)}+q$


The \| command gives a double vertical bar.

Computer science often uses the ⧺ (U+29FA) symbol. (String concatenation is ++ in the Haskell programming language, to represent this.)

This is \doubleplus in unicode-math and the legacy packages stix and stix2. Or, in the modern toolchain, you can use the Unicode symbol in your source.