--- 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