# How to initialize an empty 1x2-dimensional row-array in Julia?

**URL:** https://discourse.julialang.org/t/how-to-initialize-an-empty-1x2-dimensional-row-array-in-julia/41653
**Category:** New to Julia
**Tags:** question
**Created:** [June 18, 2020, 7:40am UTC](https://discourse.julialang.org/t/how-to-initialize-an-empty-1x2-dimensional-row-array-in-julia/41653 "2020-06-18T07:40:49Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![Dito](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dito/32/10039_2.png) [@Dito](https://discourse.julialang.org/u/Dito)
#### Post date: [June 18, 2020, 7:40am UTC](https://discourse.julialang.org/t/how-to-initialize-an-empty-1x2-dimensional-row-array-in-julia/41653/1 "2020-06-18T07:40:49Z")

</div>

I can do this:

```julia
julia> vec=[]
0-element Array{Any,1}

julia> for i in 1:10
               global vec=vcat(vec,i)
       end

julia> vec
10-element Array{Any,1}:
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10

```

but how can I create row vector like this? - more precisely : initialize 1x0-dimensional (row) array

```julia
julia> vec=[nothing]
1-element Array{Nothing,1}:
 nothing

julia> for i in 1:10
               global vec=hcat(vec,i)
       end

julia> vec
1×11 Array{Union{Nothing, Int64},2}:
 nothing 1 2 3 4 5 6 7 8 9 10

```

This doesn’t work ↓

```julia
              vec=reshape(vec,(0,1))

```

or this → ` reshape([],0,2) `

```julia
julia> vec=[]
0-element Array{Any,1}

julia> vec=reshape(vec,(0,1))
0×1 Array{Any,2}

julia> for i in 1:10
               global vec=hcat(vec,i)
       end
ERROR: DimensionMismatch("mismatch in dimension 1 (expected 0 got 1)")

```

---

<div class="post-metadata">

### Author: ![StevenSiew](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stevensiew/32/218393_2.png) [@StevenSiew](https://discourse.julialang.org/u/StevenSiew)
#### Post date: [June 18, 2020, 8:02am UTC](https://discourse.julialang.org/t/how-to-initialize-an-empty-1x2-dimensional-row-array-in-julia/41653/2 "2020-06-18T08:02:08Z")

</div>

> [@Dito](#):
>
> initialize 1x0-dimensional (row) array

There is no such thing as a “initialize 1x0-dimensional (row) array”

You are asking for a matrix with 1 row and **ZERO** columns.

====  
Perhaps you mean a vector (or 1D array with 10 elements)

```julia
julia> [k for k in 1:10]
10-element Array{Int64,1}:
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10

```

Or a 1x10 matrix (or 2D array with 1x10 elements)

```julia
julia> reshape([k for k in 1:10],1,10)
1×10 Array{Int64,2}:
 1 2 3 4 5 6 7 8 9 10

```

Or a 10x1 matrix (or 2D array with 10x1 elements)

```julia
julia> reshape([k for k in 1:10],10,1)
10×1 Array{Int64,2}:
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10

```

---

<div class="post-metadata">

### Author: ![greg\_plowman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/greg_plowman/32/8100_2.png) [@greg\_plowman](https://discourse.julialang.org/u/greg_plowman)
#### Post date: [June 18, 2020, 8:02am UTC](https://discourse.julialang.org/t/how-to-initialize-an-empty-1x2-dimensional-row-array-in-julia/41653/3 "2020-06-18T08:02:18Z")

</div>

Not exactly sure what you want, but would this work for you?

`Array{Int,2}(undef, 1, 0)`

```julia
x = Array{Int,2}(undef, 1, 0)
for i in 1:10
    global x = hcat(x, i)
end
x

```

```julia
1×10 Array{Int64,2}:
 1 2 3 4 5 6 7 8 9 10

```

---

<div class="post-metadata">

### Author: ![roble](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/roble/32/12303_2.png) [@roble](https://discourse.julialang.org/u/roble)
#### Post date: [June 18, 2020, 8:29am UTC](https://discourse.julialang.org/t/how-to-initialize-an-empty-1x2-dimensional-row-array-in-julia/41653/5 "2020-06-18T08:29:16Z")

</div>

In terms of linear algebra you would usually produce a _row vector_ with transposition.

```julia
julia> col_a = collect(1:4)
4-element Array{Int64,1}:
 1
 2
 3
 4

julia> row_a = a'
1×4 Adjoint{Int64,Array{Int64,1}}:
 1 2 3 4

```

this can be used for a dot product which results in a scalar value:

```julia
julia> row_a*col_a
30

```

For real valued vectors it is common to use the `'` operator to do the transpose. However on complex valued vectors you should use `transpose()`.

---

<div class="post-metadata">

### Author: ![StevenSiew](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stevensiew/32/218393_2.png) [@StevenSiew](https://discourse.julialang.org/u/StevenSiew)
#### Post date: [June 18, 2020, 8:30am UTC](https://discourse.julialang.org/t/how-to-initialize-an-empty-1x2-dimensional-row-array-in-julia/41653/6 "2020-06-18T08:30:14Z")

</div>

```julia
julia> x = Array{Int,2}(undef, 0,1)
0×1 Array{Int64,2}

julia> for i in 1:10
       global x = vcat(x,i)
       end

julia> x
10×1 Array{Int64,2}:
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10

```

I must admit, I am still very very uncomfortable with  
0×1 Array{Int64,2}

It just feels wrong to me

---

<div class="post-metadata">

### Author: ![Dito](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dito/32/10039_2.png) [@Dito](https://discourse.julialang.org/u/Dito)
#### Post date: [June 18, 2020, 8:31am UTC](https://discourse.julialang.org/t/how-to-initialize-an-empty-1x2-dimensional-row-array-in-julia/41653/7 "2020-06-18T08:31:31Z")

</div>

Okay 1xN Vector (Matrix) but with no elements… like

```julia
vec=[]

```

So there is such thing.  
Because you can’t do this :

```julia
julia> vec=[]
0-element Array{Any,1}

julia> for i in 1:10
               global vec=hcat(vec,i)
       end
ERROR: DimensionMismatch("mismatch in dimension 1 (expected 0 got 1)")
Stacktrace:
 [1] hcat(::Array{Any,1}, ::Int64) at ./abstractarray.jl:1421
 [2] top-level scope at ./REPL[211]:2

```

---

<div class="post-metadata">

### Author: ![StevenSiew](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stevensiew/32/218393_2.png) [@StevenSiew](https://discourse.julialang.org/u/StevenSiew)
#### Post date: [June 18, 2020, 8:33am UTC](https://discourse.julialang.org/t/how-to-initialize-an-empty-1x2-dimensional-row-array-in-julia/41653/8 "2020-06-18T08:33:23Z")

</div>

I have never done any mathematics where I used a matrix which has no elements in the matrix.

---

<div class="post-metadata">

### Author: ![GunnarFarneback](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gunnarfarneback/32/1827_2.png) [@GunnarFarneback](https://discourse.julialang.org/u/GunnarFarneback)
#### Post date: [June 18, 2020, 11:57am UTC](https://discourse.julialang.org/t/how-to-initialize-an-empty-1x2-dimensional-row-array-in-julia/41653/9 "2020-06-18T11:57:02Z")

</div>

Since it has no elements, you can use any constructor that has the right type. All of these are equivalent:

```julia
Array{Int, 2}(undef, 1, 0)
zeros(Int, 1, 0)
ones(Int, 1, 0)
fill(0, 1, 0)
fill(-4711, 1, 0)

```
