# Strange behavior of vec() in Julia 0.7

**URL:** <https://discourse.julialang.org/t/strange-behavior-of-vec-in-julia-0-7/23667>\
**Category:** Specific Domains\
**Tags:** linearalgebra\
**Created:** [April 29, 2019, 8:06pm UTC](https://discourse.julialang.org/t/strange-behavior-of-vec-in-julia-0-7/23667 "2019-04-29T20:06:37Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![adriano.vilela](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/adriano.vilela/32/7596_2.png) [@adriano.vilela](https://discourse.julialang.org/u/adriano.vilela)\
**Post date:** [April 29, 2019, 8:06pm UTC](https://discourse.julialang.org/t/strange-behavior-of-vec-in-julia-0-7/23667/1 "2019-04-29T20:06:37Z")

</div>

I just got bitten by some unexpected behavior of `vec()` in julia 0.7. When I run the code below

```julia
N = 3
A = randn(N,N) + im .* randn(N,N)
x = randn(N)
z = x'*A
vec(z)

```

I get this:

```julia
julia> N = 3
3

julia> A = randn(N,N) + im .* randn(N,N)
3×3 Array{Complex{Float64},2}:
  0.382542-0.266179im -1.69847+1.86236im 1.28885+0.694938im
 -0.177623-0.213032im -0.607246+0.719279im -2.87126+1.34141im 
  0.565711-0.303921im -1.38508+0.684031im 0.416797-0.26476im 

julia> x = randn(N)
3-element Array{Float64,1}:
 -0.00922375082321524
 -0.0683463031968038 
 -0.29722269002054613

julia> z = x'*A
1×3 LinearAlgebra.Adjoint{Complex{Float64},Array{Complex{Float64},1}}:
 -0.159531+0.107347im 0.468845-0.269648im 0.0604705-0.0193976im

julia> vec(z)
3-element Array{Complex{Float64},1}:
  -0.1595307578638994 - 0.10734716516787285im 
   0.4688454575032254 + 0.2696475874174454im  
 0.060470534170491766 + 0.019397566097290375im

```

Notice that `vec()`, besides reshaping `z`, also computes its conjugate. Things work differently in 1.1 though:

```julia
julia> N = 3
3

julia> A = randn(N,N) + im .* randn(N,N)
3×3 Array{Complex{Float64},2}:
    2.30835+1.173im 0.777158-2.76038im -0.434369+1.84468im 
 -0.0812661-0.674808im 1.3555+0.468595im -0.104688+0.238554im
  -0.649005+0.0857933im -0.556948-0.524496im -1.19101+0.45196im 

julia> x = randn(N)
3-element Array{Float64,1}:
 -0.10756799853360234
 -1.5958910088917135 
 -0.9507274395938174 

julia> z = x'*A
1×3 LinearAlgebra.Adjoint{Complex{Float64},Array{Complex{Float64},1}}:
 0.498415+0.869177im -1.71732+0.0477544im 1.34612-1.00883im

julia> vec(z)
3-element reshape(::LinearAlgebra.Adjoint{Complex{Float64},Array{Complex{Float64},1}}, 3) with eltype Complex{Float64}:
 0.4984145172595025 + 0.8691770844949784im  
 -1.717324546759147 + 0.047754399003301196im
 1.3461160206833889 - 1.0088254082365649im  

```

Since the behavior of `vec()` changed from 0.7 to 1.1 (I didn’t test this on 1.0), I guess this has been discussed somewhere. I did a quick search but couldn’t find anything though. Does anybody know anything about this?

---

<div class="post-metadata">

**Author:** ![mbauman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mbauman/32/31082_2.png) [@mbauman](https://discourse.julialang.org/u/mbauman)\
**Post date:** [April 29, 2019, 8:41pm UTC](https://discourse.julialang.org/t/strange-behavior-of-vec-in-julia-0-7/23667/2 "2019-04-29T20:41:05Z")

</div>

This was a bug and fixed shortly after 1.0 was released. I think it was incorporated into 1.0.1.

[https://github.com/JuliaLang/julia/pull/28568](https://github.com/JuliaLang/julia/pull/28568)

---

<div class="post-metadata">

**Author:** ![adriano.vilela](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/adriano.vilela/32/7596_2.png) [@adriano.vilela](https://discourse.julialang.org/u/adriano.vilela)\
**Post date:** [April 29, 2019, 10:27pm UTC](https://discourse.julialang.org/t/strange-behavior-of-vec-in-julia-0-7/23667/3 "2019-04-29T22:27:58Z")

</div>

I see. Thanks!!!
