You can combine scalar variables into a vector-valued variable using hcat or vcat.
julia> using Convex
julia> import SCS
julia> x = Variable(1)
Variable
size: (1, 1)
sign: real
vexity: affine
id: 351…156
julia> y = Variable(1)
Variable
size: (1, 1)
sign: real
vexity: affine
id: 464…161
julia> z = Variable(1)
Variable
size: (1, 1)
sign: real
vexity: affine
id: 749…425
julia> problem = minimize(x + y + z, norm(hcat(x, y, z)) <= 1)
minimize
└─ + (affine; real)
├─ real variable (id: 351…156)
├─ real variable (id: 464…161)
└─ real variable (id: 749…425)
subject to
└─ <= constraint (convex)
├─ norm2 (convex; positive)
│ └─ hcat (affine; real)
│ ├─ …
│ ├─ …
│ └─ …
└─ 1
status: `solve!` not called yet
julia> solve!(problem, SCS.Optimizer)
------------------------------------------------------------------
SCS v3.2.3 - Splitting Conic Solver
(c) Brendan O'Donoghue, Stanford University, 2012
------------------------------------------------------------------
problem: variables n: 5, constraints m: 6
cones: z: primal zero / dual free vars: 1
l: linear vars: 1
q: soc vars: 4, qsize: 1
settings: eps_abs: 1.0e-04, eps_rel: 1.0e-04, eps_infeas: 1.0e-07
alpha: 1.50, scale: 1.00e-01, adaptive_scale: 1
max_iters: 100000, normalize: 1, rho_x: 1.00e-06
acceleration_lookback: 10, acceleration_interval: 10
lin-sys: sparse-direct-amd-qdldl
nnz(A): 9, nnz(P): 0
------------------------------------------------------------------
iter | pri res | dua res | gap | obj | scale | time (s)
------------------------------------------------------------------
0| 1.68e+01 1.68e+00 6.00e+01 -3.00e+01 1.00e-01 8.72e-05
50| 3.30e-06 1.39e-09 2.86e-06 -1.73e+00 1.00e-01 1.17e-04
------------------------------------------------------------------
status: solved
timings: total: 1.19e-04s = setup: 6.81e-05s + solve: 5.12e-05s
lin-sys: 9.65e-06s, cones: 5.73e-06s, accel: 2.43e-06s
------------------------------------------------------------------
objective = -1.732052
------------------------------------------------------------------
julia> evaluate(x), evaluate(y), evaluate(z)
(-0.5773512251810479, -0.5773512251810479, -0.5773512251810479)