jblog
toc

Short brainfuck Primes

2019-08-10, post № 218

brainfuck, programming,

>[-]+>>[-]++>[-]<<<[>[-]+>>>>[-]<[-]<<[>>>+<+<<-]>>>[<<<+>>>-]>[-]<[-]<<[>>>+<+<<-]>>>[<<<+>>>-][-]+[>>>>[-]<[-]<<<<<[>>>>>>+<+<<<<<-]>>>>>>[<<<<<<+>>>>>>-]<<[-]+>[<->[-]]<[<<<->>>[-]]<<<<->>>>>[-]<[-]<<<<<<[>>>>>>>+<+<<<<<<-]>>>>>>>[<<<<<<<+>>>>>>>-]>[-]<[-]<<<<<<[>>>>>>>+<+<<<<<<-]>>>>>>>[<<<<<<<+>>>>>>>-][-]>[-]>[-]>>[-]<[-]<[>>+<+<-]>>[<<+>>-]>[-]<[-]<<[>>>+<+<<-]>>>[<<<+>>>-]>[-]<[-]<<<[>>>>+<+<<<-]>>>>[<<<<+>>>>-]>[-]<[-]<<<<<<<<<<<[>>>>>>>>>>>>+<+<<<<<<<<<<<-]>>>>>>>>>>>>[<<<<<<<<<<<<+>>>>>>>>>>>>-]>[-]<[-]<<<<<<<<[>>>>>>>>>+<+<<<<<<<<-]>>>>>>>>>[<<<<<<<<<+>>>>>>>>>-]<<<<<[-]>>>[>>>>[-]<[-]<<[>>>+<+<<-]>>>[<<<+>>>-]<<[-]+>[<->[-]]<[<<<<<[-]+>>>>>[-]]<-<-]>[-]<[-]<<<<<<<<<<<[>>>>>>>>>>>>+<+<<<<<<<<<<<-]>>>>>>>>>>>>[<<<<<<<<<<<<+>>>>>>>>>>>>-]>[-]<[-]<<<<<<<<[>>>>>>>>>+<+<<<<<<<<-]>>>>>>>>>[<<<<<<<<<+>>>>>>>>>-]<<<<[-]+>>[>-<-]>>>[-]<[-]<[>>+<+<-]>>[<<+>>-]<[<<<<->>>>[-]]<[-]<[-]<<<<<<<<<<<<[>>>>>>>>>>>>>+<+<<<<<<<<<<<<-]>>>>>>>>>>>>>[<<<<<<<<<<<<<+>>>>>>>>>>>>>-]>[-]<[-]<<<<<<<<<[>>>>>>>>>>+<+<<<<<<<<<-]>>>>>>>>>>[<<<<<<<<<<+>>>>>>>>>>-]<<<[-]>[>>>>[-]<[-]<<[>>>+<+<<-]>>>[<<<+>>>-]<<[-]+>[<->[-]]<[<<<[-]+>>>[-]]<-<-]>[-]<[-]<<<[>>>>+<+<<<-]>>>>[<<<<+>>>>-][-]+<[<<<<+>>>>>-<[-]]>[>>[-]<[-]<<<<[>>>>>+<+<<<<-]>>>>>[<<<<<+>>>>>-]<[<<<[<<<+>>>-]>>>[-]]<-]<<<<[-]+<[>-<[-]]>[<+>-]<[>>[-]<[-]<<<<<<<<<[>>>>>>>>>>+<+<<<<<<<<<-]>>>>>>>>>>[<<<<<<<<<<+>>>>>>>>>>-]<[>>>[-]<[-]<<<<<<<[>>>>>>>>+<+<<<<<<<-]>>>>>>>>[<<<<<<<<+>>>>>>>>-]<<[-]+>[<->[-]]<[<<<<<->>>>>[-]]<<<<<<->>>>>-]>[-]<[-]<<<<<<<<[>>>>>>>>>+<+<<<<<<<<-]>>>>>>>>>[<<<<<<<<<+>>>>>>>>>-]<[<<<<->>>>-]<<<+>>>>>[-]<[-]<<<<[>>>>>+<+<<<<-]>>>>>[<<<<<+>>>>>-]<<[-]+>[<->[-]]<[<<+>>[-]]<[-]>>[-]<[-]<[>>+<+<-]>>[<<+>>-]>[-]<[-]<<[>>>+<+<<-]>>>[<<<+>>>-]>[-]<[-]<<<[>>>>+<+<<<-]>>>>[<<<<+>>>>-]>[-]<[-]<<<<<<<<<<<[>>>>>>>>>>>>+<+<<<<<<<<<<<-]>>>>>>>>>>>>[<<<<<<<<<<<<+>>>>>>>>>>>>-]>[-]<[-]<<<<<<<<[>>>>>>>>>+<+<<<<<<<<-]>>>>>>>>>[<<<<<<<<<+>>>>>>>>>-]<<<<<[-]>>>[>>>>[-]<[-]<<[>>>+<+<<-]>>>[<<<+>>>-]<<[-]+>[<->[-]]<[<<<<<[-]+>>>>>[-]]<-<-]>[-]<[-]<<<<<<<<<<<[>>>>>>>>>>>>+<+<<<<<<<<<<<-]>>>>>>>>>>>>[<<<<<<<<<<<<+>>>>>>>>>>>>-]>[-]<[-]<<<<<<<<[>>>>>>>>>+<+<<<<<<<<-]>>>>>>>>>[<<<<<<<<<+>>>>>>>>>-]<<<<[-]+>>[>-<-]>>>[-]<[-]<[>>+<+<-]>>[<<+>>-]<[<<<<->>>>[-]]<[-]<[-]<<<<<<<<<<<<[>>>>>>>>>>>>>+<+<<<<<<<<<<<<-]>>>>>>>>>>>>>[<<<<<<<<<<<<<+>>>>>>>>>>>>>-]>[-]<[-]<<<<<<<<<[>>>>>>>>>>+<+<<<<<<<<<-]>>>>>>>>>>[<<<<<<<<<<+>>>>>>>>>>-]<<<[-]>[>>>>[-]<[-]<<[>>>+<+<<-]>>>[<<<+>>>-]<<[-]+>[<->[-]]<[<<<[-]+>>>[-]]<-<-]>[-]<[-]<<<[>>>>+<+<<<-]>>>>[<<<<+>>>>-][-]+<[<<<<+>>>>>-<[-]]>[>>[-]<[-]<<<<[>>>>>+<+<<<<-]>>>>>[<<<<<+>>>>>-]<[<<<[<<<+>>>-]>>>[-]]<-]<<<<[-]+<[>-<[-]]>[<+>-]<]<<<<<[-]+>>>>>>[-]<[-]<<<<[>>>>>+<+<<<<-]>>>>>[<<<<<+>>>>>-]<[<<<<<[-]>>>>>[-]]>[-]<[-]<<<[>>>>+<+<<<-]>>>>[<<<<+>>>>-]<[<<<<<[-]>>>>>[-]]<<<<<<[-]+>>>>[-]<[-]<<<<<[>>>>>>+<+<<<<<-]>>>>>>[<<<<<<+>>>>>>-]<<[-]+>[<->[-]]<[>>>[-]<[-]<<<<<[>>>>>>+<+<<<<<-]>>>>>>[<<<<<<+>>>>>>-]<<[-]+>[<->[-]]<[<<<[-]>>>[-]]<[-]]>[-]<[-]<[>>+<+<-]>>[<<+>>-]<[<<->>[-]]<<]<<->>[-]+<<[<<<->>>>>-<<[-]]>>[<[<<<<->>>>[-]]>-]<[-]<[-]<<<[>>>>+<+<<<-]>>>>[<<<<+>>>>-]<[>>>[-]++++++++++++++++>>[-]<[-]<<<<<[>>>>>>+<+<<<<<-]>>>>>>[<<<<<<+>>>>>>-]<<<<[-]>>>>>>[-]<[-]<<<[>>>>+<+<<<-]>>>>[<<<<+>>>>-]>[-]<[-]<<<[>>>>+<+<<<-]>>>>[<<<<+>>>>-]<<<[-]>[>>>>[-]<[-]<<[>>>+<+<<-]>>>[<<<+>>>-]<<[-]+>[<->[-]]<[<<<[-]+>>>[-]]<-<-][-]+<[>-<[-]]>[<+>-]<[>>[-]<[-]<<<[>>>>+<+<<<-]>>>>[<<<<+>>>>-]<[<<->>-]<<<<<+>>>>>>[-]<[-]<<<[>>>>+<+<<<-]>>>>[<<<<+>>>>-]>[-]<[-]<<<[>>>>+<+<<<-]>>>>[<<<<+>>>>-]<<<[-]>[>>>>[-]<[-]<<[>>>+<+<<-]>>>[<<<+>>>-]<<[-]+>[<->[-]]<[<<<[-]+>>>[-]]<-<-][-]+<[>-<[-]]>[<+>-]<]<<<[-]>>[<<+>>-]<[-]++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++>>>[-]<[-]<<<<<[>>>>>>+<+<<<<<-]>>>>>>[<<<<<<+>>>>>>-]>[-]<[-]<<<[>>>>+<+<<<-]>>>>[<<<<+>>>>-]<<<[-]>[>>>>[-]<[-]<<[>>>+<+<<-]>>>[<<<+>>>-]<<[-]+>[<->[-]]<[<<<[-]+>>>[-]]<-<-]>[-]<[-]<[>>+<+<-]>>[<<+>>-]<[<<<+++++++>>>[-]]<[-]<[-]<<<[>>>>+<+<<<-]>>>>[<<<<+>>>>-]<[<+>-]<.[-]++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++>>>[-]<[-]<<<<[>>>>>+<+<<<<-]>>>>>[<<<<<+>>>>>-]>[-]<[-]<<<[>>>>+<+<<<-]>>>>[<<<<+>>>>-]<<<[-]>[>>>>[-]<[-]<<[>>>+<+<<-]>>>[<<<+>>>-]<<[-]+>[<->[-]]<[<<<[-]+>>>[-]]<-<-]>[-]<[-]<[>>+<+<-]>>[<<+>>-]<[<<<+++++++>>>[-]]<[-]<[-]<<[>>>+<+<<-]>>>[<<<+>>>-]<[<+>-]<.[-]++++++++++++++++>>[-]<[-]<<<<<<[>>>>>>>+<+<<<<<<-]>>>>>>>[<<<<<<<+>>>>>>>-]<<<<[-]>>>>>>[-]<[-]<<<[>>>>+<+<<<-]>>>>[<<<<+>>>>-]>[-]<[-]<<<[>>>>+<+<<<-]>>>>[<<<<+>>>>-]<<<[-]>[>>>>[-]<[-]<<[>>>+<+<<-]>>>[<<<+>>>-]<<[-]+>[<->[-]]<[<<<[-]+>>>[-]]<-<-][-]+<[>-<[-]]>[<+>-]<[>>[-]<[-]<<<[>>>>+<+<<<-]>>>>[<<<<+>>>>-]<[<<->>-]<<<<<+>>>>>>[-]<[-]<<<[>>>>+<+<<<-]>>>>[<<<<+>>>>-]>[-]<[-]<<<[>>>>+<+<<<-]>>>>[<<<<+>>>>-]<<<[-]>[>>>>[-]<[-]<<[>>>+<+<<-]>>>[<<<+>>>-]<<[-]+>[<->[-]]<[<<<[-]+>>>[-]]<-<-][-]+<[>-<[-]]>[<+>-]<]<<<[-]>>[<<+>>-]<[-]++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++>>>[-]<[-]<<<<<[>>>>>>+<+<<<<<-]>>>>>>[<<<<<<+>>>>>>-]>[-]<[-]<<<[>>>>+<+<<<-]>>>>[<<<<+>>>>-]<<<[-]>[>>>>[-]<[-]<<[>>>+<+<<-]>>>[<<<+>>>-]<<[-]+>[<->[-]]<[<<<[-]+>>>[-]]<-<-]>[-]<[-]<[>>+<+<-]>>[<<+>>-]<[<<<+++++++>>>[-]]<[-]<[-]<<<[>>>>+<+<<<-]>>>>[<<<<+>>>>-]<[<+>-]<.[-]++++++++++++++++++++++++++++++++++++++++++++++++>[-]+++++++++>>>[-]<[-]<<<<[>>>>>+<+<<<<-]>>>>>[<<<<<+>>>>>-]>[-]<[-]<<<[>>>>+<+<<<-]>>>>[<<<<+>>>>-]<<<[-]>[>>>>[-]<[-]<<[>>>+<+<<-]>>>[<<<+>>>-]<<[-]+>[<->[-]]<[<<<[-]+>>>[-]]<-<-]>[-]<[-]<[>>+<+<-]>>[<<+>>-]<[<<<+++++++>>>[-]]<[-]<[-]<<[>>>+<+<<-]>>>[<<<+>>>-]<[<+>-]<.<<[-]++++++++++.<[-]]<<+>>>>[-]<[-]<<<[>>>>+<+<<<-]>>>>[<<<<+>>>>-]<<[-]+>[<->[-]]<[<+>[-]]<<<<[-]+>>>>>>[-]<[-]<<<[>>>>+<+<<<-]>>>>[<<<<+>>>>-]<<[-]+>[<->[-]]<[>>>[-]<[-]<<<[>>>>+<+<<<-]>>>>[<<<<+>>>>-]<<[-]+>[<->[-]]<[<<<<<[-]>>>>>[-]]<[-]]<<<<]

Try it online.

Mandelbrot set sketch in Scratch

2019-07-13, post № 217

art, mathematics, programming, #fractal

Despite my personal disbelieve in and dislike of the colored blocks dragging simulator 3, I nevertheless wanted to extract functionality other than the hardcoded cat mascot path tracing from the aforementioned software; one of the most efficient visual result to build effort ratio yields a simple plot of the Mandelbrot set, formally known as

M:=\{z\in\mathbb{C}:|\lim_{n\to\infty}\mathrm{itr}^n(z)|<\infty\}

where the iterator is defined as

\mathrm{itr}^n(z) := \mathrm{itr}^{n-1}(z)^2+z, \\ \mathrm{itr}^0(z) := 0.

The render resolution is kept at a recognizable minimum as not to overburden the machine tasked with creating it.
Source: mandelbrot-set-sketch-in-scratch.sb3

mandelbrot-set-sketch-in-scratch.png

Factoids #0

2019-06-15, post № 216

mathematics, #algebra, #rings

I) Unit polynomials with non-vanishing degree

2t+1\in\mathbb{Z}_4[t] is its own multiplicative inverse, showing that R[t]^*=R^* does not hold in a general commutative Ring with one.

This phenomenon is uniquely characterized by the following equivalence:

R[t]^*=R^*\iff\nexists\,0\neq a,b\in R:a\cdot b=0=a+b
Proof. Negated replication. Let R\not\owns f=\sum_{i=0}^n\alpha_it^i\in R[t]^*,\alpha_n\neq 0 be a unit polynomial of non-vanishing degree n\geq 1. Let g=\sum_{j=0}^m\beta_jt^j\in R[t]^*,\beta_m\neq 0 denote its multiplicative inverse, i. e. f\cdot g=1.
Claim. The polynomial g has non-vanishing degree m\geq 1.
Proof. Suppose g\in R. Since f\cdot g=\sum_{i=0}^n(\alpha_i\cdot g)t^i, it follows from \alpha_n\cdot g=0 that g is a zero divisor. However, at the same time a_0\cdot g=1 implies that g is a unit, arriving at a contradiction.
Since both n,m\geq 1, one concludes \exists 1\leq k\leq m as well as \alpha_n\cdot\beta_m=0.
Existence of the desired ring elements a,b is assured by the following construction.
  • Let k=1\nearrow m rise discretely.
  • If a:=\alpha_n\beta_{m-k}\neq 0, implying b:=\sum_{i=1}^k\alpha_{n-i}\beta_{m-k+i}\neq 0, holds, since the construction arrived at this point, one finds
    a\cdot b=\alpha_n\beta_{m-k}\cdot \sum_{i=1}^k\alpha_{n-i}\beta_{m-k+i}=\sum_{i=1}^k \underbrace{\alpha_n\beta_{m-k+i}}_{=0}\cdot \alpha_{n-i}\beta_{m-k}=0.
  • The above condition is met for at least one 1\leq k\leq m, since otherwise k=m would imply \alpha_n\beta_{m-m}=0, which is impossible since \alpha_n\neq 0 and \beta_0 is a unit element.
By construction, 0\neq a,b as well as a+b=0 are given.
Negated implication. Setting  f:=at+1, g:=bt+1, one calculates
f\cdot g=(at+1)\cdot (bt+1)=abt^2+(a+b)\cdot t+1=0t^2+0t+1=1,
showing R\not\owns f,g\in R[t]^*.
Jonathan Frech's blog; built 2021/04/16 20:21:20 CEST