packages feed

apple-0.3.0.0: test/examples/ellipticFourier.apple

λxs.λys.λN.
  { sum ← [(+)/x]
  ; tieSelf ← [({.x)⊳x]; Δ ← ((-)\~) ∴ tieSelf
  ; dxs ⟜ Δ xs; dys ⟜ Δ ys
  ; dts ⟜ [√(x^2+y^2)]`dxs dys
  ; dxss ⟜ ((%)`dxs dts); dyss ⟜ ((%)`dys dts)
  ; pxs ← (+)Λ dxs; pys ← (+)Λ dys; pts ⟜ (+)Λₒ 0 dts; T ⟜}. pts
  ; coeffs ← λn.
    { n ⟜ ℝn; k ⟜ 2*n*𝜋%T
    ; cosDiffs ⟜ (-)\~((cos. ∴ (k*))'pts)
    ; sinDiffs ⟜ (-)\~((sin. ∴ (k*))'pts)
    ; c ⟜ T%(2*n^2*𝜋^2)
    ; aₙ ← c*sum ((*)`dxss cosDiffs)
    ; bₙ ← c*sum ((*)`dxss sinDiffs)
    ; cₙ ← c*sum ((*)`dyss cosDiffs)
    ; dₙ ← c*sum ((*)`dyss sinDiffs)
    ; (aₙ,bₙ,cₙ,dₙ)
    }
  ; dtss ⟜ (-)\~((^2)'pts)
  ; ppts ⟜ {: pts
  ; 𝜉 ← (-)`pxs ((*)`((%)`dxs dts) ppts)
  ; 𝛿 ← (-)`pys ((*)`((%)`dys dts) ppts)
  ; A ← (0.5*sum ((*)`((%)`dxs dts) dtss) + sum ((*)`𝜉 dts))%T
  ; C ← (0.5*sum ((*)`((%)`dys dts) dtss) + sum ((*)`𝛿 dts))%T
  ; (coeffs'(irange 1 N 1),A,C)
  }