User talk:Contribution
When I suggested to switch to JavaScript
on Talk:31-limit, I did not primarily think on doing it right within the Wiki. I even think that user-specific JS isn't enabled here ...
Is there any place where this could be tried out first without fighting against wiki limitations of some sort?
Best regards --Xenwolf (talk) 15:06, 13 May 2020 (UTC)
Hello, I have a Wordpress website under construction but I don't know JavaScript. Best regards.
- I see, I am also a newcomer in this respect, but it seems to be the current hottest language. If I get an idea what your point is, I could try to implemenent it somewhere. As I understand it so far, there is a big 1 in the middle and then a Cartesian coordinate system around it with prime factors not exceeding 31 above or below the fraction line, right? --Xenwolf (talk) 18:45, 14 May 2020 (UTC)
Yes, the rules are :
1) 1/1 is the center of symmetry between reciprocals.
2) The positive abscissa is the Pythagorean scale. The negative abscissa is deducted by rule 1.
3) The positive ordinate is the 5-31 quasi-primes scale, presented as follow:
a ; a*a ;
b ; a*b ; a-1*b ; b*b ;
c ; a*c ; a-1*c ; b*c ; b-1*c ; c*c ;
d ; a*d ; a-1*d ; b*d ; b-1*d ; c*d ; c-1*d ; d*d ; etc...
The negative ordinate is deducted by rule 1.
4) 5-limit allows also a*a*a and its symmetrical reciprocal
Below is a piece of Python code doing it (better solutions may be possible):
primes=[2,3,5,7,11,13,17,19,23,29,31]
# reciprocal of a given monzo
def reciprocal(monzo):
for p in range(0,len(monzo)):
monzo[p]*=-1
return(monzo)
# ABSCISSA MONZOS LIST
x_axis=[]
for a in range(0,26+1):
# pythagorean interval
monzo=[0]*len(primes)
monzo[1]+=a
# insert it at the end of the list
x_axis.append(monzo)
# insert its reciprocal at the beginning of the list, so that 1/1 is the center of symmetry between reciprocals
x_axis.insert(0,reciprocal(monzo.copy()))
# ORDINATE MONZOS LIST
y_axis=[]
# insert 1/1
monzo=[0]*len(primes)
y_axis.insert(0,monzo)
# first prime
for a in range(2,len(primes)):
# pure harmonic series
monzo=[0]*len(primes)
monzo[a]+=1
# insert the pure harmonic at the beginning of the list
y_axis.insert(0,monzo)
# insert its subharmonic version at the end of the list, so that 1/1 is the center of symmetry between reciprocals
y_axis.append(reciprocal(monzo.copy()))
# second prime
for b in range(2,a+1):
# combine the pure harmonic with another prime, both by putting it in the numerator or in the denominator
for c in range(1,-1-1,-2):
monzo=[0]*len(primes)
monzo[a]+=1
# when c=1, the second prime is put in the numerator ; when c=-1, the second prime is put in the denominator
monzo[b]+=c
# before inserting, eliminate the cases where the first and the second prime are reciprocal
if(monzo!=[0]*len(primes)):
# insert the combination at the beginning
y_axis.insert(0,monzo)
# insert its reciprocal at the end, so that 1/1 is the center of symmetry between reciprocals
y_axis.append(reciprocal(monzo.copy()))
# insert 125/64 exception and its reciprocal
if(monzo==[0,0,2,0,0,0,0,0,0,0,0]):
monzo[2]+=1
y_axis.insert(0,monzo)
y_axis.append(reciprocal(monzo.copy()))
# CARTESIAN COORDINATE PLANE OF MONZOS
table=[]
for y in range(0,len(y_axis)):
line=[]
for x in range(0,len(x_axis)):
monzo=[]
for a in range(0,len(primes)):
# combine the abscissa monzo and the ordinate monzo
monzo.append(x_axis[x][a]+y_axis[y][a])
line.append(monzo)
table.append(line)
##### SHOW RESULT #####
print(table)
Would be curious to see your implementation :)