Both [a; b; c] and [a b c] do concatenation, the former vertical, the latter horizontal. You don’t want concatenation here, you want to build a vector of matrices. The correct way to build a vector is [a, b, c] (note: comma, not semicolon or space):
julia> [x^0, x, x^2, x^3, x^4, x^5, x^6]
7-element Vector{Matrix{Int64}}:
[1 0; 0 1]
[1 4; 1 1]
[5 8; 2 5]
[13 28; 7 13]
[41 80; 20 41]
[121 244; 61 121]
[365 728; 182 365]
You can also use broadcasting:
julia> Ref(x).^(0:6)
7-element Vector{Matrix{Int64}}:
[1 0; 0 1]
[1 4; 1 1]
[5 8; 2 5]
[13 28; 7 13]
[41 80; 20 41]
[121 244; 61 121]
[365 728; 182 365]
The Ref around x is necessary to ensure that it is treated like a scalar, and not broadcast over the individual elements.