Contribution
Joined 18 April 2020
Contribution (talk | contribs) |
|||
Line 8: | Line 8: | ||
: 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? --[[User:Xenwolf|Xenwolf]] ([[User talk:Xenwolf|talk]]) 18:45, 14 May 2020 (UTC) | : 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? --[[User:Xenwolf|Xenwolf]] ([[User talk: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<sup>-1</sup>*b ; b*b ; | |||
c ; a*c ; a<sup>-1</sup>*c ; b*c ; b<sup>-1</sup>*c ; c*c ; | |||
d ; a*d ; a<sup>-1</sup>*d ; b*d ; b<sup>-1</sup>*d ; c*d ; c<sup>-1</sup>*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: | |||
<code> | |||
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)</code> | |||
Would be curious to see your implementation :) |