Bill Allombert on Mon, 12 Feb 2024 11:26:55 +0100
|
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: [Collatz] how to best derive x and T^n(x) from a parity vector
|
- To: pari-users@pari.math.u-bordeaux.fr
- Subject: Re: [Collatz] how to best derive x and T^n(x) from a parity vector
- From: Bill Allombert <Bill.Allombert@math.u-bordeaux.fr>
- Date: Mon, 12 Feb 2024 11:26:51 +0100
- Arc-authentication-results: i=1; smail; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; d=math.u-bordeaux.fr; s=openarc; t=1707733612; c=relaxed/relaxed; bh=TmJPeNNMekxNIfCjWVo1jNBvD4x6kIvrWGub2TfR+ao=; h=DKIM-Signature:Date:From:To:Subject:Message-ID:Mail-Followup-To: References:MIME-Version:Content-Type:Content-Disposition: In-Reply-To; b=bgD52jm8HifGPfDDM4qu+ixjVs2BGvFZfgWgJp9DRgUNVAeltmrXbHAWjJJe/K7rVVdk7TwDdM5FG4KoTKoUzwx/KZpm92FDtJcnV3ji4h6Ppmu7Z6s3VMwvA3vDfIQUr6hwFpFxqSdYt4ZWZD7lRbi4RFeOSiKvQlcu3cQdvQzJW0FZNxzMDXthTi9qEmyuL453saEHgs3Q0XJUwt3Dy9OLtDfZeAdrYF48vz81XJIXuHnU5nI02Q+hDARARp+T2OgCHUHmC6rdnPLMYNJFRvUZddaFl+RWUwtmEl+nJu+wt9Y9ZPatEbV0CvPL5DsYGV9bhSnMshmPoFyR0t20aoYCvjLZ5mWd3Yi/10e0iLz/VR2hDPWmks+nPWQsTvRq5CcXYiaYVlVMsIoD0Qf9U5aoe7aY+/7BC4Ai3blQfaSp9mSHhZiY1z+AoHkHVvu+JNdsaVlcjEJOlidT9OTyH9UySFVOoxg0Pew+CvBWva7ir9EDmBEVXVkJYEUB8y0OvqC2uPEfTIlSQLs4vgXGVztgMT9xaibtlaWlrlIvD0ylSQ5dQotEt7fpEzP5jrSTLu+ncdvqb6mVL80ryJlc7m74iDenhCap9dAaGQMX9ENvkEl7cAnLZdjvj71IchjXzFAsMOU+KqGop/2LQqI/XlYyhO/+ZhPcTLMLKqfJJvU=
- Arc-seal: i=1; a=rsa-sha256; d=math.u-bordeaux.fr; s=openarc; t=1707733612; cv=none; b=A//4j+Htnpw0PGTToCFpYbfTMTqHpIGgCDMJHZTAaKWNReNEjLazsdIkTA53NG/PFbATiYUhWycr7Yz/VzyiG0rSbNPEHWkWN/ov2E7+PYU84P+x1dlCAcAUE2l3DXcLKiU3XIjTmSE8UQKBwppVHbE/Pxl3CcW5nVLbGP5AvEus0rd/cyLPjRFUC0I2lUetP0hlypp/OIdDN4J+OUIXeIdbLmOogiEfqftzTI1HpU8cj0xzxQmvTFJiZNyk7EqyNGDcJqn6X6hCpgXFJ0mKMDmyGs7kmb1EHc7lWkeF8h6tI63IHHCs1GxUKh6GttIB8XXm5autKdZHROu0SX3oh167l+SemUQPNJWz0/KV/GwNLgBFXsrwDvZp0SOiCELvVszGqB/oI88jrWjca8IPxccs6TgVJfbPgy6FucHgfb/Z8uBo59j/eiIaeRsd9r1tsy2p4ih6nLHkZTgHOwqB6l/ahUhNWCGKhjgrk2zFW0jZ5DXgJmSkFu6qjS5ItrLyY5VQSpWJQqWfaTSKFMv+c3j0YYr6Qcpmckj3T7SpCn2mDHtVsr4p4Wev5g1eOzlHfxC1PDG9zTlqG7po4eDeTx+4YfqPWeZID8ZS6mfZb73NtEgwXod4OnXtb+KhNCpwW9+cQ5C1HDXjRgmtXbGdJBSYxqR4Cf72AekSSbKT2MQ=
- Authentication-results: smail; dmarc=none header.from=math.u-bordeaux.fr
- Authentication-results: smail; arc=none
- Delivery-date: Mon, 12 Feb 2024 11:26:55 +0100
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=math.u-bordeaux.fr; s=2022; t=1707733612; bh=TmJPeNNMekxNIfCjWVo1jNBvD4x6kIvrWGub2TfR+ao=; h=Date:From:To:Subject:References:In-Reply-To:From; b=NkOq7AhumX8CuncSlpfnBUw9Davu0VTY4aE/i5BEM/C/3QMtVWnJod707jNHDEM/4 evXV3YckR96qTzCZTLyZYkvyRvvxrTXpgvtXoIrScLXBhTxmjrm0KA2woXDTFIAzZN 8B95ByPZlLxsyIgW8Zm+jxkVOKrrxYNHOQ9XsmMJbdymdck0pY0uQcqMiELHjLbCxs WwDrBC+EYIoU8+PhhVg8cdwy73gxApiJzpZVp5ADpqsnRvaXyrsNE8a5QKXSBtAYdl 3iiUGpTtINYdq8UxkxKZ1lOtQFOBrR/gAbuK8fHu5zebAtccyYEOnkzBoHkcyLxmtB fnsA1eSPsVJYxYv0iFzosky+9iiOfNxkSb4nlEHH+7yNggEgLiC4azXVgWyVgOU9YL bqQXr7+X5QL4mY0i8YcbVuYXyX0eRGry4JH1seiKzhW71nRui9aa2a1xj6KDuRGVCE 8LPfWydWTmHDxIm4UcUURf3+mIBKia+8L0CqyzZ8Zu8q52Cj3p2Gt4n1mM6NaDZfh1 JLYCi1V6nkx5QNFxa7vxwiV5tFZCFCrVln7qlLXKiZ1ip+rofAVl3UtAIbZzUvktr9 6q0KkM18pgV61pSt+JgRjolHC1cEVGAXhI/LdfmWvvV3eFwbHlscAGri3/C8LAwwLN Unzkx4wAk3iye3rYAifxJh88=
- In-reply-to: <f5bbdaa4-0174-48dc-90b9-79160b3d7a64@isolution.nl>
- Mail-followup-to: pari-users@pari.math.u-bordeaux.fr
- References: <f5bbdaa4-0174-48dc-90b9-79160b3d7a64@isolution.nl>
On Sun, Feb 11, 2024 at 09:05:58PM +0100, Ruud H.G. van Tol wrote:
>
> An example parity vector is [1,1,0,1,1,0,0].
>
> This represents: T^7(x) = (3^4 * x + 85) / 2^7.
>
> __|__1___1___0_____1_____1_____0______0_
> x*| 3/2 9/4 9/8 27/16 81/32 81/64 81/128
> 0+| 1/2 5/4 5/8 23/16 85/32 85/64 85/128
>
>
> T(x) = { if(x%2, 3*x+1, x)/2 }
>
> y = T^7(x) = (3^4 * x + 85) / 2^7.
> (and y <= x)
>
> 81 * x + 85 = 128 * y <=>
> 81 * x = 128 * (y-1) + 43 <=>
> 81 * x % 128 = 43 (and x >= 43)
>
> Because of how the parity vector is built,
> if its length is >= 4, then x = 3 (mod 4).
>
> So we can try (43, 47, 51, 55, 59, ...) and find that x = 59 works:
>
> (81 * 59 + 85) / 128 = 38
So you want to solve
3^4 * x + 85 = 0 [mod 2^7] ?
You can do
? -Mod(85,2^7)/3^4
%1 = Mod(59,128)
Or even
? -85/81%128
%2 = 59
Cheers,
Bill