kececinumbers 0.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- kececinumbers-0.0.0/LICENSE +21 -0
- kececinumbers-0.0.0/MANIFEST.in +3 -0
- kececinumbers-0.0.0/PKG-INFO +634 -0
- kececinumbers-0.0.0/README.md +600 -0
- kececinumbers-0.0.0/kececinumbers/__init__.py +119 -0
- kececinumbers-0.0.0/kececinumbers/_version.py +9 -0
- kececinumbers-0.0.0/kececinumbers/kececinumbers.py +913 -0
- kececinumbers-0.0.0/kececinumbers.egg-info/PKG-INFO +634 -0
- kececinumbers-0.0.0/kececinumbers.egg-info/SOURCES.txt +15 -0
- kececinumbers-0.0.0/kececinumbers.egg-info/dependency_links.txt +1 -0
- kececinumbers-0.0.0/kececinumbers.egg-info/requires.txt +4 -0
- kececinumbers-0.0.0/kececinumbers.egg-info/top_level.txt +1 -0
- kececinumbers-0.0.0/pyproject.toml +3 -0
- kececinumbers-0.0.0/setup.cfg +4 -0
- kececinumbers-0.0.0/setup.py +53 -0
- kececinumbers-0.0.0/tests/test_sample.py +2 -0
@@ -0,0 +1,21 @@
|
|
1
|
+
MIT License
|
2
|
+
|
3
|
+
Copyright (c) 2025 Mehmet Keçeci
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
13
|
+
copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
+
SOFTWARE.
|
@@ -0,0 +1,634 @@
|
|
1
|
+
Metadata-Version: 2.4
|
2
|
+
Name: kececinumbers
|
3
|
+
Version: 0.0.0
|
4
|
+
Summary: Keçeci Numbers: An Exploration of a Dynamic Sequence Across Diverse Number Sets
|
5
|
+
Home-page: https://github.com/WhiteSymmetry/kececinumbers
|
6
|
+
Author: Mehmet Keçeci
|
7
|
+
Author-email: mkececi@yaani.com
|
8
|
+
Maintainer: Mehmet Keçeci
|
9
|
+
Maintainer-email: mkececi@yaani.com
|
10
|
+
License: MIT
|
11
|
+
Classifier: Programming Language :: Python :: 3
|
12
|
+
Classifier: License :: OSI Approved :: MIT License
|
13
|
+
Classifier: Operating System :: OS Independent
|
14
|
+
Requires-Python: >=3.9
|
15
|
+
Description-Content-Type: text/markdown
|
16
|
+
License-File: LICENSE
|
17
|
+
Requires-Dist: numpy
|
18
|
+
Requires-Dist: matplotlib
|
19
|
+
Requires-Dist: numpy-quaternion
|
20
|
+
Requires-Dist: sympy
|
21
|
+
Dynamic: author
|
22
|
+
Dynamic: author-email
|
23
|
+
Dynamic: classifier
|
24
|
+
Dynamic: description
|
25
|
+
Dynamic: description-content-type
|
26
|
+
Dynamic: home-page
|
27
|
+
Dynamic: license
|
28
|
+
Dynamic: license-file
|
29
|
+
Dynamic: maintainer
|
30
|
+
Dynamic: maintainer-email
|
31
|
+
Dynamic: requires-dist
|
32
|
+
Dynamic: requires-python
|
33
|
+
Dynamic: summary
|
34
|
+
|
35
|
+
# Keçeci Numbers: Keçeci Sayıları
|
36
|
+
---
|
37
|
+
|
38
|
+
[](https://badge.fury.io/py/kececinumbers/)
|
39
|
+
[](https://opensource.org/licenses/MIT)
|
40
|
+
[](https://doi.org/10.5281/zenodo.15377659)
|
41
|
+
[](https://doi.org/10.48546/workflowhub.datafile.14.2)
|
42
|
+
[](https://doi.org/10.6084/m9.figshare.29816414)
|
43
|
+
|
44
|
+
[](https://anaconda.org/bilgi/kececinumbers)
|
45
|
+
[](https://anaconda.org/bilgi/kececinumbers)
|
46
|
+
[](https://anaconda.org/bilgi/kececinumbers)
|
47
|
+
[](https://anaconda.org/bilgi/kececinumbers)
|
48
|
+
|
49
|
+
[](https://opensource.org/)
|
50
|
+
[](https://kececinumbers.readthedocs.io/en/latest)
|
51
|
+
[](https://www.bestpractices.dev/projects/10536)
|
52
|
+
|
53
|
+
[](https://github.com/WhiteSymmetry/kececinumbers/actions/workflows/python_ci.yml)
|
54
|
+
[](https://codecov.io/gh/WhiteSymmetry/kececinumbers)
|
55
|
+
[](https://kececinumbers.readthedocs.io/en/latest/)
|
56
|
+
[](https://terrarium.evidencepub.io/v2/gh/WhiteSymmetry/kececinumbers/HEAD)
|
57
|
+
|
58
|
+
[](https://badge.fury.io/py/kececinumbers)
|
59
|
+
[](https://pepy.tech/projects/kececinumbers)
|
60
|
+
[](CODE_OF_CONDUCT.md)
|
61
|
+
[](https://github.com/astral-sh/ruff)
|
62
|
+
|
63
|
+
---
|
64
|
+
|
65
|
+
<p align="left">
|
66
|
+
<table>
|
67
|
+
<tr>
|
68
|
+
<td style="text-align: center;">PyPI</td>
|
69
|
+
<td style="text-align: center;">
|
70
|
+
<a href="https://pypi.org/project/kececinumbers/">
|
71
|
+
<img src="https://badge.fury.io/py/kececinumbers.svg" alt="PyPI version" height="18"/>
|
72
|
+
</a>
|
73
|
+
</td>
|
74
|
+
</tr>
|
75
|
+
<tr>
|
76
|
+
<td style="text-align: center;">Conda</td>
|
77
|
+
<td style="text-align: center;">
|
78
|
+
<a href="https://anaconda.org/bilgi/kececinumbers">
|
79
|
+
<img src="https://anaconda.org/bilgi/kececinumbers/badges/version.svg" alt="conda-forge version" height="18"/>
|
80
|
+
</a>
|
81
|
+
</td>
|
82
|
+
</tr>
|
83
|
+
<tr>
|
84
|
+
<td style="text-align: center;">DOI</td>
|
85
|
+
<td style="text-align: center;">
|
86
|
+
<a href="https://doi.org/10.5281/zenodo.15377659">
|
87
|
+
<img src="https://zenodo.org/badge/DOI/10.5281/zenodo.15377659.svg" alt="DOI" height="18"/>
|
88
|
+
</a>
|
89
|
+
</td>
|
90
|
+
</tr>
|
91
|
+
<tr>
|
92
|
+
<td style="text-align: center;">License: MIT</td>
|
93
|
+
<td style="text-align: center;">
|
94
|
+
<a href="https://opensource.org/licenses/MIT">
|
95
|
+
<img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License" height="18"/>
|
96
|
+
</a>
|
97
|
+
</td>
|
98
|
+
</tr>
|
99
|
+
</table>
|
100
|
+
</p>
|
101
|
+
|
102
|
+
---
|
103
|
+
|
104
|
+
**Keçeci Numbers** is a Python library for generating, analyzing, and visualizing dynamic sequences inspired by the Collatz Conjecture across diverse number systems.
|
105
|
+
|
106
|
+
This library provides a unified algorithm that operates on 11 different number types, from standard integers to complex algebraic structures like quaternions and neutrosophic numbers. It is designed as a tool for academic research and exploration in number theory.
|
107
|
+
|
108
|
+
<details>
|
109
|
+
<summary>🇹🇷 Türkçe Açıklama (Click to expand)</summary>
|
110
|
+
|
111
|
+
**Keçeci Sayıları**, Collatz Varsayımı'ndan esinlenen ve farklı sayı sistemlerinde dinamik diziler üreten, analiz eden ve görselleştiren bir Python kütüphanesidir. Bu kütüphane, tamsayılardan karmaşık sayılara, kuaterniyonlardan nötrosofik sayılara kadar 11 farklı sayı türü üzerinde çalışan birleşik bir algoritma sunar. Akademik araştırmalar ve sayı teorisindeki keşifler için bir araç olarak tasarlanmıştır.
|
112
|
+
|
113
|
+
</details>
|
114
|
+
|
115
|
+
---
|
116
|
+
|
117
|
+
## What are Keçeci Numbers?
|
118
|
+
|
119
|
+
Keçeci Numbers are sequences generated from a starting value using a recursive rule. The process for each step is:
|
120
|
+
|
121
|
+
1. **Add & Record:** A fixed increment value is added to the current value. This new "added value" is recorded in the sequence.
|
122
|
+
2. **Attempt Division:** An attempt is made to divide the "added value" by 3 or 2 (whichever was not used in the previous step). If successful, the result becomes the next element.
|
123
|
+
3. **ASK (Augment/Shrink then Check) Rule:** If the number is indivisible and its principal component is **prime**, a type-specific unit value is added or subtracted. This "modified value" is recorded, and the division is re-attempted.
|
124
|
+
4. **Carry Over:** If division fails again, or if the number is not prime, the value itself (either the "added value" or "modified value") becomes the next element in the sequence.
|
125
|
+
|
126
|
+
This flexible mechanism provides a rich framework for studying the behavior of numerical sequences in various algebraic systems.
|
127
|
+
|
128
|
+
## Key Features
|
129
|
+
|
130
|
+
* **11 Different Number Types:** Supports integers, rationals, complex numbers, quaternions, neutrosophic numbers, and more.
|
131
|
+
* **Unified Generator:** Uses a single, consistent `unified_generator` algorithm for all number types.
|
132
|
+
* **Advanced Visualization:** Provides a multi-dimensional `plot_numbers` function tailored to the nature of each number system.
|
133
|
+
* **Keçeci Prime Number (KPN) Analysis:** Identifies the most recurring prime representation in sequences to analyze their convergence behavior.
|
134
|
+
* **Interactive and Programmatic Usage:** Supports both interactive parameter input (`get_interactive`) and direct use in scripts (`get_with_params`).
|
135
|
+
|
136
|
+
---
|
137
|
+
|
138
|
+
## Installation
|
139
|
+
|
140
|
+
You can easily install the project using **Conda** or **Pip**:
|
141
|
+
|
142
|
+
```bash
|
143
|
+
# Install with Conda
|
144
|
+
conda install -c bilgi kececinumbers
|
145
|
+
|
146
|
+
# Install with Pip
|
147
|
+
pip install kececinumbers
|
148
|
+
```
|
149
|
+
|
150
|
+
---
|
151
|
+
|
152
|
+
## Quick Start
|
153
|
+
|
154
|
+
The following example creates and visualizes a Keçeci sequence with POSITIVE_REAL numbers.
|
155
|
+
|
156
|
+
```python
|
157
|
+
import matplotlib.pyplot as plt
|
158
|
+
import kececinumbers as kn
|
159
|
+
|
160
|
+
# Generate a Keçeci sequence with specific parameters
|
161
|
+
sequence = kn.get_with_params(
|
162
|
+
kececi_type_choice=kn.TYPE_POSITIVE_REAL,
|
163
|
+
iterations=20,
|
164
|
+
start_value_raw="1",
|
165
|
+
add_value_base_scalar=9.0
|
166
|
+
)
|
167
|
+
|
168
|
+
# If the sequence was generated successfully, plot it
|
169
|
+
if sequence:
|
170
|
+
kn.plot_numbers(sequence, title="My First POSITIVE_REAL Keçeci Sequence")
|
171
|
+
plt.show()
|
172
|
+
|
173
|
+
# Optionally, find and print the Keçeci Prime Number (KPN)
|
174
|
+
kpn = kn.find_kececi_prime_number(sequence)
|
175
|
+
if kpn:
|
176
|
+
print(f"\nKeçeci Prime Number (KPN) found: {kpn}")
|
177
|
+
```
|
178
|
+
|
179
|
+

|
180
|
+
|
181
|
+
---
|
182
|
+
|
183
|
+
The following example creates and visualizes a Keçeci sequence with complex numbers.
|
184
|
+
|
185
|
+
```python
|
186
|
+
import matplotlib.pyplot as plt
|
187
|
+
import kececinumbers as kn
|
188
|
+
|
189
|
+
# Generate a Keçeci sequence with specific parameters
|
190
|
+
# Type: Complex Number, Iterations: 60
|
191
|
+
sequence = kn.get_with_params(
|
192
|
+
kececi_type_choice=kn.TYPE_COMPLEX,
|
193
|
+
iterations=60,
|
194
|
+
start_value_raw="1+2j",
|
195
|
+
add_value_base_scalar=3.0
|
196
|
+
)
|
197
|
+
|
198
|
+
# If the sequence was generated successfully, plot it
|
199
|
+
if sequence:
|
200
|
+
kn.plot_numbers(sequence, title="Complex Keçeci Numbers Example")
|
201
|
+
plt.show()
|
202
|
+
|
203
|
+
# Find the Keçeci Prime Number (KPN) for the sequence
|
204
|
+
kpn = kn.find_kececi_prime_number(sequence)
|
205
|
+
if kpn:
|
206
|
+
print(f"\nKeçeci Prime Number (KPN) found for this sequence: {kpn}")
|
207
|
+
```
|
208
|
+
|
209
|
+

|
210
|
+
|
211
|
+
---
|
212
|
+
|
213
|
+
## The Keçeci Conjecture
|
214
|
+
|
215
|
+
> For every Keçeci Number type, sequences generated by the `unified_generator` function are conjectured to converge to a periodic structure or a recurring prime representation (Keçeci Prime Number, KPN) in a finite number of steps. This behavior can be viewed as a generalization of the Collatz Conjecture to multiple algebraic systems.
|
216
|
+
|
217
|
+
This conjecture remains unproven, and this library provides a framework for testing it.
|
218
|
+
|
219
|
+
<details>
|
220
|
+
<summary>Click for the conjecture in other languages (Diğer diller için tıklayın)</summary>
|
221
|
+
|
222
|
+
* **🇹🇷 Türkçe:** Her Keçeci Sayı türü için, `unified_generator` fonksiyonu tarafından oluşturulan dizilerin, sonlu adımdan sonra periyodik bir yapıya veya tekrar eden bir asal temsiline (Keçeci Asal Sayısı, KPN) yakınsadığı sanılmaktadır.
|
223
|
+
* **🇩🇪 Deutsch:** Es wird vermutet, dass die vom `unified_generator` erzeugten Sequenzen für jeden Keçeci-Zahl-Typ nach endlich vielen Schritten gegen eine periodische Struktur oder eine wiederkehrende Primdarstellung (KPN) konvergieren.
|
224
|
+
|
225
|
+
</details>
|
226
|
+
---
|
227
|
+
|
228
|
+
## Description / Açıklama
|
229
|
+
|
230
|
+
**Keçeci Numbers (Keçeci Sayıları)**: Keçeci Numbers; An Exploration of a Dynamic Sequence Across Diverse Number Sets: This work introduces a novel numerical sequence concept termed "Keçeci Numbers." Keçeci Numbers are a dynamic sequence generated through an iterative process, originating from a specific starting value and an increment value. In each iteration, the increment value is added to the current value, and this "added value" is recorded in the sequence. Subsequently, a division operation is attempted on this "added value," primarily using the divisors 2 and 3, with the choice of divisor depending on the one used in the previous step. If division is successful, the quotient becomes the next element in the sequence. If the division operation fails, the primality of the "added value" (or its real/scalar part for complex/quaternion numbers, or integer part for rational numbers) is checked. If it is prime, an "Augment/Shrink then Check" (ASK) rule is invoked: a type-specific unit value is added or subtracted (based on the previous ASK application), this "modified value" is recorded in the sequence, and the division operation is re-attempted on it. If division fails again, or if the number is not prime, the "added value" (or the "modified value" post-ASK) itself becomes the next element in the sequence. This mechanism is designed to be applicable across various number sets, including positive and negative real numbers, complex numbers, floating-point numbers, rational numbers, and quaternions. The increment value, ASK unit, and divisibility checks are appropriately adapted for each number type. This flexibility of Keçeci Numbers offers rich potential for studying their behavior in different numerical systems. The patterns exhibited by the sequences, their convergence/divergence properties, and potential for chaotic behavior may constitute interesting research avenues for advanced mathematical analysis and number theory applications. This study outlines the fundamental generation mechanism of Keçeci Numbers and their initial behaviors across diverse number sets.
|
231
|
+
|
232
|
+
---
|
233
|
+
|
234
|
+
## Installation / Kurulum
|
235
|
+
|
236
|
+
```bash
|
237
|
+
conda install bilgi::kececinumbers -y
|
238
|
+
|
239
|
+
pip install kececinumbers
|
240
|
+
```
|
241
|
+
https://anaconda.org/bilgi/kececinumbers
|
242
|
+
|
243
|
+
https://pypi.org/project/kececinumbers/
|
244
|
+
|
245
|
+
https://github.com/WhiteSymmetry/kececinumbers
|
246
|
+
|
247
|
+
https://zenodo.org/records/15377660
|
248
|
+
|
249
|
+
https://zenodo.org/records/
|
250
|
+
|
251
|
+
---
|
252
|
+
|
253
|
+
## Usage / Kullanım
|
254
|
+
|
255
|
+
### Example
|
256
|
+
|
257
|
+
```python
|
258
|
+
import matplotlib.pyplot as plt
|
259
|
+
import kececinumbers as kn
|
260
|
+
|
261
|
+
print("--- Interactive Test ---")
|
262
|
+
|
263
|
+
# Adım 1: get_interactive'ten dönen 2 değeri al (dizi ve parametre sözlüğü)
|
264
|
+
# Hata bu satırdaydı. Fonksiyon 2 değer döndürüyor, 5 değil.
|
265
|
+
seq_interactive, params = kn.get_interactive()
|
266
|
+
|
267
|
+
# Fonksiyon bir dizi döndürdüyse (başarılıysa) devam et
|
268
|
+
if seq_interactive:
|
269
|
+
# Adım 2: Tip numarasını ve ismini al
|
270
|
+
# Gerekli tüm bilgiler zaten `params` sözlüğünde mevcut.
|
271
|
+
type_choice = params['type_choice']
|
272
|
+
|
273
|
+
type_names = [
|
274
|
+
"Positive Real", "Negative Real", "Complex", "Float", "Rational",
|
275
|
+
"Quaternion", "Neutrosophic", "Neutro-Complex", "Hyperreal",
|
276
|
+
"Bicomplex", "Neutro-Bicomplex"
|
277
|
+
]
|
278
|
+
# type_name'i params sözlüğüne ekleyerek raporu zenginleştirelim
|
279
|
+
params['type_name'] = type_names[type_choice - 1]
|
280
|
+
|
281
|
+
# Adım 3: Ayrıntılı raporu yazdır
|
282
|
+
# Fonksiyondan dönen params sözlüğünü doğrudan kullanıyoruz.
|
283
|
+
kn.print_detailed_report(seq_interactive, params)
|
284
|
+
|
285
|
+
# Adım 4: Grafiği çizdir
|
286
|
+
print("\nDisplaying plot...")
|
287
|
+
plot_title = f"Interactive Keçeci Sequence ({params['type_name']})"
|
288
|
+
kn.plot_numbers(seq_interactive, plot_title)
|
289
|
+
plt.show()
|
290
|
+
|
291
|
+
else:
|
292
|
+
print("Sequence generation was cancelled or failed.")
|
293
|
+
```
|
294
|
+
|
295
|
+
```python
|
296
|
+
import matplotlib.pyplot as plt
|
297
|
+
import kececinumbers as kn
|
298
|
+
|
299
|
+
# Matplotlib grafiklerinin notebook içinde gösterilmesini sağla
|
300
|
+
%matplotlib inline
|
301
|
+
|
302
|
+
print("Trying interactive mode (will prompt for input in the console/output area)...")
|
303
|
+
|
304
|
+
# DÜZELTİLMİŞ KISIM:
|
305
|
+
# get_interactive'ten dönen iki değeri ayrı değişkenlere alıyoruz.
|
306
|
+
# 'seq' listenin kendisi, 'params' ise parametre sözlüğüdür.
|
307
|
+
seq, params = kn.get_interactive()
|
308
|
+
|
309
|
+
# Sadece dizi (seq) başarılı bir şekilde oluşturulduysa devam et
|
310
|
+
if seq:
|
311
|
+
print("\nSequence generated successfully. Plotting...")
|
312
|
+
# plot_numbers fonksiyonuna artık doğru şekilde SADECE listeyi gönderiyoruz.
|
313
|
+
kn.plot_numbers(seq, title=f"Interactive Keçeci Numbers ({params.get('type_name', '')})")
|
314
|
+
# Grafiği göstermek için plt.show() ekleyelim
|
315
|
+
plt.show()
|
316
|
+
else:
|
317
|
+
print("\nSequence generation failed or was cancelled.")
|
318
|
+
|
319
|
+
|
320
|
+
print("\nDone with examples.")
|
321
|
+
print("Keçeci Numbers Module Loaded.")
|
322
|
+
print("This module provides functions to generate and plot Keçeci Numbers.")
|
323
|
+
print("Example: Use 'import kececinumbers as kn' in your script/notebook.")
|
324
|
+
print("\nAvailable functions:")
|
325
|
+
print("- kn.get_interactive()")
|
326
|
+
print("- kn.get_with_params(kececi_type, iterations, ...)")
|
327
|
+
print("- kn.get_random_type(iterations, ...)")
|
328
|
+
print("- kn.plot_numbers(sequence, title)")
|
329
|
+
print("- kn.unified_generator(...) (low-level)")
|
330
|
+
```
|
331
|
+
---
|
332
|
+
Trying interactive mode (will prompt for input in the console/output area)...
|
333
|
+
|
334
|
+
Keçeci Number Types:
|
335
|
+
|
336
|
+
1: Positive Real Numbers (Integer: e.g., 1)
|
337
|
+
|
338
|
+
2: Negative Real Numbers (Integer: e.g., -3)
|
339
|
+
|
340
|
+
3: Complex Numbers (e.g., 3+4j)
|
341
|
+
|
342
|
+
4: Floating-Point Numbers (e.g., 2.5)
|
343
|
+
|
344
|
+
5: Rational Numbers (e.g., 3/2, 5)
|
345
|
+
|
346
|
+
6: Quaternions (scalar start input becomes q(s,s,s,s): e.g., 1 or 2.5)
|
347
|
+
|
348
|
+
7: Neutrosophic
|
349
|
+
|
350
|
+
8: Neutro-Complex
|
351
|
+
|
352
|
+
9: Hyperreal
|
353
|
+
|
354
|
+
10: Bicomplex
|
355
|
+
|
356
|
+
11: Neutro-Bicomplex
|
357
|
+
|
358
|
+
Please select Keçeci Number Type (1-11): 1
|
359
|
+
|
360
|
+
Enter the starting number (e.g., 0 or 2.5, complex:3+4j, rational: 3/4, quaternions: 1) : 0
|
361
|
+
|
362
|
+
Enter the base scalar value for increment (e.g., 9): 9
|
363
|
+
|
364
|
+
Enter the number of iterations (positive integer: e.g., 30): 30
|
365
|
+
|
366
|
+
---
|
367
|
+

|
368
|
+
|
369
|
+

|
370
|
+
|
371
|
+

|
372
|
+
|
373
|
+

|
374
|
+
|
375
|
+

|
376
|
+
|
377
|
+
---
|
378
|
+
# Keçeci Prime Number
|
379
|
+
|
380
|
+
```python
|
381
|
+
import matplotlib.pyplot as plt
|
382
|
+
import kececinumbers as kn
|
383
|
+
|
384
|
+
# ==============================================================================
|
385
|
+
# --- Interactive Test ---
|
386
|
+
# ==============================================================================
|
387
|
+
print("--- Interactive Test ---")
|
388
|
+
|
389
|
+
# DÜZELTME: Fonksiyondan dönen 2 değeri ayrı değişkenlere alıyoruz.
|
390
|
+
# Sadece diziye ihtiyacımız olduğu için 'params'ı şimdilik kullanmayacağız.
|
391
|
+
seq_interactive, params_interactive = kn.get_interactive()
|
392
|
+
|
393
|
+
# Dizi başarılı bir şekilde oluşturulduysa (boş değilse) grafiği çiz
|
394
|
+
if seq_interactive:
|
395
|
+
kn.plot_numbers(seq_interactive, "Interactive Keçeci Numbers")
|
396
|
+
|
397
|
+
# ==============================================================================
|
398
|
+
# --- Random Type Test (Bu kısım zaten doğruydu) ---
|
399
|
+
# ==============================================================================
|
400
|
+
print("\n--- Random Type Test (60 Keçeci Steps) ---")
|
401
|
+
# num_iterations burada Keçeci adımı sayısıdır
|
402
|
+
seq_random = kn.get_random_type(num_iterations=60)
|
403
|
+
if seq_random:
|
404
|
+
kn.plot_numbers(seq_random, "Random Type Keçeci Numbers")
|
405
|
+
|
406
|
+
# ==============================================================================
|
407
|
+
# --- Fixed Params Test (Bu kısım da zaten doğruydu) ---
|
408
|
+
# ==============================================================================
|
409
|
+
print("\n--- Fixed Params Test (Complex, 60 Keçeci Steps) ---")
|
410
|
+
seq_fixed = kn.get_with_params(
|
411
|
+
kececi_type_choice=kn.TYPE_COMPLEX,
|
412
|
+
iterations=60,
|
413
|
+
start_value_raw="1+2j",
|
414
|
+
add_value_base_scalar=3.0
|
415
|
+
)
|
416
|
+
if seq_fixed:
|
417
|
+
kn.plot_numbers(seq_fixed, "Fixed Params (Complex) Keçeci Numbers")
|
418
|
+
|
419
|
+
# İsterseniz find_kececi_prime_number'ı ayrıca da çağırabilirsiniz:
|
420
|
+
if seq_fixed:
|
421
|
+
kpn_direct = kn.find_kececi_prime_number(seq_fixed)
|
422
|
+
if kpn_direct is not None:
|
423
|
+
print(f"\nDirect call to find_kececi_prime_number for fixed numbers: {kpn_direct}")
|
424
|
+
|
425
|
+
# ==============================================================================
|
426
|
+
# --- Tüm Grafikleri Göster ---
|
427
|
+
# ==============================================================================
|
428
|
+
print("\nDisplaying all generated plots...")
|
429
|
+
plt.show()
|
430
|
+
```
|
431
|
+
|
432
|
+
Generated Keçeci Sequence (first 20 of 121): [4, 11, 12, 4, 11, 10, 5, 12, 4, 11, 12, 6, 13, 12, 4, 11, 12, 6, 13, 12]...
|
433
|
+
Keçeci Prime Number for this sequence: 11
|
434
|
+
|
435
|
+
--- Random Type Test (60 Keçeci Steps) ---
|
436
|
+
|
437
|
+
Randomly selected Keçeci Number Type: 1 (Positive Integer)
|
438
|
+
|
439
|
+
Generated Keçeci Sequence (using get_with_params, first 20 of 61): [0, 9, 3, 12, 6, 15, 5, 14, 7, 16, 8, 17, 18, 6, 15, 5, 14, 7, 16, 8]...
|
440
|
+
Keçeci Prime Number for this sequence: 17
|
441
|
+
|
442
|
+
---
|
443
|
+
|
444
|
+
## License / Lisans
|
445
|
+
|
446
|
+
This project is licensed under the MIT License. See the `LICENSE` file for details.
|
447
|
+
|
448
|
+
## Citation
|
449
|
+
|
450
|
+
If this library was useful to you in your research, please cite us. Following the [GitHub citation standards](https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files), here is the recommended citation.
|
451
|
+
|
452
|
+
### BibTeX
|
453
|
+
|
454
|
+
```bibtex
|
455
|
+
@misc{kececi_2025_15377659,
|
456
|
+
author = {Keçeci, Mehmet},
|
457
|
+
title = {kececinumbers},
|
458
|
+
month = may,
|
459
|
+
year = 2025,
|
460
|
+
publisher = {PyPI, Anaconda, Github, Zenodo},
|
461
|
+
version = {0.1.0},
|
462
|
+
doi = {10.5281/zenodo.15377659},
|
463
|
+
url = {https://doi.org/10.5281/zenodo.15377659},
|
464
|
+
}
|
465
|
+
```
|
466
|
+
|
467
|
+
### APA
|
468
|
+
|
469
|
+
```
|
470
|
+
|
471
|
+
Keçeci, M. (2025). Keçeci Varsayımının Kuramsal ve Karşılaştırmalı Analizi. ResearchGate. https://dx.doi.org/10.13140/RG.2.2.21825.88165
|
472
|
+
|
473
|
+
Keçeci, M. (2025). Keçeci Varsayımı'nın Hesaplanabilirliği: Sonlu Adımda Kararlı Yapıya Yakınsama Sorunu. WorkflowHub. https://doi.org/10.48546/workflowhub.document.44.1
|
474
|
+
|
475
|
+
Keçeci, M. (2025). Keçeci Varsayımı ve Dinamik Sistemler: Farklı Başlangıç Koşullarında Yakınsama ve Döngüler. Open Science Output Articles (OSOAs), OSF. https://doi.org/10.17605/OSF.IO/68AFN
|
476
|
+
|
477
|
+
Keçeci, M. (2025). Keçeci Varsayımı: Periyodik Çekiciler ve Keçeci Asal Sayısı (KPN) Kavramı. Open Science Knowledge Articles (OSKAs), Knowledge Commons. https://doi.org/10.17613/g60hy-egx74
|
478
|
+
|
479
|
+
Keçeci, M. (2025). Genelleştirilmiş Keçeci Operatörleri: Collatz Yinelemesinin Nötrosofik ve Hiperreel Sayı Sistemlerinde Uzantıları. Authorea. https://doi.org/10.22541/au.175433544.41244947/v1
|
480
|
+
|
481
|
+
Keçeci, M. (2025). Keçeci Varsayımı: Collatz Genelleştirmesi Olarak Çoklu Cebirsel Sistemlerde Yinelemeli Dinamikler. Open Science Articles (OSAs), Zenodo. https://doi.org/10.5281/zenodo.16702475
|
482
|
+
|
483
|
+
Keçeci, M. (2025). Geometric Interpretations of Keçeci Numbers with Neutrosophic and Hyperreal Numbers. Zenodo. https://doi.org/10.5281/zenodo.16344232
|
484
|
+
|
485
|
+
Keçeci, M. (2025). Keçeci Sayılarının Nötrosofik ve Hipergerçek Sayılarla Geometrik Yorumlamaları. Open Science Articles (OSAs), Zenodo. https://doi.org/10.5281/zenodo.16343568
|
486
|
+
|
487
|
+
Keçeci, M. (2025). kececinumbers [Data set]. figshare. https://doi.org/10.6084/m9.figshare.29816414
|
488
|
+
|
489
|
+
Keçeci, M. (2025). kececinumbers [Data set]. Open Work Flow Articles (OWFAs), WorkflowHub. https://doi.org/10.48546/workflowhub.datafile.14.1; https://doi.org/10.48546/workflowhub.datafile.14.2; https://doi.org/10.48546/workflowhub.datafile.14.3
|
490
|
+
|
491
|
+
Keçeci, M. (2025). kececinumbers. Open Science Articles (OSAs), Zenodo. https://doi.org/10.5281/zenodo.15377659
|
492
|
+
|
493
|
+
Keçeci, M. (2025). Keçeci Numbers and the Keçeci Prime Number: A Potential Number Theoretic Exploratory Tool. https://doi.org/10.5281/zenodo.15381698
|
494
|
+
|
495
|
+
Keçeci, M. (2025). Diversity of Keçeci Numbers and Their Application to Prešić-Type Fixed-Point Iterations: A Numerical Exploration. https://doi.org/10.5281/zenodo.15481711
|
496
|
+
|
497
|
+
Keçeci, M. (2025). Keçeci Numbers and the Keçeci Prime Number. Authorea. June 02, 2025. https://doi.org/10.22541/au.174890181.14730464/v1
|
498
|
+
|
499
|
+
Keçeci, M. (2025, May 11). Keçeci numbers and the Keçeci prime number: A potential number theoretic exploratory tool. Open Science Articles (OSAs), Zenodo. https://doi.org/10.5281/zenodo.15381697
|
500
|
+
```
|
501
|
+
|
502
|
+
### Chicago
|
503
|
+
```
|
504
|
+
|
505
|
+
Keçeci, Mehmet. Keçeci Varsayımı: Collatz Genelleştirmesi Olarak Çoklu Cebirsel Sistemlerde Yinelemeli Dinamikler. Open Science Articles (OSAs), Zenodo. 2025. https://doi.org/10.5281/zenodo.16702475
|
506
|
+
|
507
|
+
Keçeci, Mehmet. kececinumbers [Data set]. WorkflowHub, 2025. https://doi.org/10.48546/workflowhub.datafile.14.1
|
508
|
+
|
509
|
+
Keçeci, Mehmet. "kececinumbers". Open Science Articles (OSAs), Zenodo, 01 May 2025. https://doi.org/10.5281/zenodo.15377659
|
510
|
+
|
511
|
+
Keçeci, Mehmet. "Keçeci Numbers and the Keçeci Prime Number: A Potential Number Theoretic Exploratory Tool", 11 Mayıs 2025. https://doi.org/10.5281/zenodo.15381698
|
512
|
+
|
513
|
+
Keçeci, Mehmet. "Diversity of Keçeci Numbers and Their Application to Prešić-Type Fixed-Point Iterations: A Numerical Exploration". https://doi.org/10.5281/zenodo.15481711
|
514
|
+
|
515
|
+
Keçeci, Mehmet. "Keçeci Numbers and the Keçeci Prime Number". Authorea. June 02, 2025. https://doi.org/10.22541/au.174890181.14730464/v1
|
516
|
+
|
517
|
+
Keçeci, Mehmet. Keçeci numbers and the Keçeci prime number: A potential number theoretic exploratory tool. Open Science Articles (OSAs), Zenodo. 2025. https://doi.org/10.5281/zenodo.15381697
|
518
|
+
```
|
519
|
+
|
520
|
+
---
|
521
|
+
|
522
|
+
# Keçeci Conjecture: Keçeci Varsayımı, Keçeci-Vermutung, Conjecture de Keçeci, Гипотеза Кечеджи, Keçeci Hipoteza, 凯杰西猜想, Keçeci Xiǎngcāng, ケジェジ予想, Keçeci Yosō, Keçeci Huds, Keçeci Hudsiye, Keçeci Hudsia, حدس كَچَه جِي ,حدس کچه جی ,کچہ جی حدسیہ
|
523
|
+
---
|
524
|
+
|
525
|
+
### 🇹🇷 **Türkçe**
|
526
|
+
```text
|
527
|
+
## Keçeci Varsayımı (Keçeci Conjecture) - Önerilen
|
528
|
+
|
529
|
+
Her Keçeci Sayı türü için, `unified_generator` fonksiyonu tarafından oluşturulan dizilerin, sonlu adımdan sonra periyodik bir yapıya veya tekrar eden bir asal temsiline (Keçeci Asal Sayısı, KPN) yakınsadığı sanılmaktadır. Bu davranış, Collatz Varsayımı'nın çoklu cebirsel sistemlere genişletilmiş bir hali olarak değerlendirilebilir.
|
530
|
+
|
531
|
+
Henüz kanıtlanmamıştır ve bu modül bu varsayımı test etmek için bir çerçeve sunar.
|
532
|
+
```
|
533
|
+
|
534
|
+
---
|
535
|
+
|
536
|
+
### 🇬🇧 **İngilizce (English)**
|
537
|
+
```text
|
538
|
+
## Keçeci Conjecture - Proposed
|
539
|
+
|
540
|
+
For every Keçeci Number type, sequences generated by the `unified_generator` function are conjectured to converge to a periodic structure or a recurring prime representation (Keçeci Prime Number, KPN) in finitely many steps. This behavior can be viewed as a generalization of the Collatz Conjecture to multiple algebraic systems.
|
541
|
+
|
542
|
+
It remains unproven, and this module provides a framework for testing the conjecture.
|
543
|
+
```
|
544
|
+
|
545
|
+
---
|
546
|
+
|
547
|
+
### 🇩🇪 **Almanca (Deutsch)**
|
548
|
+
```text
|
549
|
+
## Keçeci-Vermutung – Vorgeschlagen
|
550
|
+
|
551
|
+
Es wird vermutet, dass die vom `unified_generator` erzeugten Sequenzen für jeden Keçeci-Zahl-Typ nach endlich vielen Schritten gegen eine periodische Struktur oder eine wiederkehrende Primdarstellung (Keçeci-Primzahl, KPN) konvergieren. Dieses Verhalten kann als eine Erweiterung der Collatz-Vermutung auf mehrere algebraische Systeme betrachtet werden.
|
552
|
+
|
553
|
+
Die Vermutung ist bisher unbewiesen, und dieses Modul bietet einen Rahmen, um sie zu untersuchen.
|
554
|
+
```
|
555
|
+
|
556
|
+
---
|
557
|
+
|
558
|
+
### 🇫🇷 **Fransızca (Français)**
|
559
|
+
```text
|
560
|
+
## Conjecture de Keçeci – Proposée
|
561
|
+
|
562
|
+
On conjecture que, pour chaque type de nombre Keçeci, les suites générées par la fonction `unified_generator` convergent, en un nombre fini d'étapes, vers une structure périodique ou une représentation première récurrente (Nombre Premier Keçeci, KPN). Ce comportement peut être vu comme une généralisation de la conjecture de Collatz à divers systèmes algébriques.
|
563
|
+
|
564
|
+
Elle n'est pas encore démontrée, et ce module fournit un cadre pour la tester.
|
565
|
+
```
|
566
|
+
|
567
|
+
|
568
|
+
---
|
569
|
+
|
570
|
+
### 🇷🇺 **Rusça (Русский)**
|
571
|
+
```text
|
572
|
+
## Гипотеза Кечеджи — Предложенная
|
573
|
+
|
574
|
+
Предполагается, что последовательности, генерируемые функцией `unified_generator` для каждого типа чисел Кечеджи, сходятся к периодической структуре или повторяющемуся простому представлению (Простое число Кечеджи, KPN) за конечное число шагов. Это поведение можно рассматривать как обобщение гипотезы Коллатца на многомерные алгебраические системы.
|
575
|
+
|
576
|
+
Гипотеза пока не доказана, и данный модуль предоставляет среду для её проверки.
|
577
|
+
```
|
578
|
+
|
579
|
+
---
|
580
|
+
|
581
|
+
### 🇨🇳 **Çince (中文 - Basitleştirilmiş)**
|
582
|
+
```text
|
583
|
+
## 凯杰西猜想(Keçeci Conjecture)— 提出
|
584
|
+
|
585
|
+
据推测,对于每一种凯杰西数类型,由 `unified_generator` 函数生成的序列将在有限步内收敛到周期性结构或重复的素数表示(凯杰西素数,KPN)。这种行为可视为科拉茨猜想在多种代数系统中的推广。
|
586
|
+
|
587
|
+
该猜想尚未被证明,本模块提供了一个用于测试该猜想的框架。
|
588
|
+
```
|
589
|
+
|
590
|
+
---
|
591
|
+
|
592
|
+
### 🇯🇵 **Japonca (日本語)**
|
593
|
+
```text
|
594
|
+
## ケジェジ予想(Keçeci Conjecture)― 提案
|
595
|
+
|
596
|
+
すべてのケジェジ数型に対して、`unified_generator` 関数によって生成される数列は、有限回のステップ後に周期的な構造または繰り返し現れる素数表現(ケジェジ素数、KPN)に収束すると考えられている。この振る舞いは、コラッツ予想を複数の代数系へと拡張したものと見なせる。
|
597
|
+
|
598
|
+
この予想は未だ証明されておらず、本モジュールはその検証のための枠組みを提供する。
|
599
|
+
```
|
600
|
+
|
601
|
+
---
|
602
|
+
|
603
|
+
### 🇸🇦 **Arapça (العربية): "كَچَه جِي"**
|
604
|
+
```text
|
605
|
+
## حدس كَچَه جِي (Keçeci Conjecture) — مقترح
|
606
|
+
|
607
|
+
يُفترض أن المتتاليات التي يولدها الدالة `unified_generator` لكل نوع من أعداد كَچَه جِي تتقارب، بعد عدد محدود من الخطوات، إلى بنية دورية أو إلى تمثيل أولي متكرر (العدد الأولي لكَچَه جِي، KPN). يمكن اعتبار هذا السلوك تعميمًا لحدس كولاتز على نظم جبرية متعددة.
|
608
|
+
|
609
|
+
ما زال هذا الحدس غير مثبت، ويقدم هذا الوحدة إطارًا لاختباره.
|
610
|
+
```
|
611
|
+
|
612
|
+
---
|
613
|
+
|
614
|
+
### 🇮🇷 **Farsça (فارسی): "کچه جی"**
|
615
|
+
```text
|
616
|
+
## حدس کچه جی (Keçeci Conjecture) — پیشنهادی
|
617
|
+
|
618
|
+
گمان میرود که دنبالههای تولید شده توسط تابع `unified_generator` برای هر نوع از اعداد کچه جی، پس از تعداد محدودی گام، به یک ساختار تناوبی یا نمایش اول تکراری (عدد اول کچه جی، KPN) همگرا شوند. این رفتار را میتوان تعمیمی از حدس کولاتز به سیستمهای جبری چندگانه دانست.
|
619
|
+
|
620
|
+
این حدس هنوز اثبات نشده است و این ماژول چارچوبی برای آزمودن آن فراهم میکند.
|
621
|
+
```
|
622
|
+
|
623
|
+
---
|
624
|
+
|
625
|
+
### 🇵🇰 **Urduca (اردو): "کچہ جی"**
|
626
|
+
```text
|
627
|
+
## کچہ جی حدسیہ (Keçeci Conjecture) — تجویز شدہ
|
628
|
+
|
629
|
+
ہر قسم کے کچہ جی نمبر کے لیے، یہ تجویز کیا جاتا ہے کہ `unified_generator` فنکشن کے ذریعے تیار کردہ ترادف محدود مراحل کے بعد ایک دوری ساخت یا دہرائے گئے مفرد نمائندگی (کچہ جی مفرد نمبر، KPN) کی طرف مائل ہوتا ہے۔ اس رویے کو کولاتز حدسیہ کی متعدد الجبری نظاموں تک توسیع کے طور پر دیکھا جا سکتا ہے۔
|
630
|
+
|
631
|
+
ابھی تک یہ ثابت نہیں ہوا ہے، اور یہ ماڈیول اس حدسیہ کی جانچ کے لیے ایک فریم ورک فراہم کرتا ہے۔
|
632
|
+
```
|
633
|
+
|
634
|
+
|