%I #21 Nov 16 2019 20:05:14
%S 1,1,1,1,2,1,1,3,1,1,1,1,1,4,1,1,5,2,9,1,1,1,6,1,1,1,2,1,1,7,1,25,1,3,
%T 1,1,1,1,1,36,1,2,1,8,1,1,1,1,49,1,5,1,27,1,1,1,10,3,1,1,6,1,1,1,2,1,
%U 1,11,1,1,2,7,1,125,4,3,1,1,1,3,1,100,1,1,1,216,1,1,1,4,1,1,13
%N Functional composition table for "n o m" = "n composed with m", where n and m are the "primal codes" of finite partial functions on the positive integers and 1 is the code for the empty function.
%C The right diagonal labeled by the prime power of the form j:k = (prime(j))^k contains the j^th power primes in the factorization raised to the k^th power. For example, the right diagonal labeled by the number 2 = 1:1 = (prime(1))^1 contains the power-free parts of each positive integer, specifically A055231 and the right diagonal labeled by the number 4 = 1:2 = (prime(1))^2 contains the squares of the squarefree parts of positive integers.
%C In general, then the right diagonal labeled by m = (j_i : k_i)_i = Product_i prime(j_i)^(k_i) contains the product over i of the (j_i)th power primes in the factorization raised to the (k_i)th powers.
%C For example, the operator 5 = 3:1 extracts the 3rd power primes in the factorization of each n and raises them to the first power, thus sending 8 = 1:3 to 2 = 1:1, 27 = 2:3 to 3 = 2:1 and so on.
%H Antti Karttunen, <a href="/A106177/b106177.txt">Table of n, a(n) for n = 1..25425; the first 225 antidiagonals of the array</a>
%H J. Awbrey, <a href="https://oeis.org/wiki/Riffs_and_Rotes">Riffs and Rotes</a>
%F If k = Product p_i^e_i, A(n,k) = p_i^A286561(n, A000040(e_i)), where A286561(x,y) gives the y-valuation of x. - _Antti Karttunen_, Nov 16 2019
%e ` ` ` ` ` ` ` ` ` ` `n o m
%e ` ` ` ` ` ` ` ` ` ` ` \ /
%e ` ` ` ` ` ` ` ` ` ` `1 . 1
%e ` ` ` ` ` ` ` ` ` ` \ / \ /
%e ` ` ` ` ` ` ` ` ` `2 . 1 . 2
%e ` ` ` ` ` ` ` ` ` \ / \ / \ /
%e ` ` ` ` ` ` ` ` `3 . 1 . 1 . 3
%e ` ` ` ` ` ` ` ` \ / \ / \ / \ /
%e ` ` ` ` ` ` ` `4 . 1 . 2 . 1 . 4
%e ` ` ` ` ` ` ` \ / \ / \ / \ / \ /
%e ` ` ` ` ` ` `5 . 1 . 3 . 1 . 1 . 5
%e ` ` ` ` ` ` \ / \ / \ / \ / \ / \ /
%e ` ` ` ` ` `6 . 1 . 1 . 1 . 4 . 1 . 6
%e ` ` ` ` ` \ / \ / \ / \ / \ / \ / \ /
%e ` ` ` ` `7 . 1 . 5 . 2 . 9 . 1 . 1 . 7
%e ` ` ` ` \ / \ / \ / \ / \ / \ / \ / \ /
%e ` ` ` `8 . 1 . 6 . 1 . 1 . 1 . 2 . 1 . 8
%e ` ` ` \ / \ / \ / \ / \ / \ / \ / \ / \ /
%e ` ` `9 . 1 . 7 . 1 . 25. 1 . 3 . 1 . 1 . 9
%e ` ` \ / \ / \ / \ / \ / \ / \ / \ / \ / \ /
%e ` 10 . 1 . 1 . 1 . 36. 1 . 2 . 1 . 8 . 1 . 10
%e Primal codes of finite partial functions on positive integers:
%e 1 = { }
%e 2 = 1:1
%e 3 = 2:1
%e 4 = 1:2
%e 5 = 3:1
%e 6 = 1:1 2:1
%e 7 = 4:1
%e 8 = 1:3
%e 9 = 2:2
%e 10 = 1:1 3:1
%e 11 = 5:1
%e 12 = 1:2 2:1
%e 13 = 6:1
%e 14 = 1:1 4:1
%e 15 = 2:1 3:1
%e 16 = 1:4
%e 17 = 7:1
%e 18 = 1:1 2:2
%e 19 = 8:1
%e 20 = 1:2 3:1
%e From _Antti Karttunen_, Nov 16 2019: (Start)
%e When the sequence is viewed as a square array read by falling antidiagonals, the top left 15 X 15 corner looks like this:
%e k= | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
%e ----+--------------------------------------------------------------------
%e n= 1| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
%e 2| 1, 2, 3, 1, 5, 6, 7, 1, 1, 10, 11, 3, 13, 14, 15,
%e 3| 1, 1, 1, 2, 1, 1, 1, 1, 3, 1, 1, 2, 1, 1, 1,
%e 4| 1, 4, 9, 1, 25, 36, 49, 1, 1, 100, 121, 9, 169, 196, 225,
%e 5| 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
%e 6| 1, 2, 3, 2, 5, 6, 7, 1, 3, 10, 11, 6, 13, 14, 15,
%e 7| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
%e 8| 1, 8, 27, 1, 125, 216, 343, 1, 1, 1000, 1331, 27, 2197, 2744, 3375,
%e 9| 1, 1, 1, 4, 1, 1, 1, 1, 9, 1, 1, 4, 1, 1, 1,
%e 10| 1, 2, 3, 1, 5, 6, 7, 2, 1, 10, 11, 3, 13, 14, 15,
%e 11| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
%e 12| 1, 4, 9, 2, 25, 36, 49, 1, 3, 100, 121, 18, 169, 196, 225,
%e 13| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
%e 14| 1, 2, 3, 1, 5, 6, 7, 1, 1, 10, 11, 3, 13, 14, 15,
%e 15| 1, 1, 1, 2, 1, 1, 1, 2, 3, 1, 1, 2, 1, 1, 1,
%e (End)
%o (PARI)
%o up_to = 105;
%o A106177sq(n,k) = { my(f = factor(k)); prod(i=1,#f~,f[i, 1]^valuation(n, prime(f[i, 2]))); };
%o A106177list(up_to) = { my(v = vector(up_to), i=0); for(a=1,oo, for(col=1,a, i++; if(i > up_to, return(v)); v[i] = A106177sq(col,(a-(col-1))))); (v); };
%o v106177 = A106177list(up_to);
%o A106177(n) = v106177[n]; \\ _Antti Karttunen_, Nov 16 2019
%Y Cf. A000040, A061396, A062504, A062537, A062860, A106178, A181819, A286561.
%Y Rows 1 - 3: A000012, A055231, A329376.
%Y Columns 1 - 2: A000012, A006519.
%K nonn,tabl,look
%O 1,5
%A _Jon Awbrey_, May 23 2005