Suppose we want to construct one large vector
x and three smaller vectors
x3 such that a relationship
x = [x1; x2; x3] is always maintained. Provided that each of the smaller vectors has 100 entries, this can be achieved by
julia> x = rand(300); julia> x1 = @view(x[1:100]); x2 = @view(x[101:200]); x3 = @view(x[201:300]);
Here, real memory is allocated to
x3 are just the views the portions of this memory.
What I would like achieve is something opposite: I would like to create three independent vectors
x3 first and construct
x such that its each third views one of the memory allocated to
x3. In other words, I would like to do something like
julia> x1 = rand(100); x2 = rand(100); x3 = rand(100); julia> x = [@view(x1); @view(x2); @view(x3)];
though this code does not work.
Does this capability already exist in Julia, or are there any packages doing this?