import random import os import sys random.seed() from sys import exit from math import * from time import perf_counter from decimal import * #for testing purposes import scipy.stats as stats import copy class HiddenPrints: def __enter__(self): self._original_stdout = sys.stdout sys.stdout = open(os.devnull, 'w') def __exit__(self, exc_type, exc_val, exc_tb): sys.stdout.close() sys.stdout = self._original_stdout def floor(n): return n-(n%1) def ceil(n): return floor(n)+1 mult = 1 getcontext().prec = 64*mult Dec = Decimal d = Decimal def bitlength(n): i = 1 while floor(n/(2**i)) > 0: i = i + 1 print("bit length: " + str(i)) return i def dround(n): if (n%1) <= Dec('0.50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'): return n-(n%1) else: return (n-(n%1))+1 def dfloor(n): return n-(n%1) def dceil(n): return (n-(n%1))+1 def sublimate(num): return num-(dfloor(num/10)*10) class Var: def __init__(self, name, val): self.name = name self.val = val class Step: def __init__(self, op, var): self.op = op self.var = var chain = [] vars = [] primes = [Dec('2'), Dec('3'), Dec('5'), Dec('7'), Dec('11'), Dec('13'), Dec('17'), Dec('19'), Dec('23'), Dec('29'), Dec('31'), Dec('37'), Dec('41'), Dec('43'), Dec('47'), Dec('53'), Dec('59'), Dec('61'), Dec('67'), Dec('71'), Dec('73'), Dec('79'), Dec('83'), Dec('89'), Dec('97'), Dec('101'), Dec('103'), Dec('107'), Dec('109'), Dec('113'), Dec('127'), Dec('131'), Dec('137'), Dec('139'), Dec('149'), Dec('151'), Dec('157'), Dec('163'), Dec('167'), Dec('173'), Dec('179'), Dec('181'), Dec('191'), Dec('193'), Dec('197'), Dec('199'), Dec('211'), Dec('223'), Dec('227'), Dec('229'), Dec('233'), Dec('239'), Dec('241'), Dec('251'), Dec('257'), Dec('263'), Dec('269'), Dec('271'), Dec('277'), Dec('281'), Dec('283'), Dec('293'), Dec('307'), Dec('311'), Dec('313'), Dec('317'), Dec('331'), Dec('337'), Dec('347'), Dec('349'), Dec('353'), Dec('359'), Dec('367'), Dec('373'), Dec('379'), Dec('383'), Dec('389'), Dec('397'), Dec('401'), Dec('409'), Dec('419'), Dec('421'), Dec('431'), Dec('433'), Dec('439'), Dec('443'), Dec('449'), Dec('457'), Dec('461'), Dec('463'), Dec('467'), Dec('479'), Dec('487'), Dec('491'), Dec('499'), Dec('503'), Dec('509'), Dec('521'), Dec('523'), Dec('541'), Dec('547'), Dec('557'), Dec('563'), Dec('569'), Dec('571'), Dec('577'), Dec('587'), Dec('593'), Dec('599'), Dec('601'), Dec('607'), Dec('613'), Dec('617'), Dec('619'), Dec('631'), Dec('641'), Dec('643'), Dec('647'), Dec('653'), Dec('659'), Dec('661'), Dec('673'), Dec('677'), Dec('683'), Dec('691'), Dec('701'), Dec('709'), Dec('719'), Dec('727'), Dec('733'), Dec('739'), Dec('743'), Dec('751'), Dec('757'), Dec('761'), Dec('769'), Dec('773'), Dec('787'), Dec('797'), Dec('809'), Dec('811'), Dec('821'), Dec('823'), Dec('827'), Dec('829'), Dec('839'), Dec('853'), Dec('857'), Dec('859'), Dec('863'), Dec('877'), Dec('881'), Dec('883'), Dec('887'), Dec('907'), Dec('911'), Dec('919'), Dec('929'), Dec('937'), Dec('941'), Dec('947'), Dec('953'), Dec('967'), Dec('971'), Dec('977'), Dec('983'), Dec('991'), Dec('997'), Dec('1009'), Dec('1013'), Dec('1019'), Dec('1021'), Dec('1031'), Dec('1033'), Dec('1039'), Dec('1049'), Dec('1051'), Dec('1061'), Dec('1063'), Dec('1069'), Dec('1087'), Dec('1091'), Dec('1093'), Dec('1097'), Dec('1103'), Dec('1109'), Dec('1117'), Dec('1123'), Dec('1129'), Dec('1151'), Dec('1153'), Dec('1163'), Dec('1171'), Dec('1181'), Dec('1187'), Dec('1193'), Dec('1201'), Dec('1213'), Dec('1217'), Dec('1223'), Dec('1229'), Dec('1231'), Dec('1237'), Dec('1249'), Dec('1259'), Dec('1277'), Dec('1279'), Dec('1283'), Dec('1289'), Dec('1291'), Dec('1297'), Dec('1301'), Dec('1303'), Dec('1307'), Dec('1319'), Dec('1321'), Dec('1327'), Dec('1361'), Dec('1367'), Dec('1373'), Dec('1381'), Dec('1399'), Dec('1409'), Dec('1423'), Dec('1427'), Dec('1429'), Dec('1433'), Dec('1439'), Dec('1447'), Dec('1451'), Dec('1453'), Dec('1459'), Dec('1471'), Dec('1481'), Dec('1483'), Dec('1487'), Dec('1489'), Dec('1493'), Dec('1499'), Dec('1511'), Dec('1523'), Dec('1531'), Dec('1543'), Dec('1549'), Dec('1553'), Dec('1559'), Dec('1567'), Dec('1571'), Dec('1579'), Dec('1583'), Dec('1597'), Dec('1601'), Dec('1607'), Dec('1609'), Dec('1613'), Dec('1619'), Dec('1621'), Dec('1627'), Dec('1637'), Dec('1657'), Dec('1663'), Dec('1667'), Dec('1669'), Dec('1693'), Dec('1697'), Dec('1699'), Dec('1709'), Dec('1721'), Dec('1723'), Dec('1733'), Dec('1741'), Dec('1747'), Dec('1753'), Dec('1759'), Dec('1777'), Dec('1783'), Dec('1787'), Dec('1789'), Dec('1801'), Dec('1811'), Dec('1823'), Dec('1831'), Dec('1847'), Dec('1861'), Dec('1867'), Dec('1871'), Dec('1873'), Dec('1877'), Dec('1879'), Dec('1889'), Dec('1901'), Dec('1907'), Dec('1913'), Dec('1931'), Dec('1933'), Dec('1949'), Dec('1951'), Dec('1973'), Dec('1979'), Dec('1987'), Dec('1993'), Dec('1997'), Dec('1999'), Dec('2003'), Dec('2011'), Dec('2017'), Dec('2027'), Dec('2029'), Dec('2039'), Dec('2053'), Dec('2063'), Dec('2069'), Dec('2081'), Dec('2083'), Dec('2087'), Dec('2089'), Dec('2099'), Dec('2111'), Dec('2113'), Dec('2129'), Dec('2131'), Dec('2137'), Dec('2141'), Dec('2143'), Dec('2153'), Dec('2161'), Dec('2179'), Dec('2203'), Dec('2207'), Dec('2213'), Dec('2221'), Dec('2237'), Dec('2239'), Dec('2243'), Dec('2251'), Dec('2267'), Dec('2269'), Dec('2273'), Dec('2281'), Dec('2287'), Dec('2293'), Dec('2297'), Dec('2309'), Dec('2311'), Dec('2333'), Dec('2339'), Dec('2341'), Dec('2347'), Dec('2351'), Dec('2357'), Dec('2371'), Dec('2377'), Dec('2381'), Dec('2383'), Dec('2389'), Dec('2393'), Dec('2399'), Dec('2411'), Dec('2417'), Dec('2423'), Dec('2437'), Dec('2441'), Dec('2447'), Dec('2459'), Dec('2467'), Dec('2473'), Dec('2477'), Dec('2503'), Dec('2521'), Dec('2531'), Dec('2539'), Dec('2543'), Dec('2549'), Dec('2551'), Dec('2557'), Dec('2579'), Dec('2591'), Dec('2593'), Dec('2609'), Dec('2617'), Dec('2621'), Dec('2633'), Dec('2647'), Dec('2657'), Dec('2659'), Dec('2663'), Dec('2671'), Dec('2677'), Dec('2683'), Dec('2687'), Dec('2689'), Dec('2693'), Dec('2699'), Dec('2707'), Dec('2711'), Dec('2713'), Dec('2719'), Dec('2729'), Dec('2731'), Dec('2741'), Dec('2749'), Dec('2753'), Dec('2767'), Dec('2777'), Dec('2789'), Dec('2791'), Dec('2797'), Dec('2801'), Dec('2803'), Dec('2819'), Dec('2833'), Dec('2837'), Dec('2843'), Dec('2851'), Dec('2857'), Dec('2861'), Dec('2879'), Dec('2887'), Dec('2897'), Dec('2903'), Dec('2909'), Dec('2917'), Dec('2927'), Dec('2939'), Dec('2953'), Dec('2957'), Dec('2963'), Dec('2969'), Dec('2971'), Dec('2999'), Dec('3001'), Dec('3011'), Dec('3019'), Dec('3023'), Dec('3037'), Dec('3041'), Dec('3049'), Dec('3061'), Dec('3067'), Dec('3079'), Dec('3083'), Dec('3089'), Dec('3109'), Dec('3119'), Dec('3121'), Dec('3137'), Dec('3163'), Dec('3167'), Dec('3169'), Dec('3181'), Dec('3187'), Dec('3191'), Dec('3203'), Dec('3209'), Dec('3217'), Dec('3221'), Dec('3229'), Dec('3251'), Dec('3253'), Dec('3257'), Dec('3259'), Dec('3271'), Dec('3299'), Dec('3301'), Dec('3307'), Dec('3313'), Dec('3319'), Dec('3323'), Dec('3329'), Dec('3331'), Dec('3343'), Dec('3347'), Dec('3359'), Dec('3361'), Dec('3371'), Dec('3373'), Dec('3389'), Dec('3391'), Dec('3407'), Dec('3413'), Dec('3433'), Dec('3449'), Dec('3457'), Dec('3461'), Dec('3463'), Dec('3467'), Dec('3469'), Dec('3491'), Dec('3499'), Dec('3511'), Dec('3517'), Dec('3527'), Dec('3529'), Dec('3533'), Dec('3539'), Dec('3541'), Dec('3547'), Dec('3557'), Dec('3559'), Dec('3571'), Dec('3581'), Dec('3583'), Dec('3593'), Dec('3607'), Dec('3613'), Dec('3617'), Dec('3623'), Dec('3631'), Dec('3637'), Dec('3643'), Dec('3659'), Dec('3671'), Dec('3673'), Dec('3677'), Dec('3691'), Dec('3697'), Dec('3701'), Dec('3709'), Dec('3719'), Dec('3727'), Dec('3733'), Dec('3739'), Dec('3761'), Dec('3767'), Dec('3769'), Dec('3779'), Dec('3793'), Dec('3797'), Dec('3803'), Dec('3821'), Dec('3823'), Dec('3833'), Dec('3847'), Dec('3851'), Dec('3853'), Dec('3863'), Dec('3877'), Dec('3881'), Dec('3889'), Dec('3907'), Dec('3911'), Dec('3917'), Dec('3919'), Dec('3923'), Dec('3929'), Dec('3931'), Dec('3943'), Dec('3947'), Dec('3967'), Dec('3989'), Dec('4001'), Dec('4003'), Dec('4007'), Dec('4013'), Dec('4019'), Dec('4021'), Dec('4027'), Dec('4049'), Dec('4051'), Dec('4057'), Dec('4073'), Dec('4079'), Dec('4091'), Dec('4093'), Dec('4099'), Dec('4111'), Dec('4127'), Dec('4129'), Dec('4133'), Dec('4139'), Dec('4153'), Dec('4157'), Dec('4159'), Dec('4177'), Dec('4201'), Dec('4211'), Dec('4217'), Dec('4219'), Dec('4229'), Dec('4231'), Dec('4241'), Dec('4243'), Dec('4253'), Dec('4259'), Dec('4261'), Dec('4271'), Dec('4273'), Dec('4283'), Dec('4289'), Dec('4297'), Dec('4327'), Dec('4337'), Dec('4339'), Dec('4349'), Dec('4357'), Dec('4363'), Dec('4373'), Dec('4391'), Dec('4397'), Dec('4409'), Dec('4421'), Dec('4423'), Dec('4441'), Dec('4447'), Dec('4451'), Dec('4457'), Dec('4463'), Dec('4481'), Dec('4483'), Dec('4493'), Dec('4507'), Dec('4513'), Dec('4517'), Dec('4519'), Dec('4523'), Dec('4547'), Dec('4549'), Dec('4561'), Dec('4567'), Dec('4583'), Dec('4591'), Dec('4597'), Dec('4603'), Dec('4621'), Dec('4637'), Dec('4639'), Dec('4643'), Dec('4649'), Dec('4651'), Dec('4657'), Dec('4663'), Dec('4673'), Dec('4679'), Dec('4691'), Dec('4703'), Dec('4721'), Dec('4723'), Dec('4729'), Dec('4733'), Dec('4751'), Dec('4759'), Dec('4783'), Dec('4787'), Dec('4789'), Dec('4793'), Dec('4799'), Dec('4801'), Dec('4813'), Dec('4817'), Dec('4831'), Dec('4861'), Dec('4871'), Dec('4877'), Dec('4889'), Dec('4903'), Dec('4909'), Dec('4919'), Dec('4931'), Dec('4933'), Dec('4937'), Dec('4943'), Dec('4951'), Dec('4957'), Dec('4967'), Dec('4969'), Dec('4973'), Dec('4987'), Dec('4993'), Dec('4999'), Dec('5003'), Dec('5009'), Dec('5011'), Dec('5021'), Dec('5023'), Dec('5039'), Dec('5051'), Dec('5059'), Dec('5077'), Dec('5081'), Dec('5087'), Dec('5099'), Dec('5101'), Dec('5107'), Dec('5113'), Dec('5119'), Dec('5147'), Dec('5153'), Dec('5167'), Dec('5171'), Dec('5179'), Dec('5189'), Dec('5197'), Dec('5209'), Dec('5227'), Dec('5231'), Dec('5233'), Dec('5237'), Dec('5261'), Dec('5273'), Dec('5279'), Dec('5281'), Dec('5297'), Dec('5303'), Dec('5309'), Dec('5323'), Dec('5333'), Dec('5347'), Dec('5351'), Dec('5381'), Dec('5387'), Dec('5393'), Dec('5399'), Dec('5407'), Dec('5413'), Dec('5417'), Dec('5419'), Dec('5431'), Dec('5437'), Dec('5441'), Dec('5443'), Dec('5449'), Dec('5471'), Dec('5477'), Dec('5479'), Dec('5483'), Dec('5501'), Dec('5503'), Dec('5507'), Dec('5519'), Dec('5521'), Dec('5527'), Dec('5531'), Dec('5557'), Dec('5563'), Dec('5569'), Dec('5573'), Dec('5581'), Dec('5591'), Dec('5623'), Dec('5639'), Dec('5641'), Dec('5647'), Dec('5651'), Dec('5653'), Dec('5657'), Dec('5659'), Dec('5669'), Dec('5683'), Dec('5689'), Dec('5693'), Dec('5701'), Dec('5711'), Dec('5717'), Dec('5737'), Dec('5741'), Dec('5743'), Dec('5749'), Dec('5779'), Dec('5783'), Dec('5791'), Dec('5801'), Dec('5807'), Dec('5813'), Dec('5821'), Dec('5827'), Dec('5839'), Dec('5843'), Dec('5849'), Dec('5851'), Dec('5857'), Dec('5861'), Dec('5867'), Dec('5869'), Dec('5879'), Dec('5881'), Dec('5897'), Dec('5903'), Dec('5923'), Dec('5927'), Dec('5939'), Dec('5953'), Dec('5981'), Dec('5987'), Dec('6007'), Dec('6011'), Dec('6029'), Dec('6037'), Dec('6043'), Dec('6047'), Dec('6053'), Dec('6067'), Dec('6073'), Dec('6079'), Dec('6089'), Dec('6091'), Dec('6101'), Dec('6113'), Dec('6121'), Dec('6131'), Dec('6133'), Dec('6143'), Dec('6151'), Dec('6163'), Dec('6173'), Dec('6197'), Dec('6199'), Dec('6203'), Dec('6211'), Dec('6217'), Dec('6221'), Dec('6229'), Dec('6247'), Dec('6257'), Dec('6263'), Dec('6269'), Dec('6271'), Dec('6277'), Dec('6287'), Dec('6299'), Dec('6301'), Dec('6311'), Dec('6317'), Dec('6323'), Dec('6329'), Dec('6337'), Dec('6343'), Dec('6353'), Dec('6359'), Dec('6361'), Dec('6367'), Dec('6373'), Dec('6379'), Dec('6389'), Dec('6397'), Dec('6421'), Dec('6427'), Dec('6449'), Dec('6451'), Dec('6469'), Dec('6473'), Dec('6481'), Dec('6491'), Dec('6521'), Dec('6529'), Dec('6547'), Dec('6551'), Dec('6553'), Dec('6563'), Dec('6569'), Dec('6571'), Dec('6577'), Dec('6581'), Dec('6599'), Dec('6607'), Dec('6619'), Dec('6637'), Dec('6653'), Dec('6659'), Dec('6661'), Dec('6673'), Dec('6679'), Dec('6689'), Dec('6691'), Dec('6701'), Dec('6703'), Dec('6709'), Dec('6719'), Dec('6733'), Dec('6737'), Dec('6761'), Dec('6763'), Dec('6779'), Dec('6781'), Dec('6791'), Dec('6793'), Dec('6803'), Dec('6823'), Dec('6827'), Dec('6829'), Dec('6833'), Dec('6841'), Dec('6857'), Dec('6863'), Dec('6869'), Dec('6871'), Dec('6883'), Dec('6899'), Dec('6907'), Dec('6911'), Dec('6917'), Dec('6947'), Dec('6949'), Dec('6959'), Dec('6961'), Dec('6967'), Dec('6971'), Dec('6977'), Dec('6983'), Dec('6991'), Dec('6997'), Dec('7001'), Dec('7013'), Dec('7019'), Dec('7027'), Dec('7039'), Dec('7043'), Dec('7057'), Dec('7069'), Dec('7079'), Dec('7103'), Dec('7109'), Dec('7121'), Dec('7127'), Dec('7129'), Dec('7151'), Dec('7159'), Dec('7177'), Dec('7187'), Dec('7193'), Dec('7207'), Dec('7211'), Dec('7213'), Dec('7219'), Dec('7229'), Dec('7237'), Dec('7243'), Dec('7247'), Dec('7253'), Dec('7283'), Dec('7297'), Dec('7307'), Dec('7309'), Dec('7321'), Dec('7331'), Dec('7333'), Dec('7349'), Dec('7351'), Dec('7369'), Dec('7393'), Dec('7411'), Dec('7417'), Dec('7433'), Dec('7451'), Dec('7457'), Dec('7459'), Dec('7477'), Dec('7481'), Dec('7487'), Dec('7489'), Dec('7499'), Dec('7507'), Dec('7517'), Dec('7523'), Dec('7529'), Dec('7537'), Dec('7541'), Dec('7547'), Dec('7549'), Dec('7559'), Dec('7561'), Dec('7573'), Dec('7577'), Dec('7583'), Dec('7589'), Dec('7591'), Dec('7603'), Dec('7607'), Dec('7621'), Dec('7639'), Dec('7643'), Dec('7649'), Dec('7669'), Dec('7673'), Dec('7681'), Dec('7687'), Dec('7691'), Dec('7699'), Dec('7703'), Dec('7717'), Dec('7723'), Dec('7727'), Dec('7741'), Dec('7753'), Dec('7757'), Dec('7759'), Dec('7789'), Dec('7793'), Dec('7817'), Dec('7823'), Dec('7829'), Dec('7841'), Dec('7853'), Dec('7867'), Dec('7873'), Dec('7877'), Dec('7879'), Dec('7883'), Dec('7901'), Dec('7907'), Dec('7919')] print("allocating factors. be patient...") startTime = perf_counter() print(f"done. time: {(perf_counter() - startTime)}s") first_primes_list = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349] def nBitRandom(n): return random.randrange(Dec(2)**(n-1)+1, 2**n - 1) def getLowLevelPrime(n): '''Generate a prime candidate divisible by first primes''' while True: # Obtain a random number pc = nBitRandom(n) # Test divisibility by pre-generated # primes for divisor in first_primes_list: if pc % divisor == 0 and divisor**2 <= pc: break else: return pc # Utility function to do # modular exponentiation. # It returns (x^y) % p def power(x, y, p): # Initialize result res = 1; # Update x if it is more than or # equal to p x = x % p; while (y > 0): # If y is odd, multiply # x with result if (y & 1): res = (res * x) % p; # y must be even now y = y>>1; # y = y/2 x = (x * x) % p; return res; # This function is called # for all k trials. It returns # false if n is composite and # returns false if n is # probably prime. d is an odd # number such that d*2r = n-1 # for some r >= 1 def miillerTest(d, n): # Pick a random number in [2..n-2] # Corner cases make sure that n > 4 a = 2 + random.randint(1, n - 4); # Compute a^d % n x = power(a, d, n); if (x == 1 or x == n - 1): return True; # Keep squaring x while one # of the following doesn't # happen # (i) d does not reach n-1 # (ii) (x^2) % n is not 1 # (iii) (x^2) % n is not n-1 while (d != n - 1): x = (x * x) % n; d *= 2; if (x == 1): return False; if (x == n - 1): return True; # Return composite return False; # It returns false if n is # composite and returns true if n # is probably prime. k is an # input parameter that determines # accuracy level. Higher value of # k indicates more accuracy. def isPrime(n, k): # Corner cases if (n <= 1 or n == 4): return False; if (n <= 3): return True; # Find r such that n = # 2^d * r + 1 for some r >= 1 d = n - 1; while (d % 2 == 0): d //= 2; # Iterate given nber of 'k' times for i in range(k): if (miillerTest(d, n) == False): return False; return True; def getPrime(bits): i = 0 while isPrime(i, 40) == False: i = getLowLevelPrime(bits) return i def iter_lists(list1, list2): for z in list1: print(str(z) + ", " + str(list2[list1.index(z)])) def getDigits(p): results = [] #i = 0 i = d(str(len(str(floor(p)))-1)) while i >= 0: results.append((floor((p/(10**i))%d('10')))*(10**i)) i = i - 1 return results def rawDigits(p): results = [] #i = 0 i = d(str(len(str(floor(p)))-1)) while i >= 0: results.append((floor((p/(10**i))%d('10')))) i = i - 1 return results #sumdigits def sumD(p): results = rawDigits(p) return sum(results) def prodlen(p): return len(str(mag(p))) #generate a matrix of all values def magMatrix(digits): i = 0 j = 0 results = set() result = 0 while i < len(digits): j = 0 while j < len(digits): result = abs(digits[i] - digits[j]) if result > 0: results.add(result) j = j + 1 i = i + 1 return results #BASE VALUE p=Dec(87954921289) #base value b/a is above t here. b/a > t > w/a a=Dec(108271) #beta mode works here again def genf(): #GENERATE PRIMES print("begin generating factors....") dif = 0 minRatio = 10_000 #the minimum difference we want between factors maxRatio = 1_000_000 #primes are 20-25 to 25,30 #minRatio = 10 #maxRatio = 100 #was 20, 30, 35, 50 respective #512,1024,512,1024 a_low = 16 * mult a_high = 32 * mult b_low = 32 * mult b_high = 48 * mult while True: print("generating...") a = Dec(getPrime(Dec(random.randint(a_low, a_high)))) b = Dec(getPrime(Dec(random.randint(b_low, b_high)))) if a > b: _ = a a = b b = _ dif = b/a print("done generating. ") #if dif <= maxRatio and dif >= minRatio: # break break #if dif >= minRatio and dif <= maxRatio: # break return [a, b] def rse(var): I = d(0) while (var*(10**I))%1 > d('0'): I = I + 1 return (var*(10**I)) if len(sys.argv) > 1: if sys.argv[1] == "pairs": a=primes[int(sys.argv[2])] b=primes[int(sys.argv[3])] #you can do somethinglike findTrace(genf, traceList) - where a tracelist might be something like [488, 714, 347, 269, 0, 1, 1, 1] def findTrace(ls, tracels=None): a = ls[0] b = ls[1] p = a*b #randint = random.randint p0=Decimal('746765.421900551419024270826469867239742776254925134246270353337410642643255128488585368866377897048060581485441639648163167784845300273181816440420661939442018622948590665997152674762716694164') def bitlen(p): #print(int(len(bin(int(p))[2:]))) return int(len(bin(int(p))[2:])) #********************** #VARS #********************** def mag(n): return (10**(len(str(((Dec(round(n))*10)))[:-2]))) def Mag(n): return len(str(10**(len(str(((Dec(round(n))*10)))[:-2])))) def maglen(n): print(len(str(mag(floor(n))))) def Maglen(n): return int(len(str(mag(floor(n))))) f=p/Dec(e) #b=p/a w=p.sqrt() magn = (10**(len(str(((Dec(round(p.sqrt()))*10)))[:-2]))) if len(sys.argv) > 1: if sys.argv[1] == "w1": s = w%1 elif sys.argv[1] == "w10": s = sublimate(w) elif sys.argv[1] == "w100": s = w%100 - (dfloor(w)%10) else: s = sublimate(w) else: s = sublimate(w) # str int|flot int int def findij(eq, target, limitI, limitJ): I = 0 J = 0 val = None while I < limitI: J = 0 while J < limitJ: try: val = eval(eq) print(f"evaluating. I: {I}, J: {J}, val: {val}, val-target: {round(abs(val-target))}") if abs(round(val-n))== d('0'): print(f"found I and J! IJ: {I}, {J}, value: {val}") return I, J, val else: J = J + 1 except Exception: print("divide by zero. skipping.") J = J + 1 I = I + 1 #else print("no IJ combination found for eq-target identity! Returning none") return None ''' #var should equal n by default def testfindij(var): _ = findij("(abs(((((p/getDigits(p)[I])*(10**d(J)))/(sr/((n)/w/at)/j)))))", var, len(getDigits(p)), len(getDigits(p))) return None ''' x = w%10 #x = w-3 if x < 1: x = d('1')/x #experimentals #REMAINING VARIABLES Q=p/x q=Q/w #original X=p/q x6=x**6 # == ((X*x) / ((r/g)/x)) * g n=(x+q) #base case N=abs(q-x) #base case ''' #test x = N-q Q=p/x q=Q/w X=p/q x6=x**6 n=(x+q) N=abs(q-x) ''' #endtest def findijSpec(target=n, limitI=len(getDigits(p)), limitJ=len(getDigits(p))): eq = "(abs(((((p/_)*(10**d(J)))/(sr/((n)/w/at)/j)))))" I = 0 J = 0 val = None invert = False while I < limitI: J = 0 while J < limitJ: try: _ = getDigits(p)[I] if _ == d('0'): _ = (_+1)*(10**I) invert = True val = eval("(abs(((((p/_)*(10**d(J)))/(sr/((n)/w/at)/j)))))") print(f"evaluating. I: {I}, J: {J}, val: {val}, val-target: {round(abs(val-target))}") if abs(round(val-n))== d('0'): print(f"found I and J! IJ: {I}, {J}, inverted?: {invert}, value: {val}") return I, J, val else: J = J + 1 invert = False except Exception: print("divide by zero. skipping.") invert = False #flip it back for the next iteration J = J + 1 I = I + 1 #else print("no IJ combination found for eq-target identity! Returning none") return None T0=(N/(N-q)) tux = n*s at = (q*X)/n #always true _ua = p/((at*p)/n) _au = (p/(((_ua)*X*q))) #((s**2)/(((n/x)/(Q/(s*n))*q)/(q/x))) _axu = ((at)/((((((s**2)/(_au))/q)*Q)/n)*q)) bu = (n*p)/at #ever true qtu = (bu)-(n*s) g = (1/(Q/q/X/x))/(_au) xat = x*at _wat = (bu/(n*s))/q #_at = w/((sqrt((((n**2)/(g**2)/xat)+g)))*g) #sqrt(p/((w/(_at))*_wat)) Q2 = p*s q2 = Q*w X2 = p*q x2 = w*q #set 0 t = b/n u = n/t t0 = b/N u0 = N/t #set 1 #t = a/(x+q) #u = (x+q)/t/q #set 2 #t = (b/a)/(x+q) #u = (x+q)/t #set 3 #t = a/(x+q) #u = (x+q)/t/q #set 4 #t = 1/((w/a)/(x+q)) #u = (x+q)/t #set 5 #t = ((w/a)/(x+q)) #u = (x+q)/t #set 6 #t = (w/a)/(x+q) #u = (x+q)/((b/a)/(x+q)) T1 = b/N T2 = b/(N-q) g3 = 1/x T3 = a/N T4 = a/(N-q) T1v = b/n T2v = b/(n-q) T3v = a/n T4v = a/(n-q) sr = s/((_au)*Dec(0.5)) #sr = s/((a/u)*Decimal('0.5')) G = (_au)**2 wau = p/(_au)/w #= (w/a)*u, and T0 is actually pretty close too, or 1/_wat G2 = (p/Q)/g3 h = (g*2)-1 G = (_au)**2 #or (((g3**4))*h) j = Dec(1)/((w/n)*g3) j = g.sqrt() #or _wat/g3 #g.sqrt() r = ((bu/at)*g)/j #(wau/(a/x/u)) #or bu/at, slash that ((bu/at)*g)/j # (w/(qtu/xat))/G == g T1a = ((w/(N**Dec(0.5)))**2) T2a = Dec.copy_abs(((w)/(N**Dec(0.5)))**2)*T0 #(w/(N.sqrt()**2))*(T0*-1) Xua = n*j #same as (X*u)/a NOT (X/u)*a _a_xu = x/g #a/(x*u) Xub = (1/(w/a/u))/g3 #unknown T2a = Q2/G2 xtXu = (G2*j)*Q m = g/((((xtXu)/(_axu))/T1a)/q) xtxu = (xtXu)/w T1u = ((xtxu)/(_axu)/s)*m tx_qt = j-1 b_xt = Q/at Xua = n*j njp = n*j*p nN = (n-N)**Dec(0.5) quarks = [nN, ] T2u = T1u*T0 T2q_T1_w = ((1/((p/T2u)/(w*g)))/ (((T2u*xtxu)/T0)/p))/j T2q_T1 = T2a/(((T1*a)/q)) b_T1 = (n/(j**2)/m) n_N_g = (n/N)/g nN_au = (n-N)/(a/u) g3_G_g = ((1/((g3/G)))/g) #(a/(xu/G)) g3gg = g3_G_g ax_u = x*g*(_axu**2) # or 1/((G/(w/(r/(w/(r*g3)))))/g) or (p*a)/u/Q #sometimes is negative #if ax_u < 1: # ax_u = 1/ax_u pa_uQ = ((ax_u)*Q)/q wa_u = Dec.copy_abs(q2/T2u) _rw = r/(w/(r*g3)) wa_u0 = w/_rw k = (xtXu/(_axu)/N) / (xtXu/(_axu)/n) ki = 1/(k-1) ws = w-s Qsq = Q**Dec(0.5) qQ = (q+Q)/T2a qq = 1+((q+q)/T2a) k_qQ = k/qQ v2 = (1/(((r*_au)-n)/x)*j) s2 = w%100 Qs2 = p/s2 qs2 = Qs2/w Xs2 = p/qs2 xs2 = w/qs2 ns2 = (xs2+qs2) ns2c = (x+qs2) ns2d = (xs2+q) Ns2 = (qs2-xs2) Ns2c = (qs2-x) Ns2d = (q-xs2) v0 = (wau/G)/((((bu)/(at)) / (n*s)) / ((at)/(q**2))) # = ((t*x)/(T2/r) * -1 X_ua = (((((v0))/(T1u))*(at**2)*m)) #(X/u)*a == pa_uQ X_ua2 = w*(p/(((p/((_au)*x))))) #((X/u)*a)/w == X/(_ua) #changed a/u to _au _rg = r/g #= b/(X/u) wa_xu = _au*q #same as (w*a)/(x*u) wj = ((x*at)) #changed from x*t*a to x*at xta_wn = (wa_xu*g) #same as((x*t*a)/(w/n)) _xut = 1/(((p/((_au)*x)))/n) _auj = ((_au)*j) #= (X/u/t) _xutG2 = ((((_xut)*G2*r)/x)*m) #== (((T1a/u) / (b/r))) qsqrt = (q**Dec(0.5))/(N**Dec(0.5)) #== nsqrt = ((n**Dec(0.5))/(q**Dec(0.5))) #== ((1/(((1/(w/a/u))/tux)**0.5))/t) _rrg = (r-_rg)/sr #_rrg / ((r-(b/(X/u)))/sr) not exact. v1 = 1/(v0-1) at_q = at/q _1qub = n*j # = 1/(q/u/b) bux_ = (bu*x)/(b/(u/X)) #b/(u/X), unknown gmn = g*m*n #(T1*n)/t and (w/g) == abs(T2*n)/t/r nq2 = x+(q**2) Nq2 = (q**2)-x T0q2 = (Nq2/(Nq2-q)) T0q3 = (Nq2/((q**2)-Nq2)) x5 = x**5 x6 = x**6 x7 = x**7 x2 = x**2 x12 = x**12 x13 = x**13 ki0 = 1/((g)-1) gki = (1/((g)-1))/ki srgki = sr/((1/(((1/((g)-1))/ki)-1))/n) base = (((p)*(xat))-((Dec.copy_abs(q-X))*(T2q_T1_w))) g2_h = (g**2)/h # == (abs(((s)*(Q/N))-((q/N)*(T1a)))*(g**1)) / ((T1a/(((wau*X))/T1/a))*h) ig2h = 1/(g2_h-1) m5 = m**5 m6 = m**6 x6 = x**6 wjm = w*j*m G3 = ((((p)*(xat))-((Dec.copy_abs(q-X))*(T2q_T1_w)))/bu/w) G3_G = G3/G Gj = G*j xk = x*-k Gjxk = (G*j)-(x*-k) #g_h = (1/(g**-h)) #enable #g_hgmm = (1/(g**-h))/g/m/m #enable m2 = m**2 rv0m = r/v0/m _ngm = n/g/m Xx6 = X*x6 m5 = m**5 _1wg = (((1/((w)))+1)*(g)) ngx = n*g*x _buki = (bu/ki) result = at #base/(a*u)/n x7gn = (1/((x**7)/g))*n # == (1/((p/(base/result/(a*u)))/(b/(x7*t)) /G2/n)) d4wt = ((1/((base/((((p)*(xat))-((Dec.copy_abs(q-X))*(b_T1)))))-1)/G)-x)/j #d4wt = ((1/((base/((((p)*(xat))-((Dec.copy_abs(q-X) + 1)*(b_T1)))))-1)/G)-x)/j _bbu = (((base/bu/2)/n)*x/g/g/m) wad4 = (((base/d4wt)/at/x/at) / (base/at/w/at/j)) #w/(a*d4) d4a = (p/(w/d4wt)/n) #(a*d4) d4t1at = (d4wt*j*m*x) zbaseki = (base/ki/bu) / ((((base/bu*2)/n)*x/g/g/m)) / g / g / g ud4 = d4wt/(x/j) d4u = d4a/_au x1x = (x+1)/x/(1/x) #d7 _wad4 = (((base/d4wt)/at/x/at) / (base/at/w/at/j)) #((w/a)/d4) d4pt = (d4wt)*w d4 = ((1/((base/((((p)*(xat))-((Dec.copy_abs(q-X))*(b_T1)))))-1)/G)-x)/u/x #unknown d8 = (bu/(((bu/((1/abs(n/(ki+T0)))*at))/j)*r)) #(at/((((base/bu/_bbu)/n))*t)/u) n_kit0 = abs(n/(ki+T0)) #(1/(bu/((((base/bu/_bbu)/n))*t)/u/at)) #ki = (bu/((((base/bu/_bbu)/n))*t)/a), ki is already defined though, so not going to redefine it n_kat = ((1/abs(n/(ki+T0)))*at) #(bu/((((base/bu/_bbu)/n))*t)/u) #KNOWN dru8 = (d4u/d8)/(r/d8) audry = _au / (w/d4a) # equals d4z #cu = ((xtXu/d4a)/w/v0) # ((c*u)/r) wv =(v0*w*ax_u) cw = w/(d4a/(wad4**2)) #c*(wad4/d4) cu = ((xtXu/d4a)/w/v0)*r #r*((c*u)/r) d4z = (d4wt*w*j*m*x) / T1u/n #d4*z, where z = (w/c)/(wau/wad4) cz = w/d4u #w/(bu/(at/(d4wt/wau))) #c*z z0 = d4wt/wau z2 = nsqrt / (sr/((((s)*(Q/n))-((n)*(_axu**2)))/G)) z8 = ((p/d4wt)/d4a) z4 = (z8/x*j) #(c/z)/(d4/z), or c/d4 z5 = (xtxu/d4u)/ax_u #T1u/d4wt z6 = (xtxu/d4u) z7 = ax_u/((p/d4wt)/d4a) q0 = 1/(xtxu/zbaseki/at/g) #new quark z10 = 1/(bu/d4a/xtxu) #z6/(xtxu/cu) c/d4 or, so I don't have order effects by using z6. WAS _cd4 _cd4 = z6/(xtxu/cu) atsrgm = (at*sr*g*m) r_xg = (r*x/g) _atd4u = z6/g # ((at/d4)/u) _ud4ki = (1/(w/(bu/(at/(d4wt/wau)))/p))/(ki/wau)/bu #(u/((1/d4)/1))/ki or d4/(ki/u) _td4 = w/d4wt # t/d4 omega0 = x/((bu/(d4u))/(d4a*x)) _bc = bu/cu #the u's cancel each other out omega1 = (n*s)-(N*s) #KNOWN lead = d4a/(at/d8) #d8/_td4 _bgold = ki/lead #b/gold agold = (at/_bgold)*n #a*gold agolden = at/_bgold #agold/n or (a*gold)/n lead1 = lead*G*sr*g*m #(p*abs((agold/bu)/at)) tin = ((p/d4wt)/d4a) lead0 = (1/(lead-1)) goldsea = p/((bu*cu)/(bu/cu)) #gold/c _goldc = goldsea boron = (n/(_bgold/G)) / (abs(p/_bgold/_cd4).sqrt()/G) platinum = (((p/(bu/1))*cz)) #gold*z9 silver = (ax_u*(tin*lead))/z4/G #(w/t)/(w/(d4*d8*j)) iron = ((z5/((platinum/silver/lead)/G))*m) #((z5/((platinum/silver/lead)/G))*m) nitrogen = at/_au/(wau/(d4wt/(x)))/G #(u / (ax_u/d4)) helium = silver/(iron/(1/(wv/((w/ki/lead)/z5)/at))) #because it appears innert, sr/(ki/((Q/d8/d4a)*g3))/g mercury = (agolden)/z0 #same as gold*d4, same as G silicon = goldsea/z4 _goldt = 1/(p*abs((_bgold/bu)/at)) #gold/t goldz9 = platinum druj = dru8*j _druj = dru8/j #KNOWN - new tz = (ax_u/j) #t*z #EXPERIMENTAL - UNKNOWN c = 1/(at/(w / ((dru8 / (( 1/(wad4/(r/(Qsq/(X_ua/d4wt))))) / (1/((Q/(r/(Qsq/(X_ua/b))))/xtXu/r)))/v0)/w))) #c*d4 = b/a z = (w/c)/(wau/wad4) z3 = (c/z)/(d4*z) z9 = z/((w/(bu/(at/(d4wt/wau))))/cw) z11 = (((((d4wt / (((x+1)/x1x) /at))))))/wau / (d4z/(d4*t))/w #also known as d4t or d4*t gold = G*d4 #NEW rg3 = r*g3 tz = ax_u/j ac = at/druj _tc = druj _bt = n _az = ac/cz zgold = (_au*agold)/w z01 = d4wt/wau #was z0 _d8lead = d8/lead _tc = druj ac = at/druj zgold = ((1/j)*agold*r)/n/rg3 #goldsea*cz or z*gold ugold = agold/_au _uz = ugold/zgold v = (t0*t)/(w/a) #unknown _bv = b/v #or bu/w/g/m _bv = (r/g3)/(g**2)/m av = (((p)*(x/n))-(ax_u*xk)) #same as a*v av = _au*g*m*w zz = 1/(d4z/((d4u-d4z)/_au)) hydrogen = (((((w))*(tx_qt))/2)**2) gold_xt = _au/(wau/(d4wt/(x))) xx4 = x*4 charm = xtxu.sqrt()/_axu.sqrt()/w.sqrt() up = ((1/(g-1))/2) strange = m/(j/(_au/((at-tz)/n))) bxx4t = (up*charm*z2) #(b/(xx4*t)) bx2xx2t = sr/g T1_c = (druj*g*m) _tv = av/at #t/v or x*j*m _tc == druj gamma = g*m Gamma = G*gamma vz = Gamma _vc = vz/cz _bd4 = bu/d4u beta = ((av/G)-_bv) #equivalent to some n * gamma muon = m #just renaming as I go heavy = j*m*sr*ax_u #or j*muon*sr*ax_u uv = heavy+w #u*v or w*g*m, or w*gamma _goldv = agold/av _vt = x*j*m gamma = g*m neon = ((bu/cu)/(w/d4a))/z8 _uz9 = ((d4u*d4z)/(cz/d4u)).sqrt() bz = wa_u xenon = _bd4/d4u _uz9 = ((d4u*d4z)/(cz/d4u)).sqrt() estU = n/((w*(w/_uz9))/av) estu = _uz9 y2 = (_cd4*c)/G #unknown Xt_b = _au*j #(X*t)/b #unknown Xt_v = w-(_au*g) v_xt = j*m #v/(x*t) Gc_d4 = (p/d4u)/d4u #or _cd4*G Gt_d4 = _td4*G Gv_t = _tv*G Gt_v = Gv_t/(((xtxu**2)/agold/_bgold)*zbaseki) T1T3 = (Gv_t/Gt_v) T3T2 = T0*T1T3 d4_xenonv = (((w/(bu/(at/(d4wt/wau))))/x)/x)/m #equals (d4*(xenon/v)) carbon = d4_xenonv parc = p*ac*r #(parc/(_bc)/r/at)/d4z/_au == ((cu/(d4a/carbon/r))*j)*m bx_c = ((d4a/carbon/r)/m)*cu #equals ((b*x)/c) argon = bx_c cobalt = ax_u/(1/(d4a/(xtXu/d4wt/x/x))) #argon/cu _vd4 = cz*g*m vc_c = (((goldsea/d4z)*m*g)+1) #(v+c)/c vc_v = 1/((goldsea/d4z)*g*m) vt_t = (x*j*m)+1 _n_nac = 1/(n/(n-ac)) #negative _n_nac2 = 1/((1/((w-d4wt)/w))-1) #positive xacrd4z = x-(1/(ac-(ac/(p/(p-(r*d4z)))))) uno = (((G**5)/r/G/druj)*gamma)/m #stands for 'unobtainium', ha. pgamma = (p*gamma)-p #(b*gold)/(1/(((a/gold)*gamma)-(a/gold))) nzt = w*_au Gc_d4 = (p/d4u)/d4u at_goldt = at*_goldt _goldv = agold/av _vt = x*j*m neon = ((bu/cu)/(w/d4a))/z8 _uz9 = ((d4u*d4z)/(cz/d4u)).sqrt() bz = wa_u xenon = _bd4/d4u _uz9 = ((d4u*d4z)/(cz/d4u)).sqrt() estU = n/((w*(w/_uz9))/av) estu = _uz9 Xt_v = w-(_au*g) v_xt = j*m Gt_d4 = _td4*G Gv_t = _tv*G Gt_v = Gv_t/(((xtxu**2)/agold/_bgold)*zbaseki) T1T3 = (Gv_t/Gt_v) T3T2 = T0*T1T3 d4_xenonv = (((w/(bu/(at/(d4wt/wau))))/x)/x)/m #equals (d4*(xenon/v)) carbon = d4_xenonv parc = p*ac*r bx_c = ((d4a/carbon/r)/m)*cu #equals ((b*x)/c) argon = bx_c cobalt = ax_u/(1/(d4a/(xtXu/d4wt/x/x))) #argon/cu _vd4 = cz*g*m #cd4_c #NEW x1xx = x1x*x _x1x = x1x/x bc_c = _bc+1 #or (b+c)/c bc_b = (1/_bc)+1 vd4_v = (1/_vd4)+1 #or (v+d4)/v same as (vz+d4z)/vz vd4_d4 = (vz+d4z)/d4z cd4_c = (1/_cd4)+1 #or (c+d4)/c cd4_d4 = _cd4+1 #or (c+d4)/d4 td4_d4 = _td4+1 #or (t+d4)/d4 td4_t = (1/_td4)+1 goldv_v = _goldv+1 #or _goldv+1 goldv_gold = (1/_goldv)+1 cd4_td4 = td4_d4/cd4_d4 #or (t+d4)/(c+d4), about 1.0570335559255838080376 in the base case g2 = (w+((w*druj)-w)) / ((w*druj)-w)/G xreduce = ((1/((xtxu.sqrt()/_axu.sqrt()/w.sqrt())-1))) xroot = xreduce z9c = cw #z9c z9t = tin H = heavy pH = (p*gamma)-p #(b*gold)/(1/(((a/gold)*gamma)-(a/gold))) = technically shouldnt be able to get this #because bgold should be unavailable, likewise _agold, and yet here it is. _gold_cd4c_G = ugold/((((cu*ac)*_bc)/p/goldsea)) #gold/((_cd4*c)/G) subgold = _gold_cd4c_G _k4k3da = ((av*ac)/uv)*d4a tz9 = z8 _az9 = at/tz9 #a/z9 _uz9 = _az9 / _au bz9 = bu/_uz9 d4pc = bz*_uz9 #d4*(p/c) _T1T2 = ((j*m)-1)*-1 quartz = agold/(((1/((w/agold/x/n)/r/G)/x/(x*2))-1)/n)/2 qz = quartz u_uz = 1/((ugold-zgold)/ugold) #or u/(u-z) T1z = av/n _pcz = w*d4u #d4pc/d4z _k4k3 = ((av*ac)/uv)*d4a #k4/k3 #same at at**2 d4z9 = (d4_xenonv*g*m) #same as d4*z9 #BRAND NEW d4z9 = carbon*g*m tz2 = tz**2 #equals (a*G)/u u235 = (uno/(g*m)/j)*gamma #same as (Gc_d4/((1/((z*G)/u))/zgold)) u238 = u235/((r/u235)/ki) zG_u = (Gc_d4/u235)*zgold #equals (z*G)/u uno2 = uno/(g*m)/j #u235/gamma u231 = Gc_d4/u235 # ((1/((z*G)/u))/zgold) d4wv = d4u/g/m #equivalent to d4*(w/v) d4cwt = bu/(p/tz9) #equivalent to d4*(cw/t) _wtz9 = d4wt/d4z9 #equivalent to _wt/z9 or (w/t) / z9 _ptz9 = d4pt/d4z9 _wvz9 = d4wv/d4z9 _pcz9 = d4pc/d4z9 cw_t = cw/t #z92 = cw/t, unknown d4cwt = bu/(p/tz9) #equivalent to d4*(cw/t) d4cw_v = 1/(g*m*druj*druj) tau = (1/(((1/(w/(bu/(at/(d4wt/wau)))/(G**3)))/(ki/wau)/bu)*ki))/d4 d4tau = 1/((Gc_d4/_bgold)*(druj**2)) #equivalent some some variable [m] * d4, in this case tau*d4 ctau = d4u/(goldsea**2) #equivalent to c*tau, also says that the **2 exponent we're following is intimately important here. _tauz9 = d4tau/d4z9 _atau = _az9/_tauz9 _utau = d4u/d4tau _ztau = d4z/d4tau _wttau = d4wt/d4tau _pttau = d4pt/d4tau _cwttau = d4tau / d4cwt #note, H and tau are apparently the same zeta = 1/((Gc_d4/ugold)*(druj**2))/d4 #unknown, a/G == zeta kappa = b/G #or zeta2 d4zeta = 1/((Gc_d4/ugold)*(druj**2)) _azeta = d4a/d4zeta # == G _uzeta = d4zeta/d4u _zetaz9 = d4zeta/d4z9 tzeta = r/j omega = cu/d4 #because we showed in the d4 series document, that cu is actually of type d4*[m], unknown #alpha = 1/(((Gc_d4/agold)*(druj**2))/d4 _goldc = goldsea d4cw_v = 1/(g*m*druj*druj) #same as d4*(cw/v) H = (1/(((1/(w/(bu/(at/(d4wt/wau)))/(G**3)))/(ki/wau)/bu)*ki))/d4 #unknown d4H = (1/(((1/(w/(bu/(at/(d4wt/wau)))/(G**3)))/(ki/wau)/bu)*ki)) _zG_u = (1/(((1/(w/(bu/(at/(d4wt/wau)))/(G**4)))/(ki/wau)/bu)*ki))*zgold #equivalent to 1/((z*G)/u) _aH = d4a/d4H _uH = d4u/d4H _zH = d4z/d4H _Hz = d4H/d4z _z9H = d4z9/d4H _Hz9 = d4H/d4z9 d5 = d4*(av/ac) #unknown d5H = d4H*(av/ac) d4H2 = (xtxu*(nitrogen/goldsea)/G/j) H2 = d4H2/d4 #unknown _H2u = d4H2/d4u _H2a = d4H2/d4a _H2z = d4H2/d4z _H2H = d4H2/d4H _H2cw_v = d4H2/d4cw_v _H2z9 = d4H2 / d4z9 _aG_u = tz**2 #same as (a*G)/u _HG_u = _goldc #same as (H*G)/u #u235 = (Gc_d4/((1/((z*G)/u))/zgold)) - successfully derived elsewhere #u238 = u235/((r/u235)/ki) cH = d4u/(_goldc**2) cH2 = cH*((r*x)/g) _zetaH = G*druj**2 zeta = _zetaH*H #unkown def getHeavy(var): return (var*(g*m))-var #NEW Ht = at/_aH Hc = d4u/(goldsea**2) #H*c xvxu = uv*x*x d4omega = cu comega = cu*_cd4 d4omega == cu #or d4u*_cd4 omegagold = d4omega*G H2gold = d4H2*G d4cwgold = d4cw_v*G Hgold = d4H*G tu = n ut = tu bomega = bu*_cd4 #== b*omega #tau = (1/(((1/(w/(bu/(at/(d4wt/wau)))/(G**3)))/(ki/wau)/bu)*ki))/d4 def d4_invert(): i = d('0') result = (1/(((1/(w/(bu/(at/(d4wt/wau)))/(G**i)))/(ki/wau)/bu)*ki)) while result > 1: i = i + 1 result = (1/(((1/(w/(bu/(at/(d4wt/wau)))/(G**i)))/(ki/wau)/bu)*ki)) i = i - 1 #back off by 1, returns the inversion result of d4, giving d4's range reflected by G**i result = (1/(((1/(w/(bu/(at/(d4wt/wau)))/(G**i)))/(ki/wau)/bu)*ki)) return i, result d4H = 1/((Gc_d4/_bgold)*(druj**2)) #equivalent some some variable [m] * d4, in this case tau*d4 cH = d4u/(goldsea**2) #equivalent to c*tau, also says that the **2 exponent we're following is intimately important here. _Hz9 = d4H/d4z9 _aH = _az9/_Hz9 _uH = d4u/d4H _zH = d4z/d4H _wtH = d4wt/d4H _ptH = d4pt/d4H _cwtH= d4H / d4cwt vH = av/_aH beta = d8*_tc**2*sr*g*m Hv = vH #dyslexia, lol Hb = (_bv)*(Hv) d5zeta = (T1u/tz9) d4zeta = d5zeta/_goldv/(g**2*m**2) d5z9 = _au*g*m czeta = 1/((ki/(1/(getHeavy((_td4)/(at)))))*beta) z7cu = cz*r*(cz/x) a_xH = w/Ht/j c_ux = bu/bx_c b_cx = m*_goldv*r #equals b/(c*x) vn = u #(w/(vH/(d4H/carbon)))*z9 #vanadium vnz9 = vn = u z2 = p.ln() / _au.ln() _vd5 = _cd4 zz3 = comega.ln() / d4omega.ln() zz4 = av.ln() / _bc.ln() zz5 = cu.ln() / cH.ln() zz6 = bomega.ln() / comega.ln() zz7 = Hb.ln() / Hv.ln() zz8 = _goldv.ln() / _goldc.ln() zz9 = agold.ln() / zgold.ln() zz10 = bomega.ln() / d4omega.ln() zz42 = (T1T3.ln() / _cd4.ln()) _omegaH = G**2 d5z9 = _au*g*m czeta = 1/((ki/(1/(getHeavy((_td4)/(at)))))*beta) z7cu = cz*r*(cz/x) a_xH = w/Ht/j c_ux = bu/bx_c b_cx = m*_goldv*r #equals b/(c*x) vn = u #(w/(vH/(d4H/carbon)))*z9 #vanadium vnz9 = vn = u z2 = p.ln() / _au.ln() _vd5 = _cd4 #Ht/bq.ratio zz3 = comega.ln() / d4omega.ln() zz4 = av.ln() / _bc.ln() zz5 = cu.ln() / cH.ln() zz6 = bomega.ln() / comega.ln() zz7 = Hb.ln() / Hv.ln() zz8 = _goldv.ln() / _goldc.ln() zz9 = agold.ln() / zgold.ln() zz10 = bomega.ln() / d4omega.ln() zz42 = (T1T3.ln() / _cd4.ln()) _omegaH == G**2 def _gold_to_d4(var): return (var**2)*Hc def d4_to_gold(var): return var*G #as opposed to inversion def subvert(var): return 1/(var-floor(var)) sv = subvert def d4_to__gold(var): return (var/Hc).sqrt() #now if we can just get conversion between the c line, the t line, the u slope, and so on. _omegaG0 = ((1/((wad4*d4H2)/Gc_d4/n/G)/druj)*d4u) psi = omega/_omegaG0 #unknown _omegapsi = _omegaG0 d4i = d4_invert()[0] d4i2 = d4_invert()[1] _upsi = d4u/(1/(((1/(w/(bu/(at/(d4wt/wau)))/(G**d4i)))/(ki/wau)/bu)*ki)) d4u/_upsi == d4_invert()[1] u_d8H = (_goldt*_goldc)/lead # equals u/(H*d8) d5a = _bc*_vc zetagold = cu*druj**2 d4psi = d4_invert()[1] _psiz = d4psi/d4z psic = (d4H*(((Ht+n)/n)-1)) #equals psi*c psit = (((bu**2)/p/_goldt/(agold/_bgold))/w)*(1/cz) psiv = ((((bu**2)/p/_goldv/(agold/_bgold))/w)*(1/cz)) rho = _gold_to_d4(_goldv)/d4 #because the lambda keyword is reserved chi = _gold_to_d4(_goldt)/d4 mm2 = m.sqrt() mm3 = m/((1/(p/(x**4)))+1) mm4 = 1/((1-(d(1)/(Q**2)))) _omegaz9 = (x*r)/g rhogold = cu/g/g/m/m avwvomega = (1/((1/_cd4)/(xvxu))) _chirho = T1T3 kappachi = ((_bgold+1)*_bgold)-_bgold _omegachi = _au _chizeta = _cd4 comega = (1/((1/_cd4)/(cu))) vomega = (((av*uv)/_tv)/d4a)/druj avwvomega = (1/((1/_cd4)/(xvxu))) #or w*(G/((1/(g*g*m))*druj*druj)) d4rho = _gold_to_d4(_goldv) #equals d4*rho d4chi = _bgold #_gold_to_d4(_goldt) tau = (1/((wad4*d4H2)/Gc_d4/n/G)/druj) _zetaz = ((1/((d4z9*2)/(d4H*G)))*2) #equals zeta/z _omegarho = G*g**2*m**2 _urho = _goldc*g*g*m*m kapparho = kappachi/_chirho _arho = _urho*_au omicron = (((gold/tin/_cd4))*(druj)) omi = omicron chigold = cu*_au _achi = _goldc #or agold/chigold _zchi = chigold/zgold _uchi = ugold/zgold _omegachi = _au _chizeta = _cd4 _chiH = G*_au vrho = (ac*cu)/av trho = 1/(_urho*(1/n)) crho = trho/druj psigold = u231 _apsi = agold/psigold _cd5 = _cd4/(_goldv*gamma**2) bzeta = abs(((p)*(_ua**2))-((n+N)*(r))) akappa = abs(((p)*(_ua**2))-((n+N)*(r))) tau1 = g / (((T1a/(((wau*X))/T1a))*h) / (abs(((s)*(Q/N))-((q/N)*(T1a))))) / m vz9 = (((_cd4)*(x2))*g2_h)/tau1 _vwt = at*g*m omiz9 = d4u/Hc/G omiH = ugold/(((((w/d4u*cz)*w)/(10/_au))/d4u)*10) vzeta = j*m*x*tzeta omizeta = d4a/cw/_cd4 z9gold = (r/G)/((G/((u235*gamma)/m))*(x**3)) u_chitau = 1/(Gc_d4/((1/((1/zG_u))/z9gold))) bchi = (1/((wad4*_z9H)/Gc_d4/n/G)/druj) _omegaz = (bz9/cz/d4z) kappaH = _H2z kappau = ((((((1/abs(n/(ki+T0)))*at))/j)*r))/d8 omichi = (((agold)/(((((w/(d4a)*cz)*w)/(10/_au))/(d4a))*10))) cchi = (at/(at/(ac/_goldc))) _rhoz = rhogold/agold tchi = (1/((1/_cd4)/(cu)))/_td4 _zetad4 = cu/_au tomega = n*_cd4 def findRuns(p): #i = randint(0, p-1) i = randint(0, ceil(w)) count = 0 while i < w: #i = randint(i+1, p+i) i = randint(i+1, ceil(w)) count = count + 1 return count def avg(ls): total = sum(ls) ln = len(ls) return total/ln def avgRuns(p, limit=100): results = [] i = 0 while i < limit: results.append(findRuns(p)) i = i + 1 return avg(results) #running average def rAvg(p, limit = 100): i = 0 result = 0 while i < limit: result = result + findRuns(p) i = i + 1 print(f"avg: {result/i}") return result/i #ops = ["+", "-", "*", "/", "*2", "/2", "*3", "/3", "*4", "/4", "**0.5", "**2", "**3", "**4", "1/", "*-1"] #ops = ["+", "-", "*", "/", "*2", "/2", "*3", "/3", "*4", "/4", "**0.5", "**2", "**3", "**4", "1/", "*-1", "+1", "-1", "getHeavy"] #ops1 = ["+", "-", "*", "/", "*2", "/2", "**0.5", "**2"] #ops2 = ["*", "/", "*2", "/2", "**0.5", "**2"] #ops3 = ["*", "/", "**0.5", "**2"] #ops3b = ["*", "/", "**0.5", "**2", "*10", "/10", "10/"] #opsroot = ["*", "/", "**0.5"] #opsq = ["*", "/", "**2"] #ops0 = ["*", "/"] #ops4 = ["+", "-", "*", "/", "*2", "/2", "*3" "**0.5", "**2", "1/", "*-1", "+1", "-1", "getHeavy"] ops = ["+", "-", "/", "*"] postOp = ["*2", "/2", "**0.5", "**2", "1/", "*-1", "getHeavy", "var"] randint = random.randint def genUnknowns(limit = 100, postOpChance=30): #u, v, t, c, d4, z, z3, z9, z11, gold, a, b, y2, T1, T3, T2 randint = random.randint vars = [u, v, t, c, d4, z, z3, z9, z11, gold, a, b, y2, T1, T3, T2] varNames = ['u', 'v', 't', 'c', 'd4', 'z', 'z3', 'z9', 'z11', 'gold', 'a', 'b', 'y2', 'T1', 'T3', 'T2'] results = [] resultNames = [] var2 = None var2Name = None var2Val = None postOpChance = 30 #out of 100 i = 0 print("starting unknown generation...") while i < limit: print("getting random vars...") op = ops[randint(0, len(ops)-1)] var = randint(0, len(vars)-1) varName = varNames[var] varVal = vars[var] var2 = randint(0, len(elements)-1) var2Name = elNames[var2] var2Val = elements[var2] performPostOp = False print("beginning random operant selection and calculation...") if op == "+": results.append((varVal+var2Val)) resultNames.append(str(varName + "+" + var2Name)) #could probably use execute or execute(string), et al, to print("appending results..") #put it into an actual namespace and return it as an actual variable elif op == "-": results.append((varVal-var2Val)) resultNames.append(str(varName + "-" + var2Name)) print("appending results..") elif op == "/": results.append((varVal/var2Val)) resultNames.append(str(varName + "/" + var2Name)) print("appending results..") elif op == "*": results.append((varVal*var2Val)) resultNames.append(str(varName + "*" + var2Name)) print("done calculating new var..") i = i + 1 print("done generating unknowns...") print(results) return results, resultNames def findAtExp(limit = 100): i = d(limit) while i > 0: result = at/(((bu*n)/_au/r/n/(ac/((av+agold)/agold)/w))**d(1/i)) result = floor(result) if p%(result-1) == d('0'): print(f"found factor!: {result-1}") return result-1 elif p%(result) == d('0'): print(f"found factor!: {result}") return result elif p%(result+1) == d('0'): print(f"found factor!: {result+1}") return result+1 print(f"result/a: {result/a}, i: {i}") i = i - 1 #else print("factor not found!") return 1 def findBaseMag(var, jlimit=0): I = 0 J = d('0') Kmag = Mag(var) K = var dg = d('0') if jlimit == 0: jlimit = Kmag while I < Kmag: J = 0 while J < jlimit: try: #either skip over 0s or add 1 to them if getDigits(var)[I] == 0: dg = d('1') if round(((((((p/dg)*(10**J))/ (sr/((K)/w/at)/j)))))) == K: print(f"found K! IJ: {I}, {J}") return I, J else: J = J + 1 except Exception: #skipping because of divide by zero J = J + 1 I = I + 1 #else print("no results found! Try increasing the limit of j") return None #new methods def inv(i, n=3, discardFirst=True, discardTrivial=True): current = i sub = 0 results = [] first = True while len(results) < n: sub = floor(current) current = 1/(current%1) #print(f"current: {current}, sub: {sub}") if first == True and discardFirst == False: if sub < 2: if discardTrivial == False: results.append(sub) first = False else: results.append(sub) first = False else: if sub < 2: if discardTrivial == False: results.append(sub) else: results.append(sub) sub = 0 #reset result z0 = max(results) z2 = min(results) del results[results.index(min(results))] del results[results.index(max(results))] z1 = results[0] return z0, z1, z2 names = ["alpha", "beta", "gamma", "delta", "epsilon", "zeta", "theta", "kappa1"] #_i = 0 #while _i < len(modes): # print(names[_i] + ": " + str(modes[_i])) # _i = _i + 1 # ******************* # ***** ELEMENTS **** # ******************* elements=[] elements.append(p) elements.append(w) elements.append(s) elements.append(Q) elements.append(q) elements.append(X) elements.append(x) elements.append(n) elements.append(N) elements.append(tux) elements.append(T0) elements.append(at) elements.append(_ua) elements.append(_au) elements.append(_axu) elements.append(bu) elements.append(qtu) elements.append(g) elements.append(xat) elements.append(_wat) elements.append(p**2) elements.append(w**2) elements.append(s**2) elements.append(Q**2) elements.append(q**2) elements.append(X**2) elements.append(x**2) elements.append(n**2) elements.append(N**2) elements.append(tux**2) elements.append(T0**2) elements.append(at**2) elements.append(_ua**2) elements.append(_au**2) elements.append(_axu**2) elements.append(bu**2) elements.append(qtu**2) elements.append(g**2) elements.append(xat**2) elements.append(_wat**2) elements.append(N*n) elements.append(n*s) elements.append(X**2) elements.append(X*n) elements.append(n/q) elements.append(Q2) elements.append(q2) elements.append(X2) elements.append(x2) elements.append(Dec('1')) elements.append(Dec('2')) elements.append(g3) elements.append(x*q) elements.append(x*Q) elements.append(x*n) elements.append(x*X) elements.append(x*N) elements.append(x**2) elements.append(x/q) elements.append(x/Q) elements.append(x/n) elements.append(x/X) elements.append(x/N) elements.append(x+q) elements.append(x+Q) elements.append(x+n) elements.append(x+X) elements.append(x+N) elements.append(q*Q) elements.append(q*n) elements.append(q*X) elements.append(q*N) elements.append(q**2) elements.append(q/Q) elements.append(q/n) elements.append(q/X) elements.append(q/N) elements.append(q+Q) elements.append(q+n) elements.append(q+X) elements.append(q+N) elements.append(Q*n) elements.append(Q*X) elements.append(Q*N) elements.append(Q**2) elements.append(Q/n) elements.append(Q/X) elements.append(Q/N) elements.append(Q+n) elements.append(Q+X) elements.append(Q+N) elements.append(n*X) elements.append(n*N) elements.append(n**2) elements.append(n/X) elements.append(n/N) elements.append(n+X) elements.append(n+N) elements.append(N**2) elements.append(x**Dec(0.5)) elements.append(q**Dec(0.5)) elements.append(Dec.copy_abs(N**Dec(0.5))) elements.append(Dec.copy_abs(x-q)) elements.append(Dec.copy_abs(x-Q)) elements.append(Dec.copy_abs(x-n)) elements.append(Dec.copy_abs(x-X)) elements.append(Dec.copy_abs(x-N)) elements.append(Dec.copy_abs(q-Q)) elements.append(Dec.copy_abs(q-n)) elements.append(Dec.copy_abs(q-X)) elements.append(Dec.copy_abs(q-N)) elements.append(Dec.copy_abs(Q-n)) elements.append(Dec.copy_abs(Q-X)) elements.append(Dec.copy_abs(Q-N)) elements.append(Dec.copy_abs(n-X)) elements.append(Dec.copy_abs(n-N)) elements.append(w/(w-dfloor(w))) elements.append((w+dceil(w))/w) elements.append((a/u)*Dec(0.5)) elements.append((a/u)*2) elements.append((a/u)*3) elements.append(s/((a/u)*Dec(0.5))) elements.append(s/g) elements.append(((a/u)*Dec(0.5))/g) elements.append((p/Q)/g) #a/xu elements.append((a/u)/x) # equals a/xu elements.append(p/(a/u)/w) #equals (w/a)*u elements.append(s/((a/u)*Dec(0.5))) #sr = s/((a/u)*0.5) elements.append((a/u)**2) #G = (a/u)**2 or (((g/((a/xu))) /1) * (g/x))/(a/u), subtle difference elements.append(1/s) #g3 elements.append(x**7) elements.append(T1a) elements.append(nN) elements.append(k) elements.append(qQ) elements.append(qq) elements.append(k_qQ) elements.append(m) elements.append(xtXu) elements.append(xtxu) elements.append(T1u) elements.append(tx_qt) elements.append(b_xt) elements.append(Xua) elements.append(njp) elements.append(sr) elements.append(wau) elements.append(h) elements.append(j) elements.append(r) elements.append(T2u) elements.append(T2q_T1_w) elements.append(T2q_T1) elements.append(b_T1) elements.append(n_N_g) elements.append(nN_au) elements.append(g3_G_g) elements.append(ax_u) elements.append(s2) elements.append(Qs2) elements.append(qs2) elements.append(Xs2) elements.append(xs2) elements.append(ns2) elements.append(ns2c) elements.append(ns2d) elements.append(Ns2) elements.append(Ns2c) elements.append(Ns2d) elements.append(v0) elements.append(X_ua) elements.append(X_ua2) elements.append(_rg) elements.append(wa_xu) elements.append(wj) elements.append(xta_wn) elements.append(_xut) elements.append(_auj) elements.append(_xutG2) elements.append(qsqrt) elements.append(nsqrt) elements.append(_rrg) elements.append(v1) elements.append(at_q) elements.append(_1qub) elements.append(gmn) elements.append(nq2) elements.append(Nq2) elements.append((T0q2)) elements.append((T0q3)) elements.append((x5)) elements.append((x6)) elements.append((x7)) elements.append((x2)) elements.append((x12)) elements.append((x13)) elements.append((ki0)) elements.append((gki)) elements.append((srgki)) elements.append((base)) elements.append((((p)*(_axu))-((_axu**2)*(Q+X)))) elements.append((b_xt)) elements.append((((X)*(x**7))-((x**7)*(xtxu)))) elements.append((G*(g**3))) elements.append((n/x5)) elements.append((1/((x**3)*g))) elements.append((r/(w/(x**9)))) elements.append((((v1)*(x/q))-((_ua)*(T0**2)))) elements.append(((n**2)/(X*x5))) elements.append((1/((r/ki)-1))) elements.append((v0**2)) elements.append(((b_xt/x/x)/g)) elements.append(((b_xt/x5)*_au)) elements.append((1/(G*(g**3)))) elements.append((g**3)) elements.append((n/(G2**3))) elements.append((G**3)) elements.append((G2**3)) elements.append(((n/(G2**3))*n)) elements.append(((n/(G2**3))/x)) elements.append(((r/g)*w)) elements.append((nN/x)) elements.append(((T2a/x6)/G2/x)) elements.append(g2_h) elements.append(ig2h) elements.append(m5) elements.append(m6) elements.append(x6) elements.append(wjm) elements.append(G3) elements.append(G3_G) elements.append(Gj) elements.append(xk) elements.append(Gjxk) elements.append((1/(g**-h)) ) elements.append((1/(g**-h))/g/m/m) elements.append(m2) elements.append(rv0m) elements.append(_ngm) elements.append(Xx6) elements.append(_1wg) elements.append(ngx) elements.append(x7gn) elements.append(d4wt) elements.append(_bbu) elements.append(wad4) elements.append(d4a) elements.append(d4t1at) elements.append(zbaseki) elements.append(d4u) elements.append(x1x) elements.append(_wad4) elements.append(d4pt) elements.append(d8) elements.append(n_kit0) elements.append(n_kat) elements.append(dru8) elements.append(audry) elements.append(wv) elements.append(cw) elements.append(cu) elements.append(d4z) elements.append(cz) elements.append(z0) elements.append(z2) elements.append(z8) elements.append(z4) elements.append(z5) elements.append(z6) elements.append(z7) elements.append(q0) elements.append(_cd4) elements.append(z8*x) elements.append(atsrgm) elements.append(r_xg) elements.append(_atd4u) elements.append(_ud4ki) elements.append(_td4) elements.append(omega0) elements.append(_bc) elements.append(omega1) #T2*a ~= q+Q elements.append(lead) elements.append(_bgold) elements.append(agold) elements.append(agolden) elements.append(lead1) elements.append(tin) elements.append(lead0) elements.append(goldsea) elements.append(boron) elements.append(platinum) elements.append(silver) elements.append(iron) elements.append(nitrogen) elements.append(helium) elements.append(druj) elements.append(_druj) elements.append(tz) elements.append(_goldt) #element name list (wip) elNames=[] elNames.append("(p)") elNames.append("(w)") elNames.append("(s)") elNames.append("(Q)") elNames.append("(q)") elNames.append("(X)") elNames.append("(x)") elNames.append("(n)") elNames.append("(N)") elNames.append("(tux)") elNames.append("(T0)") elNames.append("(at)") elNames.append("(_ua)") elNames.append("(_au)") elNames.append("(_axu)") elNames.append("(bu)") elNames.append("(qtu)") elNames.append("(g)") elNames.append("(xat)") elNames.append("(_wat)") elNames.append("(p**2)") elNames.append("(w**2)") elNames.append("(s**2)") elNames.append("(Q**2)") elNames.append("(q**2)") elNames.append("(X**2)") elNames.append("(x**2)") elNames.append("(n**2)") elNames.append("(N**2)") elNames.append("(tux**2)") elNames.append("(T0**2)") elNames.append("(at**2)") elNames.append("(_ua**2)") elNames.append("(_au**2)") elNames.append("(_axu**2)") elNames.append("(bu**2)") elNames.append("(qtu**2)") elNames.append("(g**2)") elNames.append("(xat**2)") elNames.append("(_wat**2)") elNames.append("(N*n)") elNames.append("(n*s)") elNames.append("(X**2)") elNames.append("(X*n)") elNames.append("(n/q)") elNames.append("(Q2)") elNames.append("(q2)") elNames.append("(X2)") elNames.append("(x2)") elNames.append("(1)") elNames.append("(2)") elNames.append("(g3)") elNames.append("(x*q)") elNames.append("(x*Q)") elNames.append("(x*n)") elNames.append("(x*X)") elNames.append("(x*N)") elNames.append("(x**2)") elNames.append("(x/q)") elNames.append("(x/Q)") elNames.append("(x/n)") elNames.append("(x/X)") elNames.append("(x/N)") elNames.append("(x+q)") elNames.append("(x+Q)") elNames.append("(x+n)") elNames.append("(x+X)") elNames.append("(x+N)") elNames.append("(q*Q)") elNames.append("(q*n)") elNames.append("(q*X)") elNames.append("(q*N)") elNames.append("(q**2)") elNames.append("(q/Q)") elNames.append("(q/n)") elNames.append("(q/X)") elNames.append("(q/N)") elNames.append("(q+Q)") elNames.append("(q+n)") elNames.append("(q+X)") elNames.append("(q+N)") elNames.append("(Q*n)") elNames.append("(Q*X)") elNames.append("(Q*N)") elNames.append("(Q**2)") elNames.append("(Q/n)") elNames.append("(Q/X)") elNames.append("(Q/N)") elNames.append("(Q+n)") elNames.append("(Q+X)") elNames.append("(Q+N)") elNames.append("(n*X)") elNames.append("(n*N)") elNames.append("(n**2)") elNames.append("(n/X)") elNames.append("(n/N)") elNames.append("(n+X)") elNames.append("(n+N)") elNames.append("(N**2)") elNames.append("(x**0.5)") elNames.append("(q**0.5)") elNames.append("(N**0.5)") elNames.append("(Dec.copy_abs(x-q))") elNames.append("(Dec.copy_abs(x-Q))") elNames.append("(Dec.copy_abs(x-n))") elNames.append("(Dec.copy_abs(x-X))") elNames.append("(Dec.copy_abs(x-N))") elNames.append("(Dec.copy_abs(q-Q))") elNames.append("(Dec.copy_abs(q-n))") elNames.append("(Dec.copy_abs(q-X))") elNames.append("(Dec.copy_abs(q-N))") elNames.append("(Dec.copy_abs(Q-n))") elNames.append("(Dec.copy_abs(Q-X))") elNames.append("(Dec.copy_abs(Q-N))") elNames.append("(Dec.copy_abs(n-X))") elNames.append("(Dec.copy_abs(n-N))") elNames.append("(w/(w-dfloor(w)))") elNames.append("((w+dceil(w))/w)") elNames.append("((a/u)*0.5)") elNames.append("((a/u)*2)") elNames.append("((a/u)*3)") elNames.append("(s/((a/u)*0.5))") elNames.append("(s/g)") elNames.append("(((a/u)*0.5)/g)") elNames.append("((p/Q)/g)") #a/xu elNames.append("((a/u)/x)") # equals a/xu elNames.append("(p/(a/u)/w)") #equals (w/a)*u elNames.append("(sr)") #sr = s/((a/u)*0.5) elNames.append("((a/u)**2)") #G = (a/u)**2 elNames.append("(1/s)") #g3 elNames.append("(x**7)") elNames.append("T1a") elNames.append("nN") elNames.append("k") elNames.append("qQ") elNames.append("qq") elNames.append("k_qQ") elNames.append("m") elNames.append("xtXu") elNames.append("xtxu") elNames.append("T1u") elNames.append("tx_qt") elNames.append("b_xt") elNames.append("Xua") elNames.append("njp") elNames.append("sr") elNames.append("wau") elNames.append("h") elNames.append("j") elNames.append("r") elNames.append("T2u") elNames.append("T2q_T1_w") elNames.append("T2q_T1") elNames.append("b_T1") elNames.append("n_N_g") elNames.append("nN_au") elNames.append("g3_G_g") elNames.append("ax_u") elNames.append("s2") elNames.append("Qs2") elNames.append("qs2") elNames.append("Xs2") elNames.append("xs2") elNames.append("ns2") elNames.append("ns2c") elNames.append("ns2d") elNames.append("Ns2") elNames.append("Ns2c") elNames.append("Ns2d") elNames.append("v0") elNames.append("X_ua") elNames.append("X_ua2") elNames.append("_rg") elNames.append("wa_xu") elNames.append("wj") elNames.append("xta_wn") elNames.append("_xut") elNames.append("_auj") elNames.append("_xutG2") elNames.append("qsqrt") elNames.append("nsqrt") elNames.append("_rrg") elNames.append("v1") elNames.append("at_q") elNames.append("_1qub") elNames.append("gmn") elNames.append("nq2") elNames.append("Nq2") elNames.append("T0q2") elNames.append("T0q3") elNames.append("x5") elNames.append("x6") elNames.append("x7") elNames.append("x2") elNames.append("x12") elNames.append("x13") elNames.append("ki0") elNames.append("gki") elNames.append("srgki") elNames.append("base") elNames.append("(((p)*(_axu))-((_axu**2)*(Q+X)))") elNames.append("(b_xt)") elNames.append("(((X)*(x**7))-((x**7)*(xtxu)))") elNames.append("(G*(g**3))") elNames.append("(n/x5)") elNames.append("(1/((x**3)*g))") elNames.append("(r/(w/(x**9)))") elNames.append("(((v1)*(x/q))-((_ua)*(T0**2)))") elNames.append("((n**2)/(X*x5))") elNames.append("(1/((r/ki)-1))") elNames.append("(v0**2)") elNames.append("((b_xt/x/x)/g)") elNames.append("((b_xt/x5)*_au)") elNames.append("(1/(G*(g**3))") elNames.append("(g**3)") elNames.append("(n/(G2**3))") elNames.append("(G**3)") elNames.append("(G2**3)") elNames.append("((n/(G2**3))*n)") elNames.append("((n/(G2**3))/x)") elNames.append("((r/g)*w)") elNames.append("(nN/x)") elNames.append("((T2a/x6)/G2/x)") elNames.append("g2_h") elNames.append("ig2h") elNames.append("m5") elNames.append("m6") elNames.append("x6") elNames.append("wjm") elNames.append("G3") elNames.append("G3_G") elNames.append("Gj") elNames.append("xk") elNames.append("Gjxk") elNames.append("(1/((g**-h)))") elNames.append("(((1/((g**-h))))/g/m/m)") elNames.append("m2") elNames.append("rv0m") elNames.append("_ngm") elNames.append("Xx6") elNames.append("_1wg") elNames.append("ngx") elNames.append("x7gn") elNames.append("d4wt") elNames.append("_bbu") elNames.append("wad4") elNames.append("d4a") elNames.append("d4t1at") elNames.append("zbaseki") elNames.append("d4u") elNames.append("x1x") elNames.append("_wad4") elNames.append("d4pt") elNames.append("d8") elNames.append("n_kit0") elNames.append("n_kat") elNames.append("dru8") elNames.append("audry") elNames.append("wv") elNames.append("cw") elNames.append("cu") elNames.append("d4z") elNames.append("cz") elNames.append("z0") elNames.append("z2") elNames.append("z8") elNames.append("z4") elNames.append("z5") elNames.append("z6") elNames.append("z7") elNames.append("q0") elNames.append("_cd4") elNames.append("z8*x") elNames.append("atsrgm") elNames.append("rg_x") elNames.append("_atd4u") elNames.append("_ud4ki") elNames.append("_td4") elNames.append("omega0") elNames.append("_bc") elNames.append("omega1") elNames.append("lead") elNames.append("_bgold") elNames.append("agold") elNames.append("agolden") elNames.append("lead1") elNames.append("tin") elNames.append("lead0") elNames.append("goldsea") elNames.append("boron") elNames.append("platinum") elNames.append("silver") elNames.append("iron") elNames.append("nitrogen") elNames.append("helium") elNames.append("druj") elNames.append("_druj") elNames.append("tz") elNames.append("_goldt") elements.append(tz) elements.append(rg3) elements.append(ac) elements.append(_tc) elements.append(_bt) elements.append(_az) elements.append(zgold) elements.append(z01) elements.append(_d8lead) elements.append(_tc) elements.append(zgold) elements.append(ugold) elements.append(_uz) elements.append(_bv) elements.append(av) elements.append(zz) elements.append(hydrogen) elements.append(gold_xt) elements.append(xx4) elements.append(charm) elements.append(up) elements.append(strange) elements.append(bxx4t) elements.append(bx2xx2t) elements.append(T1_c) elements.append(_tv) elements.append(_tc) elements.append(gamma) elements.append(Gamma) elements.append(vz) elements.append(_vc) elements.append(_bd4) elements.append(beta ) elements.append(muon ) elements.append(heavy) elements.append(uv) elements.append(vc_c) elements.append(vc_v) elements.append(vt_t) elements.append(_n_nac) elements.append(_n_nac2) elements.append(xacrd4z) elements.append(uno) elements.append(pgamma) elements.append(nzt) elements.append(Gc_d4) elements.append(at_goldt) elements.append(_goldv) elements.append(_vt) elements.append(neon) elements.append(_uz9) elements.append(bz) elements.append(xenon) elements.append(_uz9) elements.append(estU) elements.append(estu) elements.append(Xt_v) elements.append(v_xt) elements.append(Gt_d4) elements.append(Gv_t) elements.append(Gt_v) elements.append(T1T3) elements.append(T3T2) elements.append(d4_xenonv) elements.append(carbon) elements.append(parc) elements.append(bx_c) elements.append(argon) elements.append(cobalt) elements.append(_vd4) elNames.append("tz") elNames.append("rg3") elNames.append("ac") elNames.append("_tc") elNames.append("_bt") elNames.append("_az") elNames.append("zgold") elNames.append("z01") elNames.append("_d8lead") elNames.append("_tc") elNames.append("zgold") elNames.append("ugold") elNames.append("_uz") elNames.append("_bv") elNames.append("av") elNames.append("zz") elNames.append("hydrogen") elNames.append("gold_xt") elNames.append("xx4") elNames.append("charm") elNames.append("up") elNames.append("strange") elNames.append("bxx4t") elNames.append("bx2xx2t") elNames.append("T1_c") elNames.append("_tv") elNames.append("_tc") elNames.append("gamma") elNames.append("Gamma") elNames.append("vz") elNames.append("_vc") elNames.append("_bd4") elNames.append("beta ") elNames.append("muon ") elNames.append("heavy") elNames.append("uv") elNames.append("vc_c") elNames.append("vc_v") elNames.append("vt_t") elNames.append("_n_nac") elNames.append("_n_nac2") elNames.append("xacrd4z") elNames.append("uno") elNames.append("pgamma") elNames.append("nzt") elNames.append("Gc_d4") elNames.append("at_goldt") elNames.append("_goldv") elNames.append("_vt") elNames.append("neon") elNames.append("_uz9") elNames.append("bz") elNames.append("xenon") elNames.append("_uz9") elNames.append("estU") elNames.append("estu") elNames.append("Xt_v") elNames.append("v_xt") elNames.append("Gt_d4") elNames.append("Gv_t") elNames.append("Gt_v") elNames.append("T1T3") elNames.append("T3T2") elNames.append("d4_xenonv") elNames.append("carbon") elNames.append("parc") elNames.append("bx_c") elNames.append("argon") elNames.append("cobalt") elNames.append("_vd4") elements.append(tz2) elements.append(u235) elements.append(u238) elements.append(zG_u) elements.append(uno2) elements.append(u231) elements.append(d4wv) elements.append(d4cwt) elements.append(_wtz9) elements.append(_ptz9) elements.append(_wvz9) elements.append(_pcz9) elements.append(d4cwt) elements.append(d4cw_v) elements.append(d4tau) elements.append(ctau) elements.append(_tauz9) elements.append(_atau) elements.append(_utau) elements.append(_ztau) elements.append(_wttau) elements.append(_pttau) elements.append(_cwttau) elements.append(d4zeta) elements.append(_azeta) elements.append(_uzeta) elements.append(_zetaz9) elements.append(tzeta) elements.append(d4cw_v ) elements.append(d4H) elements.append(_zG_u) elements.append(_aH) elements.append(_uH) elements.append(_zH) elements.append(_Hz) elements.append(_z9H) elements.append(_Hz9) elements.append(d5H) elements.append(d4H2) elements.append(_H2u) elements.append(_H2a) elements.append(_H2z) elements.append(_H2H) elements.append(_H2cw_v) elements.append(_H2z9) elements.append(_aG_u) elements.append(_HG_u) elements.append(cH) elements.append(cH2) elements.append(_zetaH) elNames.append("tz2") elNames.append("u235") elNames.append("u238") elNames.append("zG_u") elNames.append("uno2") elNames.append("u231") elNames.append("d4wv") elNames.append("d4cwt") elNames.append("_wtz9") elNames.append("_ptz9") elNames.append("_wvz9") elNames.append("_pcz9") elNames.append("d4cwt") elNames.append("d4cw_v") elNames.append("d4tau") elNames.append("ctau") elNames.append("_tauz9") elNames.append("_atau") elNames.append("_utau") elNames.append("_ztau") elNames.append("_wttau") elNames.append("_pttau") elNames.append("_cwttau") elNames.append("d4zeta") elNames.append("_azeta") elNames.append("_uzeta") elNames.append("_zetaz9") elNames.append("tzeta") elNames.append("d4cw_v ") elNames.append("d4H") elNames.append("_zG_u") elNames.append("_aH") elNames.append("_uH") elNames.append("_zH") elNames.append("_Hz") elNames.append("_z9H") elNames.append("_Hz9") elNames.append("d5H") elNames.append("d4H2") elNames.append("_H2u") elNames.append("_H2a") elNames.append("_H2z") elNames.append("_H2H") elNames.append("_H2cw_v") elNames.append("_H2z9") elNames.append("_aG_u") elNames.append("_HG_u") elNames.append("cH") elNames.append("cH2") elNames.append("_zetaH") elements.append(_x1x) elements.append(bc_c) elements.append(bc_b) elements.append(vd4_v) elements.append(vd4_d4) elements.append(cd4_c) elements.append(cd4_d4) elements.append(td4_d4) elements.append(td4_t) elements.append(goldv_v) elements.append(goldv_gold) elements.append(cd4_td4) elements.append(g2) elements.append(xroot) elements.append(subgold) elements.append(_az9) elements.append(_uz9) elements.append(bz9) elements.append(d4pc) elements.append(_T1T2) elements.append(quartz) elements.append(qz) elements.append(u_uz) elements.append(T1z) elements.append(_pcz) elements.append(_k4k3) elements.append(d4z9) elements.append(tz2) elements.append(u235) elements.append(u238) elements.append(zG_u) elements.append(uno2) elements.append(u231) elements.append(d4wv) elements.append(d4cwt) elements.append(_wtz9) elements.append(_ptz9) elements.append(_wvz9) elements.append(_pcz9) elements.append(d4cwt) elements.append(d4cw_v) elements.append(d4zeta) elements.append(_azeta) elements.append(_uzeta) elements.append(_zetaz9) elements.append(tzeta) elements.append(d4cw_v) elements.append(d4H) elements.append(_zG_u) elements.append(_aH) elements.append(_uH) elements.append(_zH) elements.append(_Hz) elements.append(_z9H) elements.append(_Hz9) elements.append(d5H) elements.append(d4H2) elements.append(H2) elements.append(_H2u) elements.append(_H2a) elements.append(_H2z) elements.append(_H2H) elements.append(_H2cw_v) elements.append(_H2z9) elements.append(_aG_u) elements.append(_HG_u) elements.append(cH) elements.append(cH2) elements.append(_zetaH) elements.append(Ht) elements.append(Hc) elements.append(xvxu) elements.append(d4omega) elements.append(comega) elements.append(omegagold) elements.append(H2gold) elements.append(d4cwgold) elements.append(Hgold) elements.append(bomega) elements.append(d4H) elements.append(_Hz9) elements.append(_wtH) elements.append(_ptH) elements.append(_cwtH) elements.append(vH) elements.append(beta) elements.append(Hv) elements.append(Hb) elements.append(d5zeta) elements.append(d4zeta) elements.append(d5z9) elements.append(czeta) elements.append(z7cu) elements.append(a_xH) elements.append(c_ux) elements.append(b_cx) elements.append(z2) elements.append(zz3) elements.append(zz4) elements.append(zz5) elements.append(zz6) elements.append(zz7) elements.append(zz8) elements.append(zz9) elements.append(zz10) elements.append(zz42) elements.append(_omegaH) elements.append(d5z9) elements.append(czeta) elements.append(z7cu) elements.append(a_xH) elements.append(tau1) elements.append(vz9) elements.append(_vwt) elements.append(omiz9) elements.append(omiH) elements.append(vzeta) elements.append(omizeta) elements.append(z9gold) elements.append(u_chitau) elements.append(bchi) elements.append(_omegaz) elements.append(kappaH) elements.append(kappau) elements.append(omichi) elements.append(_omegapsi) elements.append(d4i) elements.append(d4i2) elements.append(_upsi) elements.append(u_d8H) elements.append(d5a) elements.append(zetagold) elements.append(d4psi) elements.append(_psiz) elements.append(psic) elements.append(psit) elements.append(psiv) elements.append(mm2) elements.append(mm3) elements.append(mm4) elements.append(_omegaz9) elements.append(rhogold) elements.append(avwvomega) elements.append(_chirho) elements.append(kappachi) elements.append(_omegachi) elements.append(_chizeta) elements.append(comega) elements.append(vomega) elements.append(avwvomega) elements.append(d4rho) elements.append(d4chi) elements.append(tau) elements.append(_zetaz) elements.append(_omegarho) elements.append(_urho) elements.append(kapparho) elements.append(_arho) elements.append(chigold) elements.append(_achi) elements.append(_zchi) elements.append(_uchi) elements.append(_omegachi) elements.append(_chizeta) elements.append(_chiH) elements.append(vrho) elements.append(trho) elements.append(crho) elements.append(psigold) elements.append(_apsi) elements.append(_cd5) elements.append(bzeta) elements.append(akappa) elements.append(cchi) elements.append(_rhoz) elements.append(tchi) elements.append(_zetad4) elements.append(_omegapsi) elements.append(tomega) elNames.append("_x1x") elNames.append("bc_c") elNames.append("bc_b") elNames.append("vd4_v") elNames.append("vd4_d4") elNames.append("cd4_c") elNames.append("cd4_d4") elNames.append("td4_d4") elNames.append("td4_t") elNames.append("goldv_v") elNames.append("goldv_gold") elNames.append("cd4_td4") elNames.append("g2") elNames.append("xroot") elNames.append("subgold") elNames.append("_az9") elNames.append("_uz9") elNames.append("bz9") elNames.append("d4pc") elNames.append("_T1T2") elNames.append("quartz") elNames.append("qz") elNames.append("u_uz") elNames.append("T1z") elNames.append("_pcz") elNames.append("_k4k3") elNames.append("d4z9") elNames.append("tz2") elNames.append("u235") elNames.append("u238") elNames.append("zG_u") elNames.append("uno2") elNames.append("u231") elNames.append("d4wv") elNames.append("d4cwt") elNames.append("_wtz9") elNames.append("_ptz9") elNames.append("_wvz9") elNames.append("_pcz9") elNames.append("d4cwt") elNames.append("d4cw_v") elNames.append("d4zeta") elNames.append("_azeta") elNames.append("_uzeta") elNames.append("_zetaz9") elNames.append("tzeta") elNames.append("d4cw_v") elNames.append("d4H") elNames.append("_zG_u") elNames.append("_aH") elNames.append("_uH") elNames.append("_zH") elNames.append("_Hz") elNames.append("_z9H") elNames.append("_Hz9") elNames.append("d5H") elNames.append("d4H2") elNames.append("H2") elNames.append("_H2u") elNames.append("_H2a") elNames.append("_H2z") elNames.append("_H2H") elNames.append("_H2cw_v") elNames.append("_H2z9") elNames.append("_aG_u") elNames.append("_HG_u") elNames.append("cH") elNames.append("cH2") elNames.append("_zetaH") elNames.append("Ht") elNames.append("Hc") elNames.append("xvxu") elNames.append("d4omega") elNames.append("comega") elNames.append("omegagold") elNames.append("H2gold") elNames.append("d4cwgold") elNames.append("Hgold") elNames.append("bomega") elNames.append("d4H") elNames.append("_Hz9") elNames.append("_wtH") elNames.append("_ptH") elNames.append("_cwtH") elNames.append("vH") elNames.append("beta") elNames.append("Hv") elNames.append("Hb") elNames.append("d5zeta") elNames.append("d4zeta") elNames.append("d5z9") elNames.append("czeta") elNames.append("z7cu") elNames.append("a_xH") elNames.append("c_ux") elNames.append("b_cx") elNames.append("z2") elNames.append("zz3") elNames.append("zz4") elNames.append("zz5") elNames.append("zz6") elNames.append("zz7") elNames.append("zz8") elNames.append("zz9") elNames.append("zz10") elNames.append("zz42") elNames.append("_omegaH") elNames.append("d5z9") elNames.append("czeta") elNames.append("z7cu") elNames.append("a_xH") elNames.append("tau1") elNames.append("vz9") elNames.append("_vwt") elNames.append("omiz9") elNames.append("omiH") elNames.append("vzeta") elNames.append("omizeta") elNames.append("z9gold") elNames.append("u_chitau") elNames.append("bchi") elNames.append("_omegaz") elNames.append("kappaH") elNames.append("kappau") elNames.append("omichi") elNames.append("_omegapsi") elNames.append("d4i") elNames.append("d4i2") elNames.append("_upsi") elNames.append("u_d8H") elNames.append("d5a") elNames.append("zetagold") elNames.append("d4psi") elNames.append("_psiz") elNames.append("psic") elNames.append("psit") elNames.append("psiv") elNames.append("mm2") elNames.append("mm3") elNames.append("mm4") elNames.append("_omegaz9") elNames.append("rhogold") elNames.append("avwvomega") elNames.append("_chirho") elNames.append("kappachi") elNames.append("_omegachi") elNames.append("_chizeta") elNames.append("comega") elNames.append("vomega") elNames.append("avwvomega") elNames.append("d4rho") elNames.append("d4chi") elNames.append("tau") elNames.append("_zetaz") elNames.append("_omegarho") elNames.append("_urho") elNames.append("kapparho") elNames.append("_arho") elNames.append("chigold") elNames.append("_achi") elNames.append("_zchi") elNames.append("_uchi") elNames.append("_omegachi") elNames.append("_chizeta") elNames.append("_chiH") elNames.append("vrho") elNames.append("trho") elNames.append("crho") elNames.append("psigold") elNames.append("_apsi") elNames.append("_cd5") elNames.append("bzeta") elNames.append("akappa") elNames.append("cchi") elNames.append("_rhoz") elNames.append("tchi") elNames.append("_zetad4") elNames.append("_omegapsi") elNames.append("tomega") #limited collection of known variables redefined based on particular magnitudes of p class Quarkset: def __init__(self, digit, mag): self.digit = digit self.mag = mag self.q = ((((p/getDigits(p)[digit])*(10**d(mag)))/ (sr/((n)/w/at)/j))-x) self.Q = (((((p/getDigits(p)[digit])*(10**d(mag)))/ (sr/((n)/w/at)/j))-x)*w) self.X = (p/((((p/getDigits(p)[digit])*(10**d(mag)))/ (sr/((n)/w/at)/j))-x)) self.N = abs(((((p/getDigits(p)[digit])*(10**d(mag)))/ (sr/((n)/w/at)/j))-x)-x) self.n = x+self.q self.d4a = (((p/getDigits(p)[digit])*(10**d(mag)))/ (sr/((_bc)/w/at)/j)) def genMagSets(p, digit=0): i = 0 results = [] while i <= (Mag(p)-1): results.append(Quarkset(i, digit)) i = i + 1 return results ''' def genMagSets(p, digit=0): i = 0 results = [] basemag = findBaseMag(p) while i <= (Mag(p)-1): results.append(Quarkset(i, digit, basemag)) i = i + 1 return results ''' #example of a viable matrix [IJK] for a q-algebra at a given magnitude of p such that n=n # I J K #((((((p/getDigits(p)[3])*(10**d('8')))/ (sr/((p)/w/at)/j))))) #the one where n = n def findBaseMag(var, jlimit=0): I = 0 J = d('0') Kmag = Mag(var) K = var res = None if jlimit == 0: jlimit = Kmag while I < Kmag: J = 0 while J < jlimit: try: res = round(((((((p/getDigits(p)[I])*(10**J))/ (sr/((K)/w/at)/j)))))) print(f"findBaseMag() => response value: {res}") if res == K: print(f"found K! IJ: {I}, {J}") return I, J else: J = J + 1 except: #a zero occured. J = J + 1 I = I + 1 #else print("no results found! Try increasing the limit of j") return None #bq = BaseQuark(p) #elements.append(bq.ratio) #elNames.append("bq.ratio") def getHeavy(var): return (var*(g*m))-var def genHeavy(elements=elements, elNames=elNames): i = 0 lngEl = len(elements) lngNames = len(elNames) while i < lngEl: elements.append(getHeavy(elements[i])) elNames.append("getHeavy(" + elNames[i] + ")") i = i + 1 genHeavy() ops = ["+", "-", "*", "/", "*2", "/2", "*3", "/3", "*4", "/4", "**0.5", "**2", "**3", "**4", "1/", "*-1"] ops = ["+", "-", "*", "/", "*2", "/2", "*3", "/3", "*4", "/4", "**0.5", "**2", "**3", "**4", "1/", "*-1", "+1", "-1", "getHeavy"] ops = ["+", "-", "*", "/", "*2", "/2", "*3", "/3", "*4", "/4", "**0.5", "**2", "**3", "**4", "1/", "*-1", "+1", "-1"] #light variation ops1 = ["+", "-", "*", "/", "*2", "/2", "**0.5", "**2"] ops2 = ["*", "/", "*2", "/2", "**0.5", "**2"] ops3 = ["*", "/", "**0.5", "**2"] ops3b = ["*", "/", "**0.5", "**2", "*10", "/10", "10/"] opsroot = ["*", "/", "**0.5"] opsq = ["*", "/", "**2"] ops0 = ["*", "/"] ops4 = ["+", "-", "*", "/", "*2", "/2", "*3" "**0.5", "**2", "1/", "*-1", "+1", "-1", "getHeavy"] ops5 = ["+", "-", "*", "/", "*2", "/2", "*3" "**0.5", "**2", "1/", "*-1", "+1", "-1", "d4_to_gold", "subert", "d4_to__gold", "_gold_to_d4"] gamma = g*m def walk(start, min, max, reps, target, elements, accuracy=Dec('0.00000001'), jiggle=False, ops=ops5): partial = start temp = partial i = 0 el = start oplist = [] #used to build operations string while i < reps: j = 0 k = random.randint(min, max) #begin initial random walk #stepStr = "(start)" try: stepStr = "(" + elNames[elements.index(start)] + ")" #could cause issues if the value isn't in the list except: #stepStr = "(start)" stepStr = "(" + str(start) + ")" partial = start temp = partial while j <= k: m = random.randint(0, len(elements)-1) el = elements[m] op = ops[random.randint(0, len(ops)-1)] if jiggle == True: jiggle = (random.randint(1, 10)/10)*random.randint(-1, 1) else: jiggle = 0 #print(op) #print(str(el)) try: if op == "+": temp = Dec.copy_abs(partial + el) #then check to see if it is target #then log the new operation in the list partial = temp stepStr = "(" + stepStr + "+" + elNames[m] + ")" if op == "-": temp = Dec.copy_abs(partial - el) partial = temp stepStr = "Dec.copy_abs(" + stepStr + "-" + elNames[m] + ")" if op == "*": temp = Dec.copy_abs(partial * el) partial = temp stepStr = "(" + stepStr + "*" + elNames[m] + ")" if op == "/": temp = partial / el partial = temp stepStr = "(" + stepStr + "/" + elNames[m] + ")" if op == "*2": temp == partial * 2 partial = temp stepStr = "(" + stepStr + "*2" + ")" if op == "/2": temp = partial / 2 partial = temp stepStr = "(" + stepStr + "/2" + ")" if op == "*3": temp = partial * 3 partial = temp stepStr = "(" + stepStr + "*3" + ")" if op == "/3": temp = partial / 3 partial = temp stepStr = "(" + stepStr + "/3" + ")" if op == "*4": temp = partial * 4 partial = temp stepStr = "(" + stepStr + "*4" + ")" if op == "/4": temp = partial / 4 partial = temp stepStr = "(" + stepStr + "/4" + ")" if op == "**0.5": temp = Dec.copy_abs(partial**Dec(Dec(0.5)+jiggle)) partial = temp stepStr = "Dec.copy_abs(" + stepStr + "**(0.5+" + str(jiggle) + ")" + ")" if op == "**2": #temp = partial**2 temp = Dec.copy_abs(partial**Dec(2+jiggle)) partial = temp stepStr = "(" + stepStr + "**(2+" + str(jiggle) + ")" + ")" if op == "**3": #temp = partial**3 temp = Dec(Dec.copy_abs(partial**Dec(3+jiggle))) #Dec.copy_abs may cause issues here partial = temp stepStr = "(" + stepStr + "**(3+" + str(jiggle) + ")" + ")" if op == "**4": #temp = partial**4 temp = partial**(4+jiggle) partial = temp stepStr = "(" + stepStr + "**(4+" + str(jiggle) + ")" + ")" if op == "sublimate": temp = sublimate(partial) partial = temp stepStr = "(sublimate(" + stepStr + "))" if op == "1/": temp = (1/partial)+1 partial = temp stepStr = "((1/" + stepStr + ")+1)" if op == "*-1": temp = partial*-1 partial = temp stepStr = "(" + stepStr + "*-1)" if op == "*10": temp = partial*10 partial = temp stepStr = "(" + stepStr + ")" if op == "/10": temp = partial/10 partial = temp stepStr = "(" + stepStr + "/10)" if op == "10/": temp = 10/partial partial = temp stepStr = "(10/" + stepStr + ")" if op == "+1": temp = partial+1 partial = temp stepStr = "(" + stepStr + "+1" + ")" if op == "-1": temp = partial-1 partial = temp stepStr = "(" + stepStr + "-1" + ")" if op == "getHeavy": temp = getHeavy(temp) partial = temp stepStr = "(getHeavy(" + stepStr + ")" + ")" if op == "d4_to_gold": temp = d4_to_gold(temp) partial = temp stepStr = ("d4_to_gold(" + stepStr + ")") if op == "subvert": temp = subert(temp) partial = temp stepStr = ("subvert(" + stepStr + ")") if op == "d4_to__gold": temp = d4_to__gold(temp) partial = temp stepStr = ("d4_to__gold(" + stepStr + ")") if op == "_gold_to_d4": temp = _gold_to_d4(temp) partial = temp stepStr = ("_gold_to_d4(" + stepStr + ")") print(str(partial)) print(str(stepStr)) if (target)+accuracy >= partial and (target)-accuracy <= partial: print("FOUND TARGET!") print(stepStr) print("partial: " + str(partial)) #should just check to see if it is a factor instead return partial, stepStr except: pass j = j + 1 print(stepStr) print("Final partial:" + str(partial)) i = i + 1 print("no target found!") sndFailShort() return None ugold = agold/_au _p0 = (p/getDigits(p)[0]) def walkAll(min, max, reps, target, elements, accuracy=Dec('0.00000001'), jiggle=False, ops=ops): i = 0 results = [] result = None #print(elements) while i < len(elements): result = walk(elements[i], min, max, reps, target, elements, accuracy, jiggle, ops) if result != None: results.append(result) result = None i = i + 1 return results #this takes the starting value and just increments it up to the number of reps #be warned that this can be SLOW because it's actually lineWalk.reps*walk.reps iterations #change invert to negative -1 to invert i, or do subtraction def lineWalk(maxLoops, start, min, max, reps, target, elements, accuracy=0.00000001, invert=1): i = 0 results = [] result = None while i < maxLoops: result = walk(start+(i*invert), min, max, reps, target, elements, accuracy=0.00000001) if result != None: results.append([result, start+(i*invert)]) result = None #reset it when done i = i + 1 return results #sublimates a list of elements fed to it and then returns the modified list and elNames def subWalk(elements, elNames): i = 0 result = [] names = [] while i < len(elements): result.append(elements[i]%10) names.append("(" + elNames[i] + "%10)") i = i + 1 return elements+result, elNames+names def lineWalkAll(outer, maxLoops, min, max, reps, target, elements, accuracy=0.00000001, invert=1): i = 0 results = [] result = None while i < len(elements): result = lineWalk(maxLoops, elements[i], min, max, reps, target, elements, accuracy, invert) if result != None: results.append([result, elements[i]]) result = None i = i + 1 return results def atjConvert(digit=0): i = 1 dg = (p*(i/(p/getDigits(p)[digit]))) result = str((p*(i/(p/getDigits(p)[digit]))))[:-5] while True: #if ('2' in result or '3' in result or '4' in result or '5' in result or '6' in result or '7' in result or '8' in result or '9' in result) == False and result.count('1') <= 1: if ('2' in result or '3' in result or '4' in result or '5' in result or '6' in result or '7' in result or '8' in result or '9' in result) == False: #print(f"finished atJ conversion! i: {i}, val: {(p*(i/(p/getDigits(p)[0])))}") return i #else #print(f"atJconvert() i: {i}, result: {result}") i = i + 1 result = str((p*(i/(p/getDigits(p)[digit]))))[:-5] #print(f"finished atJ conversion! i: {i}, val: {(p*(i/(p/getDigits(p)[0])))}") #return i #else: print("failed to find it") #this is technically unreachable right now. Need some default limit return None def atjMatch(digit=0): atj = atjConvert(digit) p0 = getDigits(p)[digit] print(f"atj ratio: {(((at**2)*p)/n/w/at/atj) / (1/(((((((w/p0))/(p))*(10**d((Mag(p*(atjConvert()/(p/p0)))-1)))))/((p*1)/n/n))))}") #need to handle rounding issues of course def atjMag(digit=0): return (Mag(p*(atjConvert(digit)/(p/getDigits(p)[digit])))-1) digit = 0 ''' k0 = (p/getDigits(p)[digit]) k1 = atjConvert() k2 = n*k1 k3 = k2/at k4 = k3*(at/n)*p ''' #generate determinates of elements def determine(elements=elements, elNames=elNames, fileName="determinants"): i = 0 j = 0 k = 0 l = 0 fileCount = 0 #results = [None]*1_000_000 results = [] resultNames = [] startTime = perf_counter() while i < len(elements): print("working: " + str((((i+1)/len(elements))*100))[:5] + "% done") print("new elements: " + str(len(results))) j = 0 while j < len(elements): k = 0 while k < len(elements): l = 0 while l < len(elements): results.append((elements[i]*elements[j]) - (elements[k]*elements[l])) #results[(i*j*k)+l] = (elements[i]*elements[j]) - (elements[k]*elements[l]) #resultNames.append("(" + elNames[i] + "*" + elNames[j] + ")" + "-" + "(" + elNames[k] + "*" + elNames[l] + ")") #if str(results[len(results)-1:]) != [None]: if len(results) >= 1_000_000: #open a new file, write out the results, close file and continue f = open(fileName+str(fileCount)+".txt", "a") #print("first result: " + str(results[0])) print("writing intermediate results to file...") for result in results: f.write(str(result)[:64] + "\n") f.close() print("done writing. closing stream. allocating fresh list...") #results = [None]*1_000_000 #reset results and continue results = [] fileCount = fileCount + 1 l = l + 1 k = k + 1 j = j + 1 i = i + 1 #return results, resultNames #do a final write of results: f = open(fileName+"Final.txt", "a") print("DONE. writing remaining determinants to determinants.txt file...") for result in results: f.write(str(result)[:64] + "\n") f.close() print("time: " + str(perf_counter() - startTime) + "s\n") print("Determination calculations COMPLETE!") #used to start a start*1 million (for finding results based on the index of saved determinant lists) def determineFast(start=0, elements=elements, elNames=elNames, target=a*x*u, quitAfterFirst=True, accuracy=Dec('0.0000000000000000001')): if start > 0: start = start * 1_000_000 i = int(floor((start/(len(elements)**4))*len(elements))) else: i = 0 j = 0 k = 0 l = 0 result = None results = [] resultStr = None #results = [None]*1_000_000 startTime = perf_counter() while i < len(elements): print("working: " + str((((i+1)/len(elements))*100)-0.01)[:5] + "% done") j = 0 while j < len(elements): k = 0 while k < len(elements): l = 0 while l < len(elements): result = Dec.copy_abs(Dec(elements[i]*elements[j]) - (elements[k]*elements[l])) if target+accuracy >= result and target-accuracy <= result and quitAfterFirst == True: print("***** SUCCESS !!! *****") print("working: 100% done") print("time: " + str(perf_counter() - startTime) + "s\n") print("found results!") print("result: " + "\n" + str(result)) resultStr = "(" + elNames[i] + "*" + elNames[j] + ")" + "-" + "(" + elNames[k] + "*" + elNames[l] + ")" print("(" + elNames[i] + "*" + elNames[j] + ")" + "-" + "(" + elNames[k] + "*" + elNames[l] + ")") sndSuccess() return resultStr elif target+accuracy >= result and target-accuracy <= result and quitAfterFirst == False: print("***** SUCCESS !!! *****") print("working: 100% done") print("time: " + str(perf_counter() - startTime) + "s\n") print("found results!") print("result: " + "\n" + str(result)) resultStr = "(" + elNames[i] + "*" + elNames[j] + ")" + "-" + "(" + elNames[k] + "*" + elNames[l] + ")" print("(" + elNames[i] + "*" + elNames[j] + ")" + "-" + "(" + elNames[k] + "*" + elNames[l] + ")") sndSuccess() results.append(resultStr) l = l + 1 k = k + 1 j = j + 1 i = i + 1 print("time: " + str(perf_counter() - startTime) + "s\n") if quitAfterFirst == False: if len(results) > 0: print("Determination calculations COMPLETE! Found determinants!") sndSuccess() return results else: print("Determination calculations COMPLETE! No determinants found.") sndFail() return None #finds determinants, without index, based on absolute value for the cases where it otherwise wouldnt #because some important variable has gone negative or fractional for exmple. def determineFastAbs(elements=elements, elNames=elNames, target=a*x*u, accuracy=Dec('0.0000000000000000001')): i = 17 j = 0 k = 0 l = 0 result = None resultStr = None #results = [None]*1_000_000 startTime = perf_counter() while i < len(elements): print("working: " + str((((i+1)/len(elements))*100))[:5] + "% done") j = 0 while j < len(elements): k = 0 while k < len(elements): l = 0 while l < len(elements): result = Dec.copy_abs(Dec(elements[i]*elements[j]) - (elements[k]*elements[l])) #result = Dec(elements[i]*elements[j]) - (elements[k]*elements[l]) if target+accuracy >= result and target-accuracy <= result: print("***** SUCCESS !!! *****") print("time: " + str(perf_counter() - startTime) + "s\n") print("found results!") print("result: " + str(result) + ", i: " + str(i) + ", j: " + str(j) + ", k: " + str(k) + ", l: " + str(l)) resultStr = "(" + elNames[i] + "*" + elNames[j] + ")" + "-" + "(" + elNames[k] + "*" + elNames[l] + ")" print("(" + elNames[i] + "*" + elNames[j] + ")" + "-" + "(" + elNames[k] + "*" + elNames[l] + ")") sndSuccess() return resultStr l = l + 1 k = k + 1 j = j + 1 i = i + 1 print("time: " + str(perf_counter() - startTime) + "s\n") print("Determination calculations COMPLETE! No determinants found.") sndFail() return None def determineFast2(elements=elements, elNames=elNames, target=a*x*u, endOnResult=True, cutOfResultLen=10, accuracy=Dec('0.000000001')): i = 0 j = 0 k = 0 l = 0 result = None resultStr = None resultList = [] #results = [None]*1_000_000 startTime = perf_counter() while i < len(elements): print("working: " + str((((i+1)/len(elements))*100))[:5] + "% done") j = 0 while j < len(elements): k = 0 while k < len(elements): l = 0 while l < len(elements): result = Dec.copy_abs(Dec(elements[i]*elements[j]) - (elements[k]*elements[l])) if abs(target+accuracy) >= abs(result) and abs(target-accuracy) <= abs(result): print("time: " + str(perf_counter() - startTime) + "s\n") print("found results!") print("result: " + str(result)) resultStr = "(" + elNames[i] + "*" + elNames[j] + ")" + "-" + "(" + elNames[k] + "*" + elNames[l] + ")" print("(" + elNames[i] + "*" + elNames[j] + ")" + "-" + "(" + elNames[k] + "*" + elNames[l] + ")") if endOnResult == True: return resultStr else: resultList.append(resultStr) l = l + 1 k = k + 1 j = j + 1 i = i + 1 print("time: " + str(perf_counter() - startTime) + "s\n") if endOnResult == True: print("Determination calculations COMPLETE! No determinants found.") if endOnResult == False: print("Determination calculations COMPLETE!") print(resultList) return resultList return None #tries to match our target to a randomized trace def randomTrace(target, cutoff=1000, accuracy=Dec('0.00000001')): i = 0 while i < cutoff: _j = random.randint(0, len(elements)-1) _k = random.randint(0, len(elements)-1) _l = random.randint(0, len(elements)-1) _m = random.randint(0, len(elements)-1) #_ji = random.choice([-1, 1])#*(random.randint(1, 2)) #_ki = random.choice([-1, 1])#*(random.randint(1, 2)) #_li = random.choice([-1, 1])#*(random.randint(1, 2)) #_mi = random.choice([-1, 1])#*(random.randint(1, 2)) _ji = random.randint(-1, 1) _ki = random.randint(-1, 1) _li = random.randint(-1, 1) _mi = random.randint(-1, 1) #resultStr = elNames[_j] + " + " + elNames[_k] + " + " + elNames[_l] + " + " + elNames[_m] #result = (elements[_j] + elements[_k] + elements[_l]) + elements[_m] resultStr = "(" + elNames[_j] + "*" + str(_ji) + ")" + "+" "(" + elNames[_k] + "*" + str(_ki) + ")" + "+" "(" + elNames[_l] + "*" + str(_li) + ")" + "+" "(" + elNames[_m] + "*" + str(_mi) + ")" result = (elements[_j]*_ji) + (elements[_k]*_ki) + (elements[_l]*_li) + (elements[_m]*_mi) print(str(result)) print(resultStr) if (target)+accuracy >= result and (target)-accuracy <= result: print("*** !!!!!!!! ****") print("found target trace! : " + resultStr) print("ratio: " + str(result/target)) print("trace: " + resultStr) return resultStr else: i = i + 1 print(" ") print("no trace found! try lowering the accuracy or increasing cutoff.") return None def nTrace(var, acc=d('0.0000001')): i = ceil(var) result = None while i > 0: result = randomTrace(var-i, 1_000, acc) if result != None: print(f"nTrace complete. -i: {i}") return result #else result = randomTrace(var+i, 1_000, acc) if result != None: print(f"nTrace complete. +i: {i}") return result #else i = i + 1 #else return None #z6 = b/(d4wt/wau)/a d5 = d4wt/wau z7 = w/(bu/(at/(d4wt/wau))) #equals 6.89718781484 in the base case #z5 = u/(x**(ceil(u.ln() / x.ln()))) #z4 = u/(x**(floor(u.ln() / x.ln()))) #z7 = ax_u/((p/d4wt)/d4a) #equals 1.1542501366 in the base case, close to omega 0 d5 = d4*(av/ac) #unknown, overrides the above d5 = d4*(av/ac) #unknown zeta = _zetaH*H kappa = b/G #or zeta2 #findTrace code runs here, and find a variable, based on its string name #elements.append(x) #elNames.append('x') #elements.append() #source = elements[elNames.index(source)] #tracels should be in the format of [I, J, K, L] if tracels == None: _I = random.randint(0, len(elements)-1) _J = random.randint(0, len(elements)-1) _K = random.randint(0, len(elements)-1) _L = random.randint(0, len(elements)-1) _Ii, _Ji, _Ki, _Li = 0, 0, 0, 0 while (sum([abs(_Ii), abs(_Ji), abs(_Ki), abs(_Li)])) < 2: #_Ii = random.randint(-1, 1) #_Ji = random.randint(-1, 1) #_Ki = random.randint(-1, 1) #_Li = random.randint(-1, 1) _Ii = random.choice([-1, 1]) _Ji = random.choice([-1, 1]) _Ki = random.choice([-1, 1]) _Li = random.choice([-1, 1]) else: _I = tracels[0] _J = tracels[1] _K = tracels[2] _L = tracels[3] _Ii = tracels[4] _Ji = tracels[5] _Ki = tracels[6] _Li = tracels[7] result = (elements[_I]*_Ii) + (elements[_J]*_Ji) + (elements[_K]*_Ki) + (elements[_L]*_Li) if result > 0 and result < 1: result = 1/result print(f"first digits - result: {result}, 1/result: {1/result}, a%10: {a%10}, b%10:{b%10}, p%10:{p%10} {a}, b: {b}, p: {p}") return abs(floor(result%10)), [_I, _J, _K, _L, _Ii, _Ji, _Ki, _Li] ''' def trace(code, elements=elements): _I = code[0] _J = code[1] _K = code[2] _L = code[3] _Ii = code[4] _Ji = code[5] _Ki = code[6] _Li = code[7] result = (elements[_I]*_Ii) + (elements[_J]*_Ji) + (elements[_K]*_Ki) + (elements[_L]*_Li) return result ''' #you can also call findTrace def findDigit(runs = 100, trc=None, onFailBreak=False, showerror = False, keepLast = True): success = 0 i = 0 while i < runs: try: lsf = genf() #trc = [0, 0, 0, 0, 0, 0, 0, 0] if trc == None: resultsX = findTrace(lsf, trc) else: resultsX = findTrace(lsf, trc) lsf = genf() resultsY = findTrace(lsf, resultsX[1]) if resultsY[0] == resultsX[0]: success = success + 1 trc = resultsX[1] elif onFailBreak == True: print("failed to find trace that reproduces digits.") return None, None, None, None, None, None i = i + 1 except Exception: if showerror==True: print("some exception occured, likely during IJK unpacking for finding the base quark variabls like atj") i = i + 1 pass #else print(f"success/runs: {success}/{runs}, ratio: {success/runs}, onFailBreak: {onFailBreak}, traceX: {resultsX[1]}, traceY: {resultsY[1]}") print(f"resultsX trace: {resultsX[1]}") return resultsX, resultsY, success, runs, success/runs, resultsX[1] #generate candidate sets def gen_cnd(runs=None, cmd=None, fit=None): i = 0 candidates = [] if runs==None or runs=="pass": runs=10 while i < runs: results = findDigit(runs) candidates.append([results[0][1], results[2], results[3], results[4]]) print(f"gen_cnd runs: {i}/{runs}") i = i + 1 if fit==None or fit=="pass": fit = 0.27 else: fit=fit curr = None curr_fit = fit curr_runs = 0 cnd = None ls = None if cmd==None or cmd=="pass": cmd="largest" if cmd == "largest": for cnd in candidates: ls = cnd if ls[3] > curr_fit and ls[2] >= curr_runs: curr = ls curr_fit = ls[3] curr_runs = ls[2] print(curr) return curr elif cmd == "smallest": for cnd in candidates: ls = cnd if ls[3] < curr_fit and ls[2] <= curr_runs: curr = ls curr_fit = ls[4] curr_runs = ls[2] print(curr) return curr elif cmd == "out": return candidates #we can also try one that generates candidate successes. #type of candidate successes might be n-out-of-m successes for a candidate #or 'n in a row' #and then widdle them down from there.