number-wall-0.1.0.0: number-wall.cabal
cabal-version: 2.4
name: number-wall
version: 0.1.0.0
author: Owen Bechtel
maintainer: ombspring@gmail.com
category: Math, Algorithms, Graphics, Image
synopsis: Create number walls and save them as images
description:
A "number wall" is an infinite grid associated to some (bi-directional) sequence.
The "numbers" in the grid are usually either integers, or integers modulo some prime.
Number walls can be defined in terms of determinants, but can also be calculated
using a recursive algorithm.
.
Formally, let \( R \) be an integral domain. The number wall of a sequence
\( S : \mathbb{Z} \to R \) is an infinite grid of numbers \( W \), defined as follows:
.
\[
W(x, y) = \begin{cases}
0 & y < -1 \\
1 & y = -1 \\
S(x) & y = 0 \\
D(x, y) & y > 0
\end{cases}
\]
.
\[
D(x, y) = \begin{vmatrix}
S(x) & S(x + 1) & \ldots & S(x + y) \\
S(x - 1) & S(x) & \ldots & S(x + y - 1) \\
\vdots & \vdots & \ddots & \vdots \\
S(x - y) & S(x - y + 1) & \ldots & S(x)
\end{vmatrix}
\]
.
The values in any number wall satisfy the relation
\( W(x, y - 1) W(x, y + 1) + W(x - 1, y) W(x + 1, y) = W(x, y)^2 \),
and some other more complicated relations. You can use these to define a
recursive algorithm for generating number walls.
.
Here are some cool images created using the functions in this package:
.

.
See [this video](https://www.youtube.com/watch?v=NO1_-qptr6c) for more
information and fun facts.
homepage: https://github.com/UnaryPlus/number-wall
bug-reports: https://github.com/UnaryPlus/number-wall/issues
license: MIT
license-file: LICENSE
extra-source-files: CHANGELOG.md, README.md, collage.png
source-repository head
type: git
location: https://github.com/UnaryPlus/lambda.git
library
hs-source-dirs: src
default-language: Haskell2010
ghc-options: -W
exposed-modules: NumberWall
build-depends:
base >= 4.14.1.0 && < 5,
memoize >= 0.2.0 && < 1.2,
mod >= 0.1.1.0 && < 0.2,
semirings >= 0.5.2 && < 0.8,
JuicyPixels >= 3.3 && < 3.4
test-suite test
type: exitcode-stdio-1.0
hs-source-dirs: test
default-language: Haskell2010
ghc-options: -W
main-is: Main.hs
build-depends:
base,
number-wall