# Broadcasting

**URL:** https://discourse.julialang.org/t/broadcasting/60350
**Category:** New to Julia
**Tags:** arrays, broadcasting
**Created:** [April 30, 2021, 9:37pm UTC](https://discourse.julialang.org/t/broadcasting/60350 "2021-04-30T21:37:56Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![lancejnelson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lancejnelson/32/21898_2.png) [@lancejnelson](https://discourse.julialang.org/u/lancejnelson)
#### Post date: [April 30, 2021, 9:37pm UTC](https://discourse.julialang.org/t/broadcasting/60350/1 "2021-04-30T21:37:56Z")

</div>

I’m trying to understand broadcasting better. Here is a simple task I was working on recently:

```julia
function basis(n,x)
    return cos(n * pi * x)
end 

x = rand(10)

samples = [basis.(n,x) for n=1:5]

```

1- I was hoping to produce a 10 x 5 matrix, but it was an array of arrays???

2- Can I build the whole matrix with broadcasting?

---

<div class="post-metadata">

### Author: ![Oscar\_Smith](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oscar_smith/32/25343_2.png) [@Oscar\_Smith](https://discourse.julialang.org/u/Oscar_Smith)
#### Post date: [April 30, 2021, 9:39pm UTC](https://discourse.julialang.org/t/broadcasting/60350/2 "2021-04-30T21:39:52Z")

</div>

The reason you got an `Array{Array}` is because `basis.(n,x)` creates an Array, and you put it inside an array comprehension. What you want is

```julia
x = rand(10)
 n=(1:5)'
basis.(n,x)

```

---

<div class="post-metadata">

### Author: ![lancejnelson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lancejnelson/32/21898_2.png) [@lancejnelson](https://discourse.julialang.org/u/lancejnelson)
#### Post date: [April 30, 2021, 9:41pm UTC](https://discourse.julialang.org/t/broadcasting/60350/3 "2021-04-30T21:41:51Z")

</div>

Whoa!! Cool. So is

```julia

n = (1:5)'

```

just a row vector? The prime just transposes the vector?

---

<div class="post-metadata">

### Author: ![Oscar\_Smith](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oscar_smith/32/25343_2.png) [@Oscar\_Smith](https://discourse.julialang.org/u/Oscar_Smith)
#### Post date: [April 30, 2021, 9:42pm UTC](https://discourse.julialang.org/t/broadcasting/60350/4 "2021-04-30T21:42:54Z")

</div>

Technically it’s a adjoint (transpose + complex conjugate), but for real numbers, that’s just a transpose.

Other than that technicality, you are correct.

---

<div class="post-metadata">

### Author: ![lancejnelson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lancejnelson/32/21898_2.png) [@lancejnelson](https://discourse.julialang.org/u/lancejnelson)
#### Post date: [April 30, 2021, 9:47pm UTC](https://discourse.julialang.org/t/broadcasting/60350/5 "2021-04-30T21:47:25Z")

</div>

Very cool. I’m guessing that the parentheses are only needed because of the adjoint. Can you always treat a UnitRange object as a column vector?

---

<div class="post-metadata">

### Author: ![jling](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jling/32/212909_2.png) [@jling](https://discourse.julialang.org/u/jling)
#### Post date: [April 30, 2021, 9:50pm UTC](https://discourse.julialang.org/t/broadcasting/60350/6 "2021-04-30T21:50:55Z")

</div>

```julia
julia> UnitRange <: AbstractVector
true

```

yes

---

<div class="post-metadata">

### Author: ![bkamins](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bkamins/32/208538_2.png) [@bkamins](https://discourse.julialang.org/u/bkamins)
#### Post date: [April 30, 2021, 10:27pm UTC](https://discourse.julialang.org/t/broadcasting/60350/7 "2021-04-30T22:27:24Z")

</div>

One small technicality is that `(1:5)'` is an `AbstractMatirx`. urrently there is no concept of row vector in Julia. Vectors are always columnar. If you transpose them you get a matrix with one row.
