login
A327580
Triangle read by rows: T(n,k) = Sum_{1<=j*k<=n} cos(Pi*(j*k-1)/2).
1
1, 1, 0, 0, 0, -1, 0, 0, -1, 0, 1, 0, -1, 0, 1, 1, 0, -1, 0, 1, 0, 0, 0, -1, 0, 1, 0, -1, 0, 0, -1, 0, 1, 0, -1, 0, 1, 0, 0, 0, 1, 0, -1, 0, 1, 1, 0, 0, 0, 1, 0, -1, 0, 1, 0, 0, 0, 0, 0, 1, 0, -1, 0, 1, 0, -1, 0, 0, 0, 0, 1, 0, -1, 0, 1, 0, -1, 0, 1, 0, 0, 0, 1, 0, -1, 0, 1, 0, -1, 0, 1
OFFSET
1
COMMENTS
a(n) is a (-1, 0, 1)-valued sequence.
The identity Sum_{k=1..n} T(n,k) mu(k)=1 holds for every n. The function mu is the Moebius function and T(n,k) is entry k of row n in the triangular array.
T(n,2k) = 0 for all k.
T(n,k) is 4-periodic when k > n/3.
T(n,*) gives the transpose of the n-th truncation of Dirichlet convolution by (1,1,1,...) applied to the periodic sequence (1,0,-1,0,...).
LINKS
Jeffery Kline, Table of n, a(n) for n = 1..4950 (Rows n = 1..99 of triangle, flattened)
Jeffery Kline, Unital sums of the Moebius and Mertens functions, Journal of Integer Sequences, 23 (2020), Article 20.8.1.
EXAMPLE
The first 20 rows of the triangle:
1;
1, 0;
0, 0, -1;
0, 0, -1, 0;
1, 0, -1, 0, 1;
1, 0, -1, 0, 1, 0;
0, 0, -1, 0, 1, 0, -1;
0, 0, -1, 0, 1, 0, -1, 0;
1, 0, 0, 0, 1, 0, -1, 0, 1;
1, 0, 0, 0, 1, 0, -1, 0, 1, 0;
0, 0, 0, 0, 1, 0, -1, 0, 1, 0, -1;
0, 0, 0, 0, 1, 0, -1, 0, 1, 0, -1, 0;
1, 0, 0, 0, 1, 0, -1, 0, 1, 0, -1, 0, 1;
1, 0, 0, 0, 1, 0, -1, 0, 1, 0, -1, 0, 1, 0;
0, 0, -1, 0, 0, 0, -1, 0, 1, 0, -1, 0, 1, 0, -1;
0, 0, -1, 0, 0, 0, -1, 0, 1, 0, -1, 0, 1, 0, -1, 0;
1, 0, -1, 0, 0, 0, -1, 0, 1, 0, -1, 0, 1, 0, -1, 0, 1;
1, 0, -1, 0, 0, 0, -1, 0, 1, 0, -1, 0, 1, 0, -1, 0, 1, 0;
0, 0, -1, 0, 0, 0, -1, 0, 1, 0, -1, 0, 1, 0, -1, 0, 1, 0, -1;
0, 0, -1, 0, 0, 0, -1, 0, 1, 0, -1, 0, 1, 0, -1, 0, 1, 0, -1, 0;
...
MAPLE
T:= (n, k)-> add(cos(Pi*(j*k-1)/2), j=1..n/k):
seq(seq(T(n, k), k=1..n), n=1..14); # Alois P. Heinz, Sep 29 2019
PROG
(Python)
import numpy as np
for n in range(1, 21):
A = [ sum([ np.cos(np.pi * (j*k-1)/2) for k in range(1, n//j+1)])
for j in range(1, n+1) ]
print(np.array(np.rint(A), dtype=int))
(Python)
import numpy as np
m, maxn = 1, 1000
D = np.zeros((maxn, maxn), dtype=int);
for j in range(maxn): D[j::j+1, j]=1
cm = np.zeros(maxn, dtype=int); cm[ ::4*m] = 1; cm[2*m::4*m] = -1
for n in range(1, 21): print( D[:n, :n].T.dot(cm[:n]))
CROSSREFS
KEYWORD
sign,tabl
AUTHOR
Jeffery Kline, Sep 17 2019
STATUS
approved