Transformers have no built-in notion of order — **positional encodings** inject position information into token embeddings.
PE(pos, 2i) = sin(pos / 10000^(2i/d))PE(pos, 2i+1) = cos(pos / 10000^(2i/d))positional_encoding(pos=0, d_model=4) → [0.0, 1.0, 0.0, 1.0] # i=0: sin(0)=0, cos(0)=1 # i=1: sin(0)=0, cos(0)=1
Round to **5 decimal places**.
Test Cases (2 visible · 1 hidden)
Case 1: Position 0
Input: positional_encoding(0, 4)
Expected: [0.0, 1.0, 0.0, 1.0]
Case 2: Position 1
Input: positional_encoding(1, 4)
Expected: [0.84147, 0.5403, 0.01, 0.99995]
⌘↵ Run · ⌘⇧↵ Submit