kececinumbers 0.3.3__tar.gz → 0.3.5__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.3.3/kececinumbers.egg-info → kececinumbers-0.3.5}/PKG-INFO +130 -7
- {kececinumbers-0.3.3 → kececinumbers-0.3.5}/README.md +129 -6
- kececinumbers-0.3.5/kececinumbers/__init__.py +117 -0
- {kececinumbers-0.3.3 → kececinumbers-0.3.5}/kececinumbers/_version.py +1 -1
- kececinumbers-0.3.5/kececinumbers/kececinumbers.py +853 -0
- {kececinumbers-0.3.3 → kececinumbers-0.3.5/kececinumbers.egg-info}/PKG-INFO +130 -7
- {kececinumbers-0.3.3 → kececinumbers-0.3.5}/setup.py +2 -2
- kececinumbers-0.3.3/kececinumbers/__init__.py +0 -37
- kececinumbers-0.3.3/kececinumbers/kececinumbers.py +0 -1203
- {kececinumbers-0.3.3 → kececinumbers-0.3.5}/LICENSE +0 -0
- {kececinumbers-0.3.3 → kececinumbers-0.3.5}/MANIFEST.in +0 -0
- {kececinumbers-0.3.3 → kececinumbers-0.3.5}/kececinumbers.egg-info/SOURCES.txt +0 -0
- {kececinumbers-0.3.3 → kececinumbers-0.3.5}/kececinumbers.egg-info/dependency_links.txt +0 -0
- {kececinumbers-0.3.3 → kececinumbers-0.3.5}/kececinumbers.egg-info/requires.txt +0 -0
- {kececinumbers-0.3.3 → kececinumbers-0.3.5}/kececinumbers.egg-info/top_level.txt +0 -0
- {kececinumbers-0.3.3 → kececinumbers-0.3.5}/pyproject.toml +0 -0
- {kececinumbers-0.3.3 → kececinumbers-0.3.5}/setup.cfg +0 -0
- {kececinumbers-0.3.3 → kececinumbers-0.3.5}/tests/test_sample.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: kececinumbers
|
3
|
-
Version: 0.3.
|
3
|
+
Version: 0.3.5
|
4
4
|
Summary: Keçeci Numbers: An Exploration of a Dynamic Sequence Across Diverse Number Sets
|
5
5
|
Home-page: https://github.com/WhiteSymmetry/kececinumbers
|
6
6
|
Author: Mehmet Keçeci
|
@@ -32,14 +32,12 @@ Dynamic: requires-python
|
|
32
32
|
Dynamic: summary
|
33
33
|
|
34
34
|
# Keçeci Numbers: Keçeci Sayıları
|
35
|
+
---
|
35
36
|
|
36
|
-
[](https://badge.fury.io/py/kececinumbers)
|
37
|
+
[](https://badge.fury.io/py/kececinumbers/)
|
37
38
|
[](https://opensource.org/licenses/MIT)
|
38
|
-
|
39
39
|
[](https://doi.org/10.5281/zenodo.15377659)
|
40
|
-
|
41
40
|
[](https://doi.org/10.48546/workflowhub.datafile.14.2)
|
42
|
-
|
43
41
|
[](https://doi.org/10.6084/m9.figshare.29816414)
|
44
42
|
|
45
43
|
[](https://anaconda.org/bilgi/kececinumbers)
|
@@ -49,16 +47,17 @@ Dynamic: summary
|
|
49
47
|
|
50
48
|
[](https://opensource.org/)
|
51
49
|
[](https://kececinumbers.readthedocs.io/en/latest)
|
52
|
-
|
53
50
|
[](https://www.bestpractices.dev/projects/10536)
|
54
51
|
|
55
52
|
[](https://github.com/WhiteSymmetry/kececinumbers/actions/workflows/python_ci.yml)
|
56
53
|
[](https://codecov.io/gh/WhiteSymmetry/kececinumbers)
|
57
54
|
[](https://kececinumbers.readthedocs.io/en/latest/)
|
58
55
|
[](https://terrarium.evidencepub.io/v2/gh/WhiteSymmetry/kececinumbers/HEAD)
|
56
|
+
|
59
57
|
[](https://badge.fury.io/py/kececinumbers)
|
60
58
|
[](https://pepy.tech/projects/kececinumbers)
|
61
|
-
[](CODE_OF_CONDUCT.md)
|
59
|
+
[](CODE_OF_CONDUCT.md)
|
60
|
+
[](https://github.com/astral-sh/ruff)
|
62
61
|
|
63
62
|
---
|
64
63
|
|
@@ -101,6 +100,130 @@ Dynamic: summary
|
|
101
100
|
|
102
101
|
---
|
103
102
|
|
103
|
+
**Keçeci Numbers** is a Python library for generating, analyzing, and visualizing dynamic sequences inspired by the Collatz Conjecture across diverse number systems.
|
104
|
+
|
105
|
+
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.
|
106
|
+
|
107
|
+
<details>
|
108
|
+
<summary>🇹🇷 Türkçe Açıklama (Click to expand)</summary>
|
109
|
+
|
110
|
+
**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.
|
111
|
+
|
112
|
+
</details>
|
113
|
+
|
114
|
+
---
|
115
|
+
|
116
|
+
## What are Keçeci Numbers?
|
117
|
+
|
118
|
+
Keçeci Numbers are sequences generated from a starting value using a recursive rule. The process for each step is:
|
119
|
+
|
120
|
+
1. **Add & Record:** A fixed increment value is added to the current value. This new "added value" is recorded in the sequence.
|
121
|
+
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.
|
122
|
+
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.
|
123
|
+
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.
|
124
|
+
|
125
|
+
This flexible mechanism provides a rich framework for studying the behavior of numerical sequences in various algebraic systems.
|
126
|
+
|
127
|
+
## Key Features
|
128
|
+
|
129
|
+
* **11 Different Number Types:** Supports integers, rationals, complex numbers, quaternions, neutrosophic numbers, and more.
|
130
|
+
* **Unified Generator:** Uses a single, consistent `unified_generator` algorithm for all number types.
|
131
|
+
* **Advanced Visualization:** Provides a multi-dimensional `plot_numbers` function tailored to the nature of each number system.
|
132
|
+
* **Keçeci Prime Number (KPN) Analysis:** Identifies the most recurring prime representation in sequences to analyze their convergence behavior.
|
133
|
+
* **Interactive and Programmatic Usage:** Supports both interactive parameter input (`get_interactive`) and direct use in scripts (`get_with_params`).
|
134
|
+
|
135
|
+
---
|
136
|
+
|
137
|
+
## Installation
|
138
|
+
|
139
|
+
You can easily install the project using **Conda** or **Pip**:
|
140
|
+
|
141
|
+
```bash
|
142
|
+
# Install with Conda
|
143
|
+
conda install -c bilgi kececinumbers
|
144
|
+
|
145
|
+
# Install with Pip
|
146
|
+
pip install kececinumbers
|
147
|
+
```
|
148
|
+
|
149
|
+
---
|
150
|
+
|
151
|
+
## Quick Start
|
152
|
+
|
153
|
+
The following example creates and visualizes a Keçeci sequence with POSITIVE_REAL numbers.
|
154
|
+
|
155
|
+
```python
|
156
|
+
import matplotlib.pyplot as plt
|
157
|
+
import kececinumbers as kn
|
158
|
+
|
159
|
+
# Generate a Keçeci sequence with specific parameters
|
160
|
+
sequence = kn.get_with_params(
|
161
|
+
kececi_type_choice=kn.TYPE_POSITIVE_REAL,
|
162
|
+
iterations=20,
|
163
|
+
start_value_raw="1",
|
164
|
+
add_value_base_scalar=9.0
|
165
|
+
)
|
166
|
+
|
167
|
+
# If the sequence was generated successfully, plot it
|
168
|
+
if sequence:
|
169
|
+
kn.plot_numbers(sequence, title="My First POSITIVE_REAL Keçeci Sequence")
|
170
|
+
plt.show()
|
171
|
+
|
172
|
+
# Optionally, find and print the Keçeci Prime Number (KPN)
|
173
|
+
kpn = kn.find_kececi_prime_number(sequence)
|
174
|
+
if kpn:
|
175
|
+
print(f"\nKeçeci Prime Number (KPN) found: {kpn}")
|
176
|
+
```
|
177
|
+
|
178
|
+

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

|
209
|
+
|
210
|
+
---
|
211
|
+
|
212
|
+
## The Keçeci Conjecture
|
213
|
+
|
214
|
+
> 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.
|
215
|
+
|
216
|
+
This conjecture remains unproven, and this library provides a framework for testing it.
|
217
|
+
|
218
|
+
<details>
|
219
|
+
<summary>Click for the conjecture in other languages (Diğer diller için tıklayın)</summary>
|
220
|
+
|
221
|
+
* **🇹🇷 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.
|
222
|
+
* **🇩🇪 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.
|
223
|
+
|
224
|
+
</details>
|
225
|
+
---
|
226
|
+
|
104
227
|
## Description / Açıklama
|
105
228
|
|
106
229
|
**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.
|
@@ -1,12 +1,10 @@
|
|
1
1
|
# Keçeci Numbers: Keçeci Sayıları
|
2
|
+
---
|
2
3
|
|
3
|
-
[](https://badge.fury.io/py/kececinumbers)
|
4
|
+
[](https://badge.fury.io/py/kececinumbers/)
|
4
5
|
[](https://opensource.org/licenses/MIT)
|
5
|
-
|
6
6
|
[](https://doi.org/10.5281/zenodo.15377659)
|
7
|
-
|
8
7
|
[](https://doi.org/10.48546/workflowhub.datafile.14.2)
|
9
|
-
|
10
8
|
[](https://doi.org/10.6084/m9.figshare.29816414)
|
11
9
|
|
12
10
|
[](https://anaconda.org/bilgi/kececinumbers)
|
@@ -16,16 +14,17 @@
|
|
16
14
|
|
17
15
|
[](https://opensource.org/)
|
18
16
|
[](https://kececinumbers.readthedocs.io/en/latest)
|
19
|
-
|
20
17
|
[](https://www.bestpractices.dev/projects/10536)
|
21
18
|
|
22
19
|
[](https://github.com/WhiteSymmetry/kececinumbers/actions/workflows/python_ci.yml)
|
23
20
|
[](https://codecov.io/gh/WhiteSymmetry/kececinumbers)
|
24
21
|
[](https://kececinumbers.readthedocs.io/en/latest/)
|
25
22
|
[](https://terrarium.evidencepub.io/v2/gh/WhiteSymmetry/kececinumbers/HEAD)
|
23
|
+
|
26
24
|
[](https://badge.fury.io/py/kececinumbers)
|
27
25
|
[](https://pepy.tech/projects/kececinumbers)
|
28
|
-
[](CODE_OF_CONDUCT.md)
|
26
|
+
[](CODE_OF_CONDUCT.md)
|
27
|
+
[](https://github.com/astral-sh/ruff)
|
29
28
|
|
30
29
|
---
|
31
30
|
|
@@ -68,6 +67,130 @@
|
|
68
67
|
|
69
68
|
---
|
70
69
|
|
70
|
+
**Keçeci Numbers** is a Python library for generating, analyzing, and visualizing dynamic sequences inspired by the Collatz Conjecture across diverse number systems.
|
71
|
+
|
72
|
+
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.
|
73
|
+
|
74
|
+
<details>
|
75
|
+
<summary>🇹🇷 Türkçe Açıklama (Click to expand)</summary>
|
76
|
+
|
77
|
+
**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.
|
78
|
+
|
79
|
+
</details>
|
80
|
+
|
81
|
+
---
|
82
|
+
|
83
|
+
## What are Keçeci Numbers?
|
84
|
+
|
85
|
+
Keçeci Numbers are sequences generated from a starting value using a recursive rule. The process for each step is:
|
86
|
+
|
87
|
+
1. **Add & Record:** A fixed increment value is added to the current value. This new "added value" is recorded in the sequence.
|
88
|
+
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.
|
89
|
+
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.
|
90
|
+
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.
|
91
|
+
|
92
|
+
This flexible mechanism provides a rich framework for studying the behavior of numerical sequences in various algebraic systems.
|
93
|
+
|
94
|
+
## Key Features
|
95
|
+
|
96
|
+
* **11 Different Number Types:** Supports integers, rationals, complex numbers, quaternions, neutrosophic numbers, and more.
|
97
|
+
* **Unified Generator:** Uses a single, consistent `unified_generator` algorithm for all number types.
|
98
|
+
* **Advanced Visualization:** Provides a multi-dimensional `plot_numbers` function tailored to the nature of each number system.
|
99
|
+
* **Keçeci Prime Number (KPN) Analysis:** Identifies the most recurring prime representation in sequences to analyze their convergence behavior.
|
100
|
+
* **Interactive and Programmatic Usage:** Supports both interactive parameter input (`get_interactive`) and direct use in scripts (`get_with_params`).
|
101
|
+
|
102
|
+
---
|
103
|
+
|
104
|
+
## Installation
|
105
|
+
|
106
|
+
You can easily install the project using **Conda** or **Pip**:
|
107
|
+
|
108
|
+
```bash
|
109
|
+
# Install with Conda
|
110
|
+
conda install -c bilgi kececinumbers
|
111
|
+
|
112
|
+
# Install with Pip
|
113
|
+
pip install kececinumbers
|
114
|
+
```
|
115
|
+
|
116
|
+
---
|
117
|
+
|
118
|
+
## Quick Start
|
119
|
+
|
120
|
+
The following example creates and visualizes a Keçeci sequence with POSITIVE_REAL numbers.
|
121
|
+
|
122
|
+
```python
|
123
|
+
import matplotlib.pyplot as plt
|
124
|
+
import kececinumbers as kn
|
125
|
+
|
126
|
+
# Generate a Keçeci sequence with specific parameters
|
127
|
+
sequence = kn.get_with_params(
|
128
|
+
kececi_type_choice=kn.TYPE_POSITIVE_REAL,
|
129
|
+
iterations=20,
|
130
|
+
start_value_raw="1",
|
131
|
+
add_value_base_scalar=9.0
|
132
|
+
)
|
133
|
+
|
134
|
+
# If the sequence was generated successfully, plot it
|
135
|
+
if sequence:
|
136
|
+
kn.plot_numbers(sequence, title="My First POSITIVE_REAL Keçeci Sequence")
|
137
|
+
plt.show()
|
138
|
+
|
139
|
+
# Optionally, find and print the Keçeci Prime Number (KPN)
|
140
|
+
kpn = kn.find_kececi_prime_number(sequence)
|
141
|
+
if kpn:
|
142
|
+
print(f"\nKeçeci Prime Number (KPN) found: {kpn}")
|
143
|
+
```
|
144
|
+
|
145
|
+

|
146
|
+
|
147
|
+
---
|
148
|
+
|
149
|
+
The following example creates and visualizes a Keçeci sequence with complex numbers.
|
150
|
+
|
151
|
+
```python
|
152
|
+
import matplotlib.pyplot as plt
|
153
|
+
import kececinumbers as kn
|
154
|
+
|
155
|
+
# Generate a Keçeci sequence with specific parameters
|
156
|
+
# Type: Complex Number, Iterations: 60
|
157
|
+
sequence = kn.get_with_params(
|
158
|
+
kececi_type_choice=kn.TYPE_COMPLEX,
|
159
|
+
iterations=60,
|
160
|
+
start_value_raw="1+2j",
|
161
|
+
add_value_base_scalar=3.0
|
162
|
+
)
|
163
|
+
|
164
|
+
# If the sequence was generated successfully, plot it
|
165
|
+
if sequence:
|
166
|
+
kn.plot_numbers(sequence, title="Complex Keçeci Numbers Example")
|
167
|
+
plt.show()
|
168
|
+
|
169
|
+
# Find the Keçeci Prime Number (KPN) for the sequence
|
170
|
+
kpn = kn.find_kececi_prime_number(sequence)
|
171
|
+
if kpn:
|
172
|
+
print(f"\nKeçeci Prime Number (KPN) found for this sequence: {kpn}")
|
173
|
+
```
|
174
|
+
|
175
|
+

|
176
|
+
|
177
|
+
---
|
178
|
+
|
179
|
+
## The Keçeci Conjecture
|
180
|
+
|
181
|
+
> 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.
|
182
|
+
|
183
|
+
This conjecture remains unproven, and this library provides a framework for testing it.
|
184
|
+
|
185
|
+
<details>
|
186
|
+
<summary>Click for the conjecture in other languages (Diğer diller için tıklayın)</summary>
|
187
|
+
|
188
|
+
* **🇹🇷 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.
|
189
|
+
* **🇩🇪 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.
|
190
|
+
|
191
|
+
</details>
|
192
|
+
---
|
193
|
+
|
71
194
|
## Description / Açıklama
|
72
195
|
|
73
196
|
**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.
|
@@ -0,0 +1,117 @@
|
|
1
|
+
# __init__.py
|
2
|
+
|
3
|
+
"""
|
4
|
+
Keçeci Numbers: A Comprehensive Framework for Number Sequence Analysis.
|
5
|
+
|
6
|
+
This package provides tools for generating, analyzing, and visualizing
|
7
|
+
11 different types of Keçeci Number sequences, from standard integers
|
8
|
+
to complex algebraic structures like quaternions and neutrosophic numbers.
|
9
|
+
|
10
|
+
Bu dosya paketin başlangıç noktası olarak çalışır.
|
11
|
+
Alt modülleri yükler, sürüm bilgileri tanımlar ve geriye dönük uyumluluk için uyarılar sağlar.
|
12
|
+
"""
|
13
|
+
|
14
|
+
from __future__ import annotations
|
15
|
+
import importlib
|
16
|
+
import os
|
17
|
+
import warnings
|
18
|
+
|
19
|
+
# if os.getenv("DEVELOPMENT") == "true":
|
20
|
+
# importlib.reload(kececinumbers) # F821 undefined name 'kececinumbers'
|
21
|
+
|
22
|
+
# Paket sürüm numarası
|
23
|
+
__version__ = "0.3.5"
|
24
|
+
__author__ = "Mehmet Keçeci"
|
25
|
+
__email__ = "mkececi@yaani.com"
|
26
|
+
|
27
|
+
# Public API exposed to users of the 'kececinumbers' package.
|
28
|
+
__all__ = [
|
29
|
+
# --- Custom Number Classes ---
|
30
|
+
'NeutrosophicNumber',
|
31
|
+
'NeutrosophicComplexNumber',
|
32
|
+
'HyperrealNumber',
|
33
|
+
'BicomplexNumber',
|
34
|
+
'NeutrosophicBicomplexNumber',
|
35
|
+
|
36
|
+
# --- High-Level Functions ---
|
37
|
+
'get_with_params',
|
38
|
+
'get_interactive',
|
39
|
+
'get_random_type',
|
40
|
+
|
41
|
+
# --- Core Generation and Analysis ---
|
42
|
+
'unified_generator',
|
43
|
+
'is_prime',
|
44
|
+
'find_kececi_prime_number',
|
45
|
+
|
46
|
+
# --- Visualization and Reporting ---
|
47
|
+
'plot_numbers',
|
48
|
+
'print_detailed_report',
|
49
|
+
|
50
|
+
# --- Type Constants ---
|
51
|
+
'TYPE_POSITIVE_REAL',
|
52
|
+
'TYPE_NEGATIVE_REAL',
|
53
|
+
'TYPE_COMPLEX',
|
54
|
+
'TYPE_FLOAT',
|
55
|
+
'TYPE_RATIONAL',
|
56
|
+
'TYPE_QUATERNION',
|
57
|
+
'TYPE_NEUTROSOPHIC',
|
58
|
+
'TYPE_NEUTROSOPHIC_COMPLEX',
|
59
|
+
'TYPE_HYPERREAL',
|
60
|
+
'TYPE_BICOMPLEX',
|
61
|
+
'TYPE_NEUTROSOPHIC_BICOMPLEX'
|
62
|
+
]
|
63
|
+
|
64
|
+
# Göreli modül içe aktarmaları
|
65
|
+
# F401 hatasını önlemek için sadece kullanacağınız şeyleri dışa aktarın
|
66
|
+
# Aksi halde linter'lar "imported but unused" uyarısı verir
|
67
|
+
try:
|
68
|
+
#from .kececinumbers import * # gerekirse burada belirli fonksiyonları seçmeli yapmak daha güvenlidir
|
69
|
+
#from . import kececinumbers # Modülün kendisine doğrudan erişim isteniyorsa
|
70
|
+
# Import the public API into the package's namespace.
|
71
|
+
from .kececinumbers import (
|
72
|
+
# Classes
|
73
|
+
NeutrosophicNumber,
|
74
|
+
NeutrosophicComplexNumber,
|
75
|
+
HyperrealNumber,
|
76
|
+
BicomplexNumber,
|
77
|
+
NeutrosophicBicomplexNumber,
|
78
|
+
|
79
|
+
# Functions
|
80
|
+
get_with_params,
|
81
|
+
get_interactive,
|
82
|
+
get_random_type,
|
83
|
+
unified_generator,
|
84
|
+
is_prime,
|
85
|
+
find_kececi_prime_number,
|
86
|
+
plot_numbers,
|
87
|
+
print_detailed_report,
|
88
|
+
|
89
|
+
# Constants
|
90
|
+
TYPE_POSITIVE_REAL,
|
91
|
+
TYPE_NEGATIVE_REAL,
|
92
|
+
TYPE_COMPLEX,
|
93
|
+
TYPE_FLOAT,
|
94
|
+
TYPE_RATIONAL,
|
95
|
+
TYPE_QUATERNION,
|
96
|
+
TYPE_NEUTROSOPHIC,
|
97
|
+
TYPE_NEUTROSOPHIC_COMPLEX,
|
98
|
+
TYPE_HYPERREAL,
|
99
|
+
TYPE_BICOMPLEX,
|
100
|
+
TYPE_NEUTROSOPHIC_BICOMPLEX
|
101
|
+
)
|
102
|
+
except ImportError as e:
|
103
|
+
warnings.warn(f"Gerekli modül yüklenemedi: {e}", ImportWarning)
|
104
|
+
|
105
|
+
# Eski bir fonksiyonun yer tutucusu - gelecekte kaldırılacak
|
106
|
+
def eski_fonksiyon():
|
107
|
+
"""
|
108
|
+
Kaldırılması planlanan eski bir fonksiyondur.
|
109
|
+
Lütfen alternatif fonksiyonları kullanın.
|
110
|
+
"""
|
111
|
+
warnings.warn(
|
112
|
+
"eski_fonksiyon() artık kullanılmamaktadır ve gelecekte kaldırılacaktır. "
|
113
|
+
"Lütfen yeni alternatif fonksiyonları kullanın. "
|
114
|
+
"Keçeci numbers; Python 3.7-3.14 sürümlerinde sorunsuz çalışmalıdır.",
|
115
|
+
category=DeprecationWarning,
|
116
|
+
stacklevel=2
|
117
|
+
)
|