--- Log opened Tue Jun 09 00:00:45 2020 00:15 -!- andytoshi [~apoelstra@unaffiliated/andytoshi] has quit [Ping timeout: 256 seconds] 00:27 -!- andytoshi [~apoelstra@wpsoftware.net] has joined #secp256k1 00:27 -!- andytoshi [~apoelstra@wpsoftware.net] has quit [Changing host] 00:27 -!- andytoshi [~apoelstra@unaffiliated/andytoshi] has joined #secp256k1 00:32 -!- andytoshi [~apoelstra@unaffiliated/andytoshi] has quit [Ping timeout: 240 seconds] 00:35 -!- jonatack [~jon@2a01:e0a:53c:a200:bb54:3be5:c3d0:9ce5] has joined #secp256k1 00:43 -!- andytoshi [~apoelstra@wpsoftware.net] has joined #secp256k1 00:43 -!- andytoshi [~apoelstra@wpsoftware.net] has quit [Changing host] 00:43 -!- andytoshi [~apoelstra@unaffiliated/andytoshi] has joined #secp256k1 01:35 -!- meshcollider [meshcollid@gateway/shell/ircnow/x-jaqsmospkdyaosri] has quit [Ping timeout: 246 seconds] 01:57 -!- meshcollider [meshcollid@gateway/shell/ircnow/x-ikxxkkevaummteet] has joined #secp256k1 03:04 -!- luke-jr [~luke-jr@unaffiliated/luke-jr] has quit [Quit: ZNC - http://znc.sourceforge.net] 03:05 -!- jonatack [~jon@2a01:e0a:53c:a200:bb54:3be5:c3d0:9ce5] has quit [Remote host closed the connection] 03:06 -!- luke-jr [~luke-jr@unaffiliated/luke-jr] has joined #secp256k1 03:07 -!- jonatack [~jon@184.75.214.163] has joined #secp256k1 03:14 -!- jonatack [~jon@184.75.214.163] has quit [Remote host closed the connection] 03:16 -!- jonatack [~jon@2a01:e0a:53c:a200:bb54:3be5:c3d0:9ce5] has joined #secp256k1 05:48 -!- luke-jr [~luke-jr@unaffiliated/luke-jr] has quit [Quit: ZNC - http://znc.sourceforge.net] 05:48 -!- luke-jr [~luke-jr@unaffiliated/luke-jr] has joined #secp256k1 08:29 < sipa> elichai2: fwiw, > < >= <= don't really have a meaning in finite fields 08:29 < sipa> you can treat those as comparing their residues treated as integers, but they're not compatible with arithmetic 08:30 < elichai2> right, altough we do have `fe_cmp` functions that tells us which is "bigger" 08:30 < sipa> (e.g. you expect that if a >= b, then a+c >= b+c; that's not true in finite fields) 08:30 < elichai2> also in finite fields you can't be bigger than the modulo :P 08:31 < elichai2> hmm I actually never thought about actual inequality equations in ff 08:31 < sipa> well... except to the extent that that statement is meaningless, you can 08:31 < sipa> 1 = 1+p > p 08:31 < elichai2> yeah 08:32 < sipa> it's similar to complex numbers in that way 08:32 < elichai2> are inequalities 100% "worthless" in ff? 08:32 < sipa> they also don't have a total ordering that is compatible with arithmetic 08:32 < sipa> but you could still "sort" them by sorting (a,b) for a+bi 08:39 < sipa> well you couldn't use standard techniques to solve them 08:40 < sipa> i don't know if that makes it worthless, but comparison just doesn't have an algebraic meaning 16:40 -!- luke-jr [~luke-jr@unaffiliated/luke-jr] has quit [Quit: ZNC - http://znc.sourceforge.net] 16:41 -!- luke-jr [~luke-jr@unaffiliated/luke-jr] has joined #secp256k1 17:01 < aj> sipa: you compare complex numbers by r but not theta, shirley? 17:05 < sipa> aj: also possible :) 17:06 < sipa> or you could map them to a real range by taking v=1/(1+exp(a)) w=1/(1+exp(b)) for a+bi, and then alternating digits or bits from v and w 18:07 -!- roconnor [~roconnor@host-45-78-199-248.dyn.295.ca] has joined #secp256k1 18:07 < roconnor> Not every real number has a unique representation as digits or bits. 18:08 < sipa> you can assign one 18:08 < sipa> the lexicographically first one, for example 18:09 < roconnor> determining if a real number has more than one representation is undecidable in general. 18:11 < roconnor> OTOH determining the bits of a real number is also undecidable in general depending on your definition of what a real number is. 18:11 < sipa> let's say you pick "bits of 1/(1+exp(a) interleaved with bits of 1/(1+exp(b))" as sort order, i think sorting two numbers works, without knowing all the bits of either, or knowing whether there are multiple representations in general 18:13 < roconnor> That works as long as you are willing to sort two equal numbers with two different representations into two different places. 18:13 < sipa> how so? 18:14 < roconnor> suppose a = 0. Then 1/(1 + exp(0) = 1/2. 18:14 < roconnor> 1/2 = 0.1 in binary and 1/2 = 0.01111111111111... in binary as well 18:15 < roconnor> oh you are saying the are sorted next to each other. 18:15 < sipa> 0.01111 is the lexicographically first one 18:15 < sipa> no, they're not sorted next to each other after interleaving 18:15 < sipa> but if you pick the lexicographically first representation always, it's unambiguous 18:17 < sipa> your algorithm would compute subsequent digits of the interleaved form, by determining for the 1/(1+exp(a)) (and the b version) whether a representation exists with the next bit a 0; if so, pick 0; otherwise pick 1 18:17 < sipa> which is just deciding whether 0.1000... is >= 1/(1+exp(a)); if so, pick 0; otherwise pick 1 18:19 < roconnor> This is harder to do when a = sum(b_i/2^i, i=0..infinity) where b_i = 0 if rh i = True and b_i = 1 if rh i = False where rh is define as https://mathoverflow.net/a/31981 18:20 < roconnor> I mean, what you are saying is well defined, but you have to solve the reimann hypothesis first before you can perform the sort. 18:21 < sipa> well if the digits of your number are undecidable themselves, there is an obvious problem 18:21 < roconnor> every digit is easily decidable in my example. 18:23 < roconnor> rather what is undecidable is whether or not they are all 0 or not. 18:24 < roconnor> I guess unknown rather than undecidable. 23:41 < real_or_random> does anyone know why core has a wrapper for privkey_negate that is not used anywhere? 23:42 < real_or_random> it also has a wrapper for privkey_tweak, which is used for HD derivation, so it kind of makes sense to have also negate 23:43 < real_or_random> even thought it's not used, hm 23:43 < real_or_random> (tweak_add) --- Log closed Wed Jun 10 00:00:46 2020