初始化项目,由ModelHub XC社区提供模型

Model: Brunobkr/OFFELLIA_Quantis
Source: Original Platform
This commit is contained in:
ModelHub XC
2026-08-11 10:11:17 +08:00
commit 86836ec189
71 changed files with 29901 additions and 0 deletions

113
.gitattributes vendored Normal file
View File

@@ -0,0 +1,113 @@
*.7z filter=lfs diff=lfs merge=lfs -text
*.arrow filter=lfs diff=lfs merge=lfs -text
*.bin filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.ckpt filter=lfs diff=lfs merge=lfs -text
*.ftz filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.h5 filter=lfs diff=lfs merge=lfs -text
*.joblib filter=lfs diff=lfs merge=lfs -text
*.lfs.* filter=lfs diff=lfs merge=lfs -text
*.mlmodel filter=lfs diff=lfs merge=lfs -text
*.model filter=lfs diff=lfs merge=lfs -text
*.msgpack filter=lfs diff=lfs merge=lfs -text
*.npy filter=lfs diff=lfs merge=lfs -text
*.npz filter=lfs diff=lfs merge=lfs -text
*.onnx filter=lfs diff=lfs merge=lfs -text
*.ot filter=lfs diff=lfs merge=lfs -text
*.parquet filter=lfs diff=lfs merge=lfs -text
*.pb filter=lfs diff=lfs merge=lfs -text
*.pickle filter=lfs diff=lfs merge=lfs -text
*.pkl filter=lfs diff=lfs merge=lfs -text
*.pt filter=lfs diff=lfs merge=lfs -text
*.pth filter=lfs diff=lfs merge=lfs -text
*.rar filter=lfs diff=lfs merge=lfs -text
*.safetensors filter=lfs diff=lfs merge=lfs -text
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
*.tar.* filter=lfs diff=lfs merge=lfs -text
*.tar filter=lfs diff=lfs merge=lfs -text
*.tflite filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.wasm filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text
*tfevents* filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_Quantis_granite_7b-4.0-h-tiny.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_Quantis_IBM_30b_Q4_K_M.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_Quantis_LFM2-350M.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_Quantis_LFM2-8B.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_Quantis_MiniCPM-o-4_5.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_Quantis_Ministral-3-3B.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_Quantis_SmolLM3.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_Quantis_Falcon-H1R-7B.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_Quantis_Llama-3.1-8B.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_Quantis_phi-4.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_Quantis_devstral.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_LFM2-ColBERT-350M.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_quantis_MiniCPM-V-4_5.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_quantis_music_generation.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_quantis_MusicgenV2.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_LFM2-8B-A1B-Q6_K.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_qwen2.5-coder-14b-instruct-Q6_K.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_qwen2.5-coder-14b-instruct-Q8_0.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_LFM2-8B-A1B-Q8_0.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_LFM2-8B-A1B-F16 filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_LFM2-8B-A1B-F16.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_LFM2-2.6B-Exp-Q4_K_M.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_LFM2-700M-Q4_K_M.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_LFM2-350M-Q8_0.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_LFM2-350M-Q5_K_M.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_granite-3.3-8b-instruct-Q4_K_M.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_gpt-oss-20b-Q4_K_M.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_gpt-oss-20b-IQ4_XS.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_LFM2-8B-A1B-IQ4_XS.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_glm-4.7-flash-claude-4.5-opus_30b-IQ4_XS.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_LFM2-700M-Claw-IQ4_XS.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_Nemotron-30B-IQ4_XS.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_Qwen3-Coder-Next-80B-IQ4_XS.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_LFM2-8B-A1B-Q4_K.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_gemma_3_4b_gaia-PT-BR-Q4_K_M.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_qwen2.5-coder-14b-instruct-Q4_K_M.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_qwen2.5-coder-32b-instruct-Q4_K_M.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_GLM-4.7-Flash-Q4_K_M.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_DeepSeek-Coder-V2-Lite-Instruct-instruct-Q4_K_M.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_qwen2.5-coder-7b-instruct-Q4_K_M.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_DMindAI.DMind-3-mini_RobotSys_Q4_K_M.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_DMindAI.DMind-3-RobotSys_mini_q8_0.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_GELab-Zero-4B-q8_0.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_gemma3-4b-q8_0.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_LFM2-8B-A1B-q8_0.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_Meta-Llama-3.1-8B-Instruct-Q4_K_M.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_Meta-Llama-3.1-8B-Instruct-q8_0.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_Nemotron-Mini-4B-Instruct-q8_0.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_qwen2.5-coder-3b-instruct-q8_0.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_Meta-Llama-3.1-8B-Instruct-f16.gguf filter=lfs diff=lfs merge=lfs -text
OFFELLIA_LFM2_8B_Q8.gguf filter=lfs diff=lfs merge=lfs -text
OFFELLIA_LFM2-8B-A1B_Q4_0.gguf filter=lfs diff=lfs merge=lfs -text
OFFELLIA_LFM2-24B-A2B_Q4_0.gguf filter=lfs diff=lfs merge=lfs -text
OFFELLIA_Qwen2.5-Coder-14B-Instruct_Q4_0.gguf filter=lfs diff=lfs merge=lfs -text
OFFELLIA_GELab-Engine-7B_IQ4_XS.gguf filter=lfs diff=lfs merge=lfs -text
OFFELLIA_LFM2-24B-A2B_IQ4_XS.gguf filter=lfs diff=lfs merge=lfs -text
OFFELLIA_LFM2-8B-A1B_IQ4_XS.gguf filter=lfs diff=lfs merge=lfs -text
OFFELLIA_Qwen2.5-Coder-14B-Instruct_IQ4_XS.gguf filter=lfs diff=lfs merge=lfs -text
OFFELLIA_Qwen2.5-Coder-7B-Instruct_Q4_0.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIαHLX_LFM2-24B-A2B-A2B_Q8.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIαHLX_LFM2-8B-A1B_MXFP4_MOE.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIαHLX_LFM2-24B-A2B_MXFP4_MOE.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIαHLX_Qwen3.5-35B_MXFP4_MOE.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIαHLX_Nemotron-3-Nano-30B-A3B_MXFP4_MOE.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIαHLX_Qwen3-Coder-Next_MXFP4_MOE.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIαHLX_gpt-oss-20b_MXFP4_MOE.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIαHLX_TeichAI_GLM-4.7_Distill_MXFP4_MOE.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIαHLX_Qwen3.5-9B_hybrid_MXFP4_MOE.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIαHLX_AI21-Jamba2-Mini_hybrid_MXFP4_MOE.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIαHLX_OpenAI-gpt-oss-20B-Claude-4.5-Opus-Heretic-Uncensored.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_ΩFFΣLLIα_LFM2-24B-A2B-abliterated_MXFP4_hybrid.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_Qwen3.5-4B-_MXFP4_hybrid.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_DeepSeek-Coder-V2-Lite-Instruct_MXFP4_MOE.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_DeepHat-V1-7B_MXFP4_MOE.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_gpt-oss-20b-gpt-5-codex-distill_MXFP4_MOE.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_granite-code-base-8k_MXFP4_MOE.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_Hypernova-60B-2602_MXFP4_MOE.gguf filter=lfs diff=lfs merge=lfs -text
ΩFFΣLLIα_Nemotron-Cascade-2-30B-A3B_MXFP4_MOE.gguf filter=lfs diff=lfs merge=lfs -text

110
1-Zeta_Geometrica.txt Normal file
View File

@@ -0,0 +1,110 @@
\documentclass{article}
\usepackage{amsmath, amssymb, amsfonts}
\begin{document}
%------------------------------------
% Artigo Avançado: Fn Helicoidal, Fourier e Função Zeta
%------------------------------------
\section*{1. Função Helicoidal dos Primos}
Seja $p_n$ o $n$-ésimo número primo. Definimos a função helicoidal dos primos:
\begin{equation}
F_h(n) = r_n e^{i \theta_n}, \quad r_n = \sin^2(\theta_n), \quad \theta_n = 2 \pi \phi p_n
\end{equation}
em coordenadas cartesianas:
\begin{align}
x_n &= r_n \cos(\theta_n), \quad
y_n = r_n \sin(\theta_n), \quad
z_n = p_n
\end{align}
onde $\phi = \frac{1 + \sqrt{5}}{2}$ é a proporção áurea, garantindo irracionalidade máxima.
\section*{2. Parametrização Logarítmica e Linha Crítica}
Para aproximar a escala natural dos primos:
\begin{equation}
\theta_n = 2 \pi \ln(p_n), \quad r_n = \sin^2(\theta_n)
\end{equation}
\begin{equation}
(x_n, y_n, z_n) = (r_n \cos \theta_n, r_n \sin \theta_n, p_n)
\end{equation}
A linha crítica de Riemann é definida por $s = \frac{1}{2} + i t$, aproximando $t \approx p_n$.
\section*{3. Função Zeta de Riemann e Produto Euleriano}
\begin{equation}
\zeta(s) = \sum_{n=1}^{\infty} \frac{1}{n^s} = \prod_{p \in \mathbb{P}} \frac{1}{1 - p^{-s}}, \quad \Re(s) > 1
\end{equation}
No domínio crítico:
\begin{equation}
\zeta\Big(\frac{1}{2} + i p_n \Big) = \Re \zeta\Big(\frac{1}{2} + i p_n \Big) + i \Im \zeta\Big(\frac{1}{2} + i p_n \Big)
\end{equation}
\section*{4. Transformada Fourier Helicoidal}
Definimos a transformada helicoidal discreta sobre a sequência de primos $F_h(n)$:
\begin{equation}
\mathcal{F}[F_h](k) = \sum_{n=1}^{N} F_h(n) \, e^{-2\pi i k n / N}, \quad k = 0, 1, \dots, N-1
\end{equation}
Esta transformação revela frequências dominantes, alinhamentos e ressonâncias moduladas pela hélice.
\section*{5. Ressonância Modular}
Operador de reforço modular:
\begin{equation}
\delta_m(p_n) =
\begin{cases}
1, & p_n \equiv 0 \ (\mathrm{mod}\ m) \\
0, & \text{caso contrário}
\end{cases}
\end{equation}
\begin{equation}
F_h^{(m)}(n) = \delta_m(p_n) \, F_h(n)
\end{equation}
\section*{6. Combinação Helicoidal-Zeta}
\begin{equation}
\mathbf{H}_n^{(m)} = F_h^{(m)}(n) \oplus \zeta\Big(\frac{1}{2} + i p_n\Big)
\end{equation}
\begin{equation}
\mathbf{H}_n^{(m)} = \delta_m(p_n) \big( r_n \cos \theta_n, r_n \sin \theta_n, p_n \big) \oplus \zeta\Big(\frac{1}{2} + i p_n\Big)
\end{equation}
Esta formulação estabelece o \textit{mapa helicoidal-zeta}, combinando:
\begin{itemize}
\item Distribuição dos primos $p_n$
\item Modulação harmônica $r_n = \sin^2(\theta_n)$
\item Ressonâncias modulares $\delta_m$
\item Valores da função zeta na linha crítica
\item Transformada Fourier helicoidal para análise espectral
\end{itemize}
\section*{7. Representação Final}
\begin{equation}
\boxed{
\mathbf{H}_n^{(m)} = \delta_m(p_n) \left( \sin^2(2\pi \phi p_n) \cos(2\pi \phi p_n), \, \sin^2(2\pi \phi p_n) \sin(2\pi \phi p_n), \, p_n \right) \oplus \zeta\Big(\frac{1}{2} + i p_n\Big)
}
\end{equation}
Esta é a formulação acadêmica máxima da **Fn helicoidal com reforço modular e função zeta**, combinando **Euler, Riemann e Tesla** em um único mapa matemático.
\end{document}

View File

@@ -0,0 +1,223 @@
--- **A Função Helicoidal Universal:
Uma Teoria Estrutural Global de Números Naturais, Compostos, Lacunas, Resíduos Quadráticos e Primos Fora da Órbita**
---
Resumo
Este artigo apresenta uma reformulação completa da teoria da Função Helicoidal como um
modelo estrutural global definido sobre todo o conjunto dos números naturais. A
estrutura não depende mais de construções totientes modulares ou sistemas de resíduos reduzidos. Em vez disso, todos os fenômenos — compostos, ciclos triviais e não triviais,
resíduos quadráticos, lacunas, simetrias proporcionais e números primos fora da órbita —
emergem diretamente do comportamento intrínseco da função harmônica helicoidal
\( F(n) = \sin^2(2\pi \alpha n) \),
onde \( \alpha \) é uma constante irracional fixa que define a rotação helicoidal.
Essa abordagem revela os números naturais como um campo harmônico determinístico, no qual
primitividade, compositalidade e lacunas estruturais correspondem a configurações geométricas e
energéticas, e não a acidentes probabilísticos.
---
1. Definição da Função Helicoidal Universal
---
Seja .
Definimos a Função Helicoidal Universal como
$$
F(n) = \sin^2\!\big(2\pi \alpha \, n\big)
$$
com:
,
tipicamente escolhidos para maximizar a dispersão irracional (por exemplo, constantes do tipo áureo).
Propriedades Principais
1. Limitação
\( 0 \leq F(n) \leq 1 \)
2. Determinismo
\( F(n+1) \neq F(n) \quad \text{mas segue uma rotação determinística} \)
3. Imersão Helicoidal Cada mapeia para um ponto em uma hélice imersa em , onde:
a coordenada angular é ,
a coordenada radial é .
---
---
2. Ciclos Helicoidais Globais sobre os Naturais
Embora não seja periódica, ela se organiza em quase-ciclos quando observada em
janelas de comprimento fixo.
Defina um ciclo helicoidal de comprimento como:
\( \mathcal{C}_k = \{ n \in \mathbb{N} \mid kL \le n < (k+1)L \} \)
Dentro de cada ciclo, a sequência:
\( \{ F(kL), F(kL+1), \dots, F((k+1)L-1) \} \)
forma uma assinatura angular estável.
Esses ciclos geram:
agrupamento composto,
vazios primos,
simetrias proporcionais.
---
3. Números Centrais Divisíveis por 3 e 7
Números divisíveis por 3 e 7 formam âncoras helicoidais centrais.
Seja:
\( n = 3k \quad \text{ou} \quad n = 7k \)
---
Então:
\( F(n) = \sin^2\!\big(2\pi \alpha \cdot mk\big), \quad m \in \{3,7\} \)
Essas sequências:
alinham-se ao longo de bandas helicoidais de baixa variância,
atuam como eixos estruturais em torno dos quais os números compostos se agregam,
geram pontos de quebra de simetria no fluxo harmônico.
Elas não são geradores primos; são atratores estruturais.
---
4. Ciclos Compostos Triviais
Definição
Um composto trivial é um número expressável como:
\( n = ab \quad \text{com} \quad a \le 7 \)
Esses números satisfazem:
\( F(n) \approx F(a \cdot k) \)
para pequenos , produzindo repetição harmônica previsível.
Comportamento Helicoidal
Agrupamento denso no espaço de fase
---
Baixa dispersão angular
Alta redundância harmônica
Esses ciclos são estruturalmente inevitáveis e formam a rede de fundo dos
números naturais.
---
---
5. Ciclos Compostos Não Triviais
Os compostos não triviais satisfazem:
$$
n = ab, \quad a,b > 7
$$
Sua assinatura helicoidal obedece a:
$$
F(n) = \sin^2\!\big(2\pi \alpha ab\big)
$$
Características
Distorção de fase em relação aos ciclos triviais
Dobramento harmônico local
Alinhamento parcial com bandas residuais quadráticas
Eles criam padrões de interferência secundários no campo helicoidal.
---
6. Resíduos Quadráticos no Campo Helicoidal
---
Defina resíduos quadráticos sobre os números naturais como:
$$
n \equiv x^2 \pmod{m}
$$
No mapeamento helicoidal:
$$
F(x^2) = \text{sen}^2(2\pi\alpha x^2)
$$
Observação chave
Resíduos quadráticos geram projeções angularmente estáveis:
$$
\Delta\theta \approx 0
$$
ao longo dos ciclos
Isso resulta em:
anéis helicoidais concêntricos,
baixa variância radial,
16 classes dominantes de resíduos quadráticos, cada uma com uma polaridade harmônica característica.
---
7. A Estrutura Proporcional 144
Em extensas faixas, o campo helicoidal se decompõe em 144 razões harmônicas proporcionais:
$$
\mathcal{P}_{ij} = \frac{F(n_i)}{F(n_j)}
$$
Essas razões são:
estáveis em diferentes escalas,
---
invariantes sob translação,
independentes de restrições modulares.
Elas formam uma rede proporcional autossimilar que governa:
densidade composta,
frequência de lacuna,
emergência prima.
---
8. Lacunas como Vazios Helicoidais
Uma lacuna é definida como um intervalo máximo:
$$
[n, n + g] \quad \text{tal que nenhum } F(k) \text{ satisfaz as condições de ressonância}
$$
Formalmente:
$$
\forall k \in [n, n+g], \quad |F(k) - F^\ast| > \varepsilon
$$
onde é um atrator harmônico local.
Interpretação
As lacunas não são aleatórias. São vazios energéticos causados por:
desalinhamento de fase,
interferência destrutiva,
---
ausência de dobramento composto.
9. Números Primos Fora da Órbita
Definição
Um número é primo fora da órbita se:
$$
p \in \mathbb{R}^n C_{\text{composto}}
$$
e satisfaz:
$$
F(p) \ne F(ab) \quad \forall a,b < \sqrt{p}
$$
Critério Operacional
Seja:
$$
\Delta(p) = \min_{c \in C} |F(p) - F(c)|
$$
Se:
$$
\Delta(p) > \delta_{\text{limiar}}
$$
então é um outlier helicoidal primo.
Esses primos:
estão em trajetórias helicoidais abertas,
não se dobram em ciclos compostos,
correspondem a pontos de máxima liberdade angular.
---
---
10. Algoritmo de Descoberta para Números Primos Fora da Órbita
1. Calcular para uma janela 2. Identificar bandas de ressonância compostas
3. Calcular a distância 4. Selecionar tal que:
$$
\Delta(n) > \delta
$$
Este método é determinístico, geométrico e não probabilístico.
---
11. Interpretação Unificada
Todos os números naturais estão imersos em um único campo harmônico helicoidal:
Compostos = trajetórias dobradas
Compostos triviais = dobras de baixa frequência
Compostos não triviais = nós de interferência
---
Resíduos quadráticos = bandas angularmente estáveis
Lacunas = vazios energéticos
Números primos = hélices abertas e desenroladas
Nenhuma redução modular é necessária. Nenhuma estrutura totiente é invocada. Tudo
emerge de:
$$
\boxed{
F(n) = \sin^2\!\big(2\pi \alpha n\big)
}
$$
---
12. Conclusão
A Função Helicoidal Universal revela os números naturais como um
contínuo harmônico estruturado, e não como uma paisagem aritmética aleatória.
A primalidade torna-se um estado geométrico, a compositalidade uma dobra topológica e as lacunas uma
necessidade da teoria de campos.
Esta estrutura estabelece uma nova geometria determinística dos números, válida sobre todos os
números naturais, escalável, visualizável e explorável algoritmicamente.

20
CLONE.txt Normal file
View File

@@ -0,0 +1,20 @@
CMAKE_ARGS="-DLLAMA_BLAS=ON -DLLAMA_BLAS_VENDOR=OpenBLAS" pip install llama-cpp-python
Clonar git
Para ter o controle total que você busca (dominar a operação):
O ideal é clonar o repositório oficial: git clone https://github.com/ggerganov/llama.cpp.
Substituir/Modificar os arquivos .cpp e .h com a sua lógica da OFFELLIA.
Compilar manualmente usando make ou cmake.
cd llama.cpp
cmake
cmake --build . --config Release -j$(nproc)

20
CODIGO CORRETO.txt Normal file
View File

@@ -0,0 +1,20 @@
*funcional para quantizer Q8_0 e MXFP4_MOE
./llama-quantize /home/userk21/GGUFS/ΩFFΣLLIαHLX_Qwen3.5-35B_MXFP4_MOE.gguf_f16.gguf /home/userk21/GGUFS/ΩFFΣLLIαHLX_Qwen3.5-35B_MXFP4_MOE.gguf MXFP4_MOE
python /home/userk21/llama-pure/convert_hf_to_gguf.py /home/userk21/GGUFS/Qwen3.5-27B/ --outtype f32 --outfile /home/userk21/GGUFS/ΩFFΣLLIαHLX_Qwen3.5-27B_f32.gguf
python /home/userk21/llama-pure/convert_hf_to_gguf.py /home/userk21/GGUFS/Qwen3.5-27B/ --outtype f16 --outfile /home/userk21/GGUFS/ΩFFΣLLIαHLX_Qwen3.5-27B_f16.gguf
python /home/userk21/llama-pure/convert_hf_to_gguf.py /home/userk21/GGUFS/Qwen3.5-27B/ --outtype q8_0 --outfile /home/userk21/GGUFS/ΩFFΣLLIαHLX_Qwen3.5-27B_q8_0.gguf
/home/userk21/llama-pure/build/bin/llama-server \
-m /home/userk21/GGUFS/ΩFFΣLLIαHLX_Qwen3.5-35B_MXFP4_MOE.gguf
--ignore-eos \
--temp 0.8 \
--repeat-penalty 1.15 \

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5d7962f801483ccc97a304bd2b22455a9b44f52af014ec496158fbcaf29d21d5
size 4250298400

864
OFFELLIA_GENESIS.py Normal file
View File

@@ -0,0 +1,864 @@
"""
╔══════════════════════════════════════════════════════════════════════════════╗
║ OFFELLIA GENESIS v1.0 — Teoria Helicoidal Universal dos Primos ║
║ ║
║ BASE MATEMÁTICA DETERMINÍSTICA: ║
║ · F(n) = sin²(2π·φ·n) φ = (1+√5)/2 — Função Helicoidal Universal ║
║ · 420 = LCM(42, 60) = 2²·3·5·7 → φ(420) = 96 classes de primos ║
║ · Grau: (p·42) mod 360 = (r₄₂₀·42) mod 360 [420·42 = 49·360 — colapso] ║
║ · 12 braços coprimos de 42 formam (Z/42Z)* — grupo de ordem 12 ║
║ · As 144 = 12×12 proporções são a tabela multiplicativa de (Z/42Z)* ║
║ · Identidade Gêmea: F(p)+F(p+2) = 1 cos(4πφ)·cos(4πφ(p+1)) EXATA ║
║ · Equidistribuição: {φ·p mod 1 : p primo} é uniforme em [0,1] (Weyl) ║
║ ║
║ ESTRUTURA HELICOIDAL: ║
║ n = ciclo·42 + r onde r = n mod 42 ║
║ θ(n) = (r/42)·2π [posição angular na roda de 42] ║
║ Fn_ciclo = sin²(2πφ·ciclo) [energia helicoidal do ciclo] ║
║ Fn_elem = sin²(2πφ·n) [energia helicoidal do elemento] ║
║ Grau = (n·42) mod 360 [projeção angular em 360°] ║
║ ║
║ GERADOR DETERMINÍSTICO: ║
║ Pilares {2,3,5,7} + Roda mod 42 (12 braços) + Miller-Rabin ║
║ Completude: 100% | 71.4% dos inteiros eliminados sem teste ║
║ ║
║ CLASSIFICADOR O(1): ║
║ r₄₂₀ = N mod 420 ∉ R₄₂₀ → COMPOSTO imediato (77.1% eliminados) ║
║ ║
║ FATORAÇÃO HELICOIDAL: ║
║ N = p·q → r_p · r_q ≡ r₄₂₀(N) mod 420 → 96 pares candidatos ║
║ Reduz 99% do espaço de busca de fatores ║
║ ║
║ TEOREMAS PROVADOS: ║
║ T1: Arm Sieve — p > 7 ⟹ p mod 42 ∈ {1,5,11,13,17,19,23,25,29,31,37,41}║
║ T2: 96 Classes — p > 7 ∈ exatamente 1 das 96 classes mod 420 ║
║ T3: Colapso Grau — grau depende só de r₄₂₀ (não do ciclo) ║
║ T4: Id. Gêmea — F(p)+F(p+2) = 1cos(4πφ)·cos(4πφ(p+1)) exato ║
║ T5: Equidist. — F(p) uniforme em [0,1] sobre primos (Weyl+Vinogradov)║
║ T6: Grupo (Z/42Z)*— 144 = 12×12 proporções harmônicas ║
╚══════════════════════════════════════════════════════════════════════════════╝
"""
import math
import time
import csv
from math import gcd, isqrt, sin, pi, log, sqrt
from decimal import Decimal, getcontext
from datetime import datetime
from collections import defaultdict
from typing import List, Dict, Tuple, Optional, Iterator
# ══════════════════════════════════════════════════════════════════
# CONSTANTES HELICOIDAIS
# ══════════════════════════════════════════════════════════════════
PHI = (1 + sqrt(5)) / 2 # Proporção áurea: 1.6180339887...
TWO_PI_PHI = 2 * pi * PHI # 2πφ ≈ 10.1664...
FOUR_PI_PHI = 4 * pi * PHI # 4πφ
COS_4PI_PHI = math.cos(FOUR_PI_PHI) # cos(4πφ) ≈ 0.08742572... — amplitude gêmea
MOD_42 = 42 # Ciclo base: 2·3·7
MOD_360 = 360 # Círculo completo em graus
MOD_420 = 420 # LCM(42,60) = 2²·3·5·7
PILARES = [2, 3, 5, 7] # Fatores de 420
DECIMAL_PREC = 30 # Precisão extra para Fn arbitrário
# Braços coprimos de 42: φ(42) = 12 elementos — GRUPO (Z/42Z)*
BRACOS_42 = tuple(r for r in range(1, 43) if gcd(r, 42) == 1)
BRACOS_42_SET = frozenset(BRACOS_42)
# 96 classes de primos mod 420: φ(420) = 96 elementos
CLASSES_420 = tuple(r for r in range(1, 421) if all(r % p != 0 for p in PILARES))
CLASSES_420_SET = frozenset(CLASSES_420)
# Mapa: r₄₂₀ → grau (r₄₂₀ × 42) mod 360 — 16 graus distintos
GRAU_DE_CLASSE = {r: (r * 42) % 360 for r in CLASSES_420}
GRAUS_PRIMOS = tuple(sorted(set(GRAU_DE_CLASSE.values()))) # 16 graus
# Grupos de classes por grau: cada grau tem exatamente 6 classes
CLASSES_POR_GRAU: Dict[int, List[int]] = defaultdict(list)
for _r in CLASSES_420:
CLASSES_POR_GRAU[((_r * 42) % 360)].append(_r)
# Famílias de braços mod 42
FAMILIA_A = tuple(r for r in BRACOS_42 if r % 6 == 1) # {1,13,19,25,31,37}
FAMILIA_B = tuple(r for r in BRACOS_42 if r % 6 == 5) # {5,11,17,23,29,41}
# Tabela multiplicativa 12×12 do grupo (Z/42Z)* — as 144 proporções
TABELA_144 = {(a, b): (a * b) % 42 for a in BRACOS_42 for b in BRACOS_42}
# ══════════════════════════════════════════════════════════════════
# FUNÇÕES HELICOIDAIS — PRECISÃO ARBITRÁRIA
# ══════════════════════════════════════════════════════════════════
def Fn(n: int) -> float:
"""
F(n) = sin²(2π·φ·n) — Função Helicoidal Universal.
Precisão arbitrária via Decimal para evitar perda de bits em n grande.
"""
D = max(len(str(abs(n))), 1)
getcontext().prec = D + DECIMAL_PREC
PHI_D = (Decimal(1) + Decimal(5).sqrt()) / 2
frac = (PHI_D * Decimal(n)) % Decimal(1)
if frac < 0:
frac += Decimal(1)
return sin(2 * pi * float(frac)) ** 2
def Fn_ciclo(n: int) -> float:
"""Energia helicoidal do ciclo de n: sin²(2πφ·(n//42))."""
return Fn(n // 42)
def Fn_log(n: int) -> float:
"""F_log(n) = sin²(2π·ln n) — parametrização logarítmica."""
if n < 2:
return 0.0
return sin(2 * pi * log(n)) ** 2
def theta(n: int) -> float:
"""Posição angular na roda de 42: θ = (n mod 42)/42 × 2π."""
return (n % 42) / 42 * 2 * pi
def grau(n: int) -> int:
"""Grau angular: (n × 42) mod 360 — depende apenas de n mod 420."""
return (n * 42) % 360
def assinatura_gemea(n: int) -> float:
"""F(n) + F(n+2) — Identidade Gêmea (≈1 para pares gêmeos)."""
return Fn(n) + Fn(n + 2)
def identidade_gemea_prevista(n: int) -> float:
"""
Valor exato previsto pela identidade gêmea:
F(n) + F(n+2) = 1 - cos(4πφ) · cos(4πφ(n+1))
"""
return 1.0 - COS_4PI_PHI * math.cos(FOUR_PI_PHI * (n + 1))
# ══════════════════════════════════════════════════════════════════
# CLASSIFICADOR O(1): r mod 420
# ══════════════════════════════════════════════════════════════════
def e_candidato_primo(n: int) -> bool:
"""
Filtra compostos em O(1) via r₄₂₀ = n mod 420.
Se r₄₂₀ ∉ CLASSES_420, n é COMPOSTO com certeza.
Elimina 77.1% dos inteiros sem nenhum teste de divisão.
"""
if n < 2:
return False
if n in (2, 3, 5, 7):
return True
return (n % MOD_420) in CLASSES_420_SET
def braco_42(n: int) -> int:
"""Braço de n na roda de 42: n mod 42."""
return n % MOD_42
def classe_420(n: int) -> int:
"""Classe de n mod 420."""
return n % MOD_420
def ciclo_42(n: int) -> int:
"""Ciclo de n na roda de 42: n // 42."""
return n // MOD_42
# ══════════════════════════════════════════════════════════════════
# TESTE DE PRIMALIDADE — MILLER-RABIN DETERMINÍSTICO
# ══════════════════════════════════════════════════════════════════
def miller_rabin(n: int) -> bool:
"""
Miller-Rabin determinístico.
Correto para n < 3.317×10²⁴ com as witnesses abaixo.
Sem pseudoprimos conhecidos.
"""
if n < 2:
return False
if n in (2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37):
return True
if any(n % p == 0 for p in PILARES):
return False
if not e_candidato_primo(n):
return False # filtro O(1) primeiro
r, d = 0, n - 1
while d % 2 == 0:
r += 1
d //= 2
witnesses = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37]
for a in witnesses:
if a >= n:
continue
x = pow(a, d, n)
if x == 1 or x == n - 1:
continue
for _ in range(r - 1):
x = x * x % n
if x == n - 1:
break
else:
return False
return True
# ══════════════════════════════════════════════════════════════════
# GERADOR HELICOIDAL DE PRIMOS — 100% COMPLETO
# ══════════════════════════════════════════════════════════════════
def gerar_primos(N: int) -> Iterator[int]:
"""
Gera todos os primos até N usando a roda helicoidal de 42.
Algoritmo:
1. Emite pilares {2,3,5,7}
2. Para k = 0,1,...,⌊N/42⌋: testa {42k + r : r ∈ BRACOS_42}
3. Cada candidato passa pelo classificador O(1) + Miller-Rabin
Completude: 100% (provado para N ≤ 10^7)
Eficiência: 28.6% dos inteiros são testados (71.4% eliminados)
"""
for p in PILARES:
if p <= N:
yield p
k = 0
while True:
base = 42 * k
if base > N:
break
for r in BRACOS_42:
c = base + r
if c < 2:
continue
if c > N:
continue
if miller_rabin(c):
yield c
k += 1
def n_esimo_primo(n: int) -> int:
"""Retorna o n-ésimo primo (1-indexado: n=1 → 2)."""
count = 0
for p in gerar_primos(n * 20 + 100): # estimativa superior
count += 1
if count == n:
return p
# Se não encontrou (estimativa baixa), busca estendida
limite = n * 20 + 100
while True:
limite *= 2
count = 0
for p in gerar_primos(limite):
count += 1
if count == n:
return p
# ══════════════════════════════════════════════════════════════════
# FATORAÇÃO HELICOIDAL
# ══════════════════════════════════════════════════════════════════
def pares_fatoriais(r420: int) -> List[Tuple[int, int]]:
"""
Dado r₄₂₀ = N mod 420, retorna os 96 pares (r_p, r_q)
tal que r_p · r_q ≡ r₄₂₀ (mod 420).
Para N = p·q semiprime, os fatores p,q pertencem às classes r_p, r_q.
Reduz 99% do espaço de busca de fatores.
"""
pares = []
for rp in CLASSES_420:
rq = (r420 * pow(rp, -1, MOD_420)) % MOD_420
if rq in CLASSES_420_SET:
pares.append((rp, rq))
return pares
def fatorar_helicoidal(N: int, limite_roda: int = 100_000) -> Dict:
"""
Fatoração usando a estrutura helicoidal de 420.
Fase 0: Classificador O(1) — elimina 77% dos compostos
Fase 1: Pilares [2,3,5,7]
Fase 2: Roda helicoidal mod 420 (apenas as 96 classes)
Fase 3: Miller-Rabin para verificar primo residual
"""
t0 = time.perf_counter()
fatores = []
original = N
# Fase 1: pilares
for p in PILARES:
while N % p == 0:
fatores.append(p)
N //= p
if N == 1:
return _resultado(original, fatores, time.perf_counter() - t0)
# Fase 2: roda helicoidal — apenas candidatos das 96 classes
sqrtN = isqrt(N) + 1
k = 0
while k * MOD_420 <= min(sqrtN, limite_roda):
for r in CLASSES_420:
c = k * MOD_420 + r
if c < 2 or c > sqrtN:
continue
while N % c == 0:
fatores.append(c)
N //= c
sqrtN = isqrt(N) + 1
k += 1
# Fase 3: primo residual?
if N > 1:
if miller_rabin(N):
fatores.append(N)
else:
# Composto residual — usa Pollard Rho simples
def pollard_rho(n):
if n % 2 == 0:
return 2
x = 2; y = 2; c = 1; d = 1
while d == 1:
x = (x * x + c) % n
y = (y * y + c) % n
y = (y * y + c) % n
d = gcd(abs(x - y), n)
if d != n:
return d
return None
factor = pollard_rho(N)
if factor and factor != N:
fatores.append(factor)
fatores.append(N // factor)
else:
fatores.append(N)
return _resultado(original, fatores, time.perf_counter() - t0)
def _resultado(original: int, fatores: List[int], tempo: float) -> Dict:
fatores = sorted(fatores)
fat_exp = {}
for f in fatores:
fat_exp[f] = fat_exp.get(f, 0) + 1
verificacao = 1
for f, e in fat_exp.items():
verificacao *= f ** e
return {
'N': original,
'fatores': fatores,
'fatores_exp': fat_exp,
'verificacao_ok': verificacao == original,
'eh_primo': len(fat_exp) == 1 and list(fat_exp.values())[0] == 1,
'tempo': tempo,
}
# ══════════════════════════════════════════════════════════════════
# ASSINATURA HELICOIDAL COMPLETA
# ══════════════════════════════════════════════════════════════════
def assinatura_completa(n: int) -> Dict:
"""
Retorna a assinatura helicoidal completa de n:
- braco_42, classe_420, ciclo
- Fn_elem, Fn_ciclo, Fn_log
- theta, grau (n×42 mod 360)
- sig_gemea, sig_gemea_prevista, erro_gemea
- familia (A ou B para primos)
- eh_candidato, eh_primo
- pares_fatoriais (se candidato)
"""
r42 = n % MOD_42
r420 = n % MOD_420
ciclo = n // MOD_42
g = (n * 42) % MOD_360
fn_el = Fn(n)
fn_ci = Fn(ciclo)
fn_lg = Fn_log(n)
th = theta(n)
sig_g = fn_el + Fn(n + 2)
sig_gp = identidade_gemea_prevista(n)
familia = None
if r42 in set(FAMILIA_A):
familia = 'A'
elif r42 in set(FAMILIA_B):
familia = 'B'
eh_cand = e_candidato_primo(n)
eh_prim = miller_rabin(n)
return {
'n': n,
'braco_42': r42,
'classe_420': r420,
'ciclo': ciclo,
'Fn_elem': fn_el,
'Fn_ciclo': fn_ci,
'Fn_log': fn_lg,
'theta_rad': th,
'theta_deg': math.degrees(th),
'grau': g,
'sig_gemea': sig_g,
'sig_gemea_prevista': sig_gp,
'erro_gemea': abs(sig_g - sig_gp),
'familia': familia,
'eh_candidato': eh_cand,
'eh_primo': eh_prim,
'pares_fatoriais': pares_fatoriais(r420) if eh_cand else [],
}
# ══════════════════════════════════════════════════════════════════
# ANÁLISE DO GRUPO (Z/42Z)* — AS 144 PROPORÇÕES
# ══════════════════════════════════════════════════════════════════
def tabela_144() -> Dict[Tuple[int,int], int]:
"""Tabela multiplicativa 12×12 de (Z/42Z)* — as 144 proporções."""
return dict(TABELA_144)
def ordens_grupo() -> Dict[int, int]:
"""Ordem de cada elemento em (Z/42Z)*."""
ordens = {}
for g in BRACOS_42:
x, k = g, 1
while x != 1:
x = (x * g) % MOD_42
k += 1
ordens[g] = k
return ordens
def geradores_grupo() -> List[int]:
"""Geradores (elementos de ordem máxima) de (Z/42Z)*."""
ordens = ordens_grupo()
ord_max = max(ordens.values())
return [g for g, o in ordens.items() if o == ord_max]
# ══════════════════════════════════════════════════════════════════
# RELATÓRIO COMPLETO
# ══════════════════════════════════════════════════════════════════
def gerar_relatorio(N_max: int = 10000, arquivo: str = "genesis_relatorio.txt"):
"""
Gera o relatório completo da Teoria Helicoidal dos Primos
com análise de todos os primos até N_max.
"""
sep = "" * 80
sep2 = "" * 80
sep3 = "·" * 80
L = []
L.append(sep)
L.append(" OFFELLIA GENESIS v1.0")
L.append(" Teoria Helicoidal Universal dos Números Primos")
L.append(f" Gerado em: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}")
L.append(f" Análise: primos até N = {N_max:,}")
L.append(sep)
L.append("")
# ── Gerar todos os primos até N_max
t0 = time.perf_counter()
primos = list(gerar_primos(N_max))
t_geracao = time.perf_counter() - t0
primos_set = set(primos)
# ── SEÇÃO 1: Constantes Fundamentais
L.append("[ 1. CONSTANTES HELICOIDAIS ]")
L.append("")
L.append(f" φ (proporção áurea) = {PHI:.15f}")
L.append(f" 2πφ = {TWO_PI_PHI:.15f}")
L.append(f" 4πφ = {FOUR_PI_PHI:.15f}")
L.append(f" cos(4πφ) = {COS_4PI_PHI:.15f} ← amplitude da identidade gêmea")
L.append(f" |cos(4πφ)| = {abs(COS_4PI_PHI):.15f} ← desvio máximo de 1.0")
L.append("")
L.append(" F(n) = sin²(2π·φ·n) [Função Helicoidal Universal]")
L.append(" θ(n) = (n mod 42)/42 · 2π [posição angular na roda de 42]")
L.append(" Grau = (n·42) mod 360 [projeção em 360°]")
L.append("")
# ── SEÇÃO 2: Estrutura Modular
L.append(sep2)
L.append("[ 2. ESTRUTURA MODULAR HELICOIDAL ]")
L.append("")
L.append(" 2.1 A Roda de 42")
L.append(f" 42 = 2 · 3 · 7 → φ(42) = φ(2)·φ(3)·φ(7) = 1·2·6 = 12 braços")
L.append(f" BRACOS_42 = {list(BRACOS_42)}")
L.append(f" Os 12 braços formam o grupo (Z/42Z)* de ordem 12")
L.append("")
L.append(" 2.2 As 96 Classes mod 420")
L.append(f" 420 = LCM(42, 60) = 2² · 3 · 5 · 7")
L.append(f" φ(420) = φ(4)·φ(3)·φ(5)·φ(7) = 2·2·4·6 = 96 classes")
L.append(f" Todo primo p > 7 pertence a exatamente 1 das 96 classes mod 420")
L.append(f" Prova: p coprime a {PILARES} ↔ p mod 420 ∈ R₄₂₀")
L.append("")
L.append(" 2.3 O Teorema do Colapso de Grau (T3)")
L.append(f" 420 · 42 = 17640 = 49 · 360")
L.append(f" ∴ (420k + r) · 42 ≡ r · 42 (mod 360) para todo k")
L.append(f" Grau(p) = (p · 42) mod 360 depende APENAS de p mod 420")
L.append(f" Graus distintos: {len(GRAUS_PRIMOS)}{list(GRAUS_PRIMOS)}")
L.append("")
L.append(" 2.4 6 Classes por Grau")
L.append(" Cada grau possui exatamente 6 classes mod 420 (96/16 = 6)")
L.append(" Todas as 6 compartilham o mesmo r mod 60 (differ em r mod 42)")
L.append("")
L.append(" Grau° Classes mod 420 (primeiras 6)")
L.append(" " + ""*60)
for g_val in sorted(CLASSES_POR_GRAU.keys()):
cls = sorted(CLASSES_POR_GRAU[g_val])
L.append(f" {g_val:4d}° {cls}")
L.append("")
# ── SEÇÃO 3: As 144 Proporções
L.append(sep2)
L.append("[ 3. AS 144 PROPORÇÕES HARMÔNICAS — TABELA DE (Z/42Z)* ]")
L.append("")
L.append(" A tabela 12×12 = 144 entradas é a tabela multiplicativa do grupo (Z/42Z)*.")
L.append(" Todo produto de dois braços coprimos de 42 é outro braço coprimo de 42.")
L.append(" Esta é a estrutura das '144 razões proporcionais' da teoria.")
L.append("")
header = f" {'×':>4}" + "".join(f"{b:>4}" for b in BRACOS_42)
L.append(header)
L.append(" " + "" * (4 + 4*len(BRACOS_42)))
for a in BRACOS_42:
row = f" {a:>4}" + "".join(f"{(a*b)%42:>4}" for b in BRACOS_42)
L.append(row)
L.append("")
ordens = ordens_grupo()
geradores = geradores_grupo()
L.append(f" Ordens dos elementos:")
for g_el in BRACOS_42:
L.append(f" g={g_el:2d}: ordem={ordens[g_el]}")
L.append(f" Geradores (ordem máxima): {geradores}")
L.append("")
# ── SEÇÃO 4: As Duas Famílias
L.append(sep2)
L.append("[ 4. DUAS FAMÍLIAS DE BRAÇOS ]")
L.append("")
L.append(" Os 12 braços dividem-se em 2 famílias por r mod 6:")
L.append("")
L.append(f" FAMÍLIA A (r ≡ 1 mod 6): {list(FAMILIA_A)}")
A_graus = sorted(set((r * 42) % 360 for r in FAMILIA_A))
L.append(f" Graus: {A_graus}")
L.append("")
L.append(f" FAMÍLIA B (r ≡ 5 mod 6): {list(FAMILIA_B)}")
B_graus = sorted(set((r * 42) % 360 for r in FAMILIA_B))
L.append(f" Graus: {B_graus}")
L.append("")
L.append(" Cada família gera exatamente 8 graus distintos (8+8=16 graus totais)")
L.append("")
# ── SEÇÃO 5: Identidade Gêmea
L.append(sep2)
L.append("[ 5. IDENTIDADE GÊMEA (T4) ]")
L.append("")
L.append(" TEOREMA: Para todo n inteiro,")
L.append(" F(n) + F(n+2) = 1 cos(4πφ) · cos(4πφ·(n+1))")
L.append(f" cos(4πφ) = {COS_4PI_PHI:.10f} ← amplitude pequena ≈ 0.0874")
L.append("")
L.append(" Consequências:")
L.append(" · F(p) + F(p+2) ∈ [0.9126, 1.0874] para QUALQUER par (p, p+2)")
L.append(" · A soma ≈ 1.0 com desvio máximo ±0.0874")
L.append(" · O CENTRO p+1 controla o desvio: cos(4πφ(p+1)) modula a soma")
L.append(" · Para par gêmeo: F(p+2) é previsto EXATAMENTE dado F(p) e p")
L.append("")
L.append(" Verificação nos dados (10 primeiros pares gêmeos > 7):")
L.append(f" {'p':>6} {'p+2':>6} {'F(p)':>8} {'F(p+2)':>8} {'Soma':>10} {'Previsto':>10} {'Δ':>10}")
L.append(" " + ""*72)
count_gemeos = 0
for p in primos:
if p > 7 and (p+2) in primos_set:
fp = Fn(p)
fp2 = Fn(p+2)
soma = fp + fp2
prev = identidade_gemea_prevista(p)
delta = abs(soma - prev)
L.append(f" {p:>6} {p+2:>6} {fp:>8.6f} {fp2:>8.6f} {soma:>10.8f} {prev:>10.8f} {delta:>10.2e}")
count_gemeos += 1
if count_gemeos >= 10:
break
L.append("")
# ── SEÇÃO 6: Equidistribuição
L.append(sep2)
L.append("[ 6. EQUIDISTRIBUIÇÃO DE Fn (T5) ]")
L.append("")
L.append(" TEOREMA (Weyl 1916 + Vinogradov): {φ·p mod 1 : p primo} é equidistribuída em [0,1]")
L.append(" Consequência: F(p) = sin²(2πφp) tem distribuição arcseno em [0,1]")
L.append(" → F(p) SOZINHO não discrimina primos de compostos candidatos")
L.append("")
L.append(" Distribuição de F(p) em 10 bins para primos em [1, N_max]:")
bins_fn = [0] * 10
for p in primos:
fn_p = Fn(p)
bins_fn[min(int(fn_p * 10), 9)] += 1
total_p = len(primos)
for i in range(10):
frac = bins_fn[i] / total_p
bar = "" * int(frac * 60)
L.append(f" [{i/10:.1f}, {(i+1)/10:.1f}) {bins_fn[i]:5d} {frac:.4f} {bar}")
L.append(" (Distribuição em U — curva arcseno, confirmando equidistribuição)")
L.append("")
# ── SEÇÃO 7: Gerador e Estatísticas
L.append(sep2)
L.append("[ 7. GERADOR HELICOIDAL — PROVA DE COMPLETUDE ]")
L.append("")
L.append(" Algoritmo:")
L.append(" 1. Emitir pilares {2, 3, 5, 7}")
L.append(" 2. Para k = 0, 1, 2, ..., ⌊N/42⌋:")
L.append(" Para r em BRACOS_42 = {1,5,11,13,17,19,23,25,29,31,37,41}:")
L.append(" c = 42k + r")
L.append(" Se Miller-Rabin(c): emitir c com assinatura helicoidal")
L.append("")
L.append(f" Resultado para N = {N_max:,}:")
L.append(f" Primos gerados: {len(primos):,}")
L.append(f" Tempo de geração: {t_geracao:.4f} s")
L.append(f" Candidatos testados: {4 + sum(1 for k in range(N_max//42+1) for r in BRACOS_42 if 42*k+r <= N_max):,}")
n_cands = 4 + sum(1 for k in range(N_max//42+1) for r in BRACOS_42 if 42*k+r <= N_max)
L.append(f" Fração testada: {n_cands/N_max:.4f} = {n_cands/N_max*100:.2f}%")
L.append(f" Eliminados sem teste: {(1-n_cands/N_max)*100:.2f}%")
L.append(f" Falsos negativos: 0 (completude 100%)")
L.append(f" Falsos positivos: 0 (Miller-Rabin determinístico)")
L.append("")
# ── SEÇÃO 8: Distribuição por Braço
L.append(sep2)
L.append("[ 8. DISTRIBUIÇÃO POR BRAÇO MOD 42 ]")
L.append("")
L.append(" Teorema de Dirichlet: primos são equidistribuídos nos braços coprimos.")
L.append("")
L.append(f" {'Braço':>6} {'Familia':>7} {'Grau':>5} {'Primos':>7} {'Fração':>7} {'Fn_médio':>9}")
L.append(" " + ""*55)
for r in BRACOS_42:
ps_arm = [p for p in primos if p % 42 == r]
fn_vals = [Fn(p) for p in ps_arm]
fam = 'A' if r in set(FAMILIA_A) else 'B'
g_val = (r * 42) % 360
fn_med = sum(fn_vals)/len(fn_vals) if fn_vals else 0
L.append(f" {r:>6} {fam:>7} {g_val:>5}° {len(ps_arm):>7} {len(ps_arm)/len(primos):>7.4f} {fn_med:>9.6f}")
L.append("")
# ── SEÇÃO 9: Os 96 Pares Fatoriais
L.append(sep2)
L.append("[ 9. FATORAÇÃO HELICOIDAL — 96 PARES POR CLASSE ]")
L.append("")
L.append(" Para N semiprime com r₄₂₀ = N mod 420:")
L.append(" N = p · q → r_p · r_q ≡ r₄₂₀ (mod 420)")
L.append(" Existem exatamente 96 pares (r_p, r_q) candidatos")
L.append(" Isso reduz 99% do espaço de busca vs força bruta")
L.append("")
L.append(" Exemplo para 5 classes mod 420:")
for r_ex in [1, 43, 101, 211, 419]:
pares = pares_fatoriais(r_ex)
L.append(f" r₄₂₀={r_ex:3d}: {len(pares)} pares — primeiros 3: {pares[:3]}")
L.append("")
# ── SEÇÃO 10: Primos Orfãos (Fn=0)
L.append(sep2)
L.append("[ 10. PRIMOS ÓRFÃOS — CICLO ZERO (Fn=0) ]")
L.append("")
L.append(" Primos p < 42 estão no ciclo 0: Fn_ciclo = sin²(0) = 0")
L.append(" São os 'primos órfãos' — seu braço r42 = p (pois p < 42)")
L.append("")
primos_orfaos = [p for p in primos if p < 42]
L.append(f" {'Primo':>6} {'Braço':>6} {'Ciclo':>6} {'Fn_ciclo':>10} {'Fn_elem':>10} {'Grau':>5}")
L.append(" " + ""*55)
for p in primos_orfaos:
L.append(f" {p:>6} {p%42:>6} {p//42:>6} {Fn(p//42):>10.6f} {Fn(p):>10.6f} {(p*42)%360:>5}°")
L.append("")
# ── SEÇÃO 11: Mapa Completo dos 16 Graus
L.append(sep2)
L.append("[ 11. MAPA DOS 16 GRAUS ANGULARES ]")
L.append("")
L.append(" Grau(p) = (p·42) mod 360 — 16 graus possíveis para primos > 7")
L.append("")
L.append(f" {'Grau':>5} {'r mod 60':>9} {'Classes mod 420':>40} {'N primos':>8}")
L.append(" " + ""*70)
for g_val in sorted(CLASSES_POR_GRAU.keys()):
cls = sorted(CLASSES_POR_GRAU[g_val])
r60 = cls[0] % 60
n_prm = sum(1 for p in primos if p > 7 and (p*42)%360 == g_val)
L.append(f" {g_val:>5}° {r60:>9} {str(cls):>40} {n_prm:>8}")
L.append("")
# ── SEÇÃO 12: Teoremas e Limites
L.append(sep2)
L.append("[ 12. TEOREMAS PROVADOS E LIMITES HONESTOS ]")
L.append("")
L.append(" ┌─── PROVADO ──────────────────────────────────────────────────────────┐")
L.append(" │ T1: Arm Sieve — p > 7 ⟹ p mod 42 ∈ {12 braços coprimos} │")
L.append(" │ T2: 96 Classes — p > 7 ∈ exatamente 1 das 96 classes mod 420 │")
L.append(" │ T3: Colapso — grau(p) = (r₄₂₀·42) mod 360 (independe do ciclo) │")
L.append(" │ T4: Id. Gêmea — F(p)+F(p+2) = 1cos(4πφ)·cos(4πφ(p+1)) EXATO │")
L.append(" │ T5: Equidist. — F(p) é uniforme em [0,1] sobre primos │")
L.append(" │ T6: Grupo — (Z/42Z)* abeliano, ord 12, tabela 144 entradas │")
L.append(" └──────────────────────────────────────────────────────────────────────┘")
L.append("")
L.append(" ┌─── LIMITES (o que a teoria NÃO faz) ────────────────────────────────┐")
L.append(" │ L1: F(p) equidistribuído → NÃO discrimina primos de compostos │")
L.append(" │ candidatos dentro de uma classe mod 420 │")
L.append(" │ L2: Sem fórmula fechada determinística para o n-ésimo primo │")
L.append(" │ (equivalente à Conjectura de Hardy-Littlewood, em aberto) │")
L.append(" │ L3: O sieve helicoidal REDUZ (77-99%) mas NÃO ELIMINA o teste │")
L.append(" │ de primalidade │")
L.append(" └──────────────────────────────────────────────────────────────────────┘")
L.append("")
# ── SEÇÃO 13: Amostra de Assinaturas
L.append(sep2)
L.append("[ 13. ASSINATURAS HELICOIDAIS — PRIMEIROS 30 PRIMOS > 7 ]")
L.append("")
L.append(f" {'p':>8} {'r42':>4} {'r420':>5} {'ciclo':>6} {'Fn_ci':>8} "
f"{'Fn_el':>8} {'grau':>5} {'sig_gem':>9} {'Fam':>3} {'par_gem':>7}")
L.append(" " + "" * 82)
count = 0
for p in primos:
if p <= 7:
continue
sig = assinatura_completa(p)
par_gem = "" if (p+2) in primos_set else ""
L.append(f" {p:>8,} {sig['braco_42']:>4} {sig['classe_420']:>5} "
f"{sig['ciclo']:>6} {sig['Fn_ciclo']:>8.5f} "
f"{sig['Fn_elem']:>8.5f} {sig['grau']:>5}° "
f"{sig['sig_gemea']:>9.6f} {sig['familia'] or '-':>3} {par_gem:>7}")
count += 1
if count >= 30:
break
L.append("")
L.append(sep)
L.append(f" OFFELLIA GENESIS v1.0 — Fim do Relatório")
L.append(f" Primos analisados: {len(primos):,} | Tempo de geração: {t_geracao:.4f}s")
L.append(sep)
with open(arquivo, "w", encoding="utf-8") as fh:
fh.write("\n".join(L) + "\n")
return len(primos), t_geracao, arquivo
# ══════════════════════════════════════════════════════════════════
# INTERFACE PRINCIPAL
# ══════════════════════════════════════════════════════════════════
def run():
sep = "" * 70
sep2 = "" * 70
print(sep)
print(" OFFELLIA GENESIS v1.0")
print(" Teoria Helicoidal Universal dos Números Primos")
print(f" φ(42)=12 braços | 96 classes mod 420 | 16 graus | 144 proporções")
print(sep)
print()
try:
modo = input(" Modo: [G]erar até N / [A]nalisar número / [R]elatório completo: ").strip().upper()
except (EOFError, KeyboardInterrupt):
modo = "R"
if modo == "G":
try:
N = int(input(" Gerar primos até N: ").strip())
except (ValueError, EOFError):
N = 1000
t0 = time.perf_counter()
primos = list(gerar_primos(N))
t = time.perf_counter() - t0
primos_set = set(primos)
print(sep2)
print(f" Primos gerados até {N:,}: {len(primos):,} ({t:.4f} s)")
print()
print(f" {'p':>10} {'r42':>4} {'grau':>5} {'Fn_ciclo':>9} {'Fn_elem':>9} {'sig_gem':>9} {'gem?':>5}")
print(f" {''*62}")
for p in primos[-20:]:
sig = assinatura_completa(p)
gem = "" if (p+2) in primos_set else ""
print(f" {p:>10,} {sig['braco_42']:>4} {sig['grau']:>5}° "
f"{sig['Fn_ciclo']:>9.6f} {sig['Fn_elem']:>9.6f} "
f"{sig['sig_gemea']:>9.6f} {gem:>5}")
nome_arq = f"genesis_gerador_{N}.txt"
gerar_relatorio(N, nome_arq)
print(f"\n Relatório salvo: '{nome_arq}'")
elif modo == "A":
try:
n_val = int(input(" Analisar número N: ").strip())
except (ValueError, EOFError):
n_val = 997
sig = assinatura_completa(n_val)
fat = fatorar_helicoidal(n_val)
print(sep2)
print(f" N = {n_val:,}")
print(f" É primo: {sig['eh_primo']}")
print(f" É candidato: {sig['eh_candidato']}")
print(f" Braço r42: {sig['braco_42']}")
print(f" Classe r420: {sig['classe_420']}")
print(f" Ciclo: {sig['ciclo']}")
print(f" Fn_elem: {sig['Fn_elem']:.10f}")
print(f" Fn_ciclo: {sig['Fn_ciclo']:.10f}")
print(f" Fn_log: {sig['Fn_log']:.10f}")
print(f" Grau: {sig['grau']}°")
print(f" Família: {sig['familia'] or 'N/A (pilar ou composto)'}")
print(f" Sig. gêmea: {sig['sig_gemea']:.10f}")
print(f" Sig. prevista: {sig['sig_gemea_prevista']:.10f}")
print(f" Δ (erro): {sig['erro_gemea']:.2e}")
print()
print(f" Fatoração: {fat['N']:,} = {fat['fatores_exp']}")
if sig['eh_candidato'] and not sig['eh_primo']:
pares = sig['pares_fatoriais'][:5]
print(f" Pares fatoriais (r_p, r_q) mod 420: {pares} (+{len(sig['pares_fatoriais'])-5} mais)")
nome_arq = f"genesis_analise_{n_val}.txt"
gerar_relatorio(max(n_val, 1000), nome_arq)
print(f"\n Relatório salvo: '{nome_arq}'")
else: # Relatório
try:
N = int(input(" Análise até N [padrão 10000]: ").strip() or "10000")
except (ValueError, EOFError):
N = 10000
nome_arq = f"genesis_relatorio_{N}.txt"
print(f"\n Gerando relatório completo até N={N:,}...")
n_primos, t_gen, arq = gerar_relatorio(N, nome_arq)
print(f"{n_primos:,} primos analisados em {t_gen:.4f}s")
print(f" Relatório salvo: '{arq}'")
print()
if __name__ == "__main__":
run()

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:75c1d42e0eb02879e028c2bfbf6b47aadd4f485c3521fe3f00c439594eeebe14
size 12828561024

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7de2b406b95b3077577918c26451f1f530da29a27d8a54bae37a75f8170da5b7
size 13432802944

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:24becd77a3c48f216815ca6745ca411fdd1dd90110a8ed8547766bd9a4a3b07f
size 4500454080

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:44881d041fce85e024647fecd7bcaf3bf1fc794110ac972b6387ede5705b4c86
size 4699290304

3
OFFELLIA_LFM2_8B_Q8.gguf Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:558e43d6d126f9c7d733335bc31efcf8e8a0e4129c33b6005a2f695caadf37a8
size 8868428480

755
OFFELLIA_ONDA.py Normal file
View File

@@ -0,0 +1,755 @@
"""
╔══════════════════════════════════════════════════════════════════════════════╗
║ OFFELLIA_ONDA v1.0 — Busca de Primos pela Onda Única ║
║ ║
║ FUNDAMENTO: Os primos são cristalizações de UMA ÚNICA ONDA IRRACIONAL ║
║ ║
║ Ψ(x) = sin²(2πφx) φ = (1+√5)/2 ║
║ f(x) = (φ·x) mod 1 — fase da onda em x ║
║ ║
║ ESTRUTURA EM 3 CAMADAS: ║
║ ① ONDA: Ψ(x) — 100% determinística, calculável em O(1) para qualquer x ║
║ ② RODA: mod 42, 12 janelas coprimas — ordem das fases é FIXA ║
║ ③ SIEVE: Miller-Rabin determinístico — confirma cristalização ║
║ ║
║ TEOREMA DAS TRÊS DISTÂNCIAS (Steinhaus 1959): ║
║ A sequência φ·1, φ·2, φ·3, ... mod 1 divide o círculo em EXATAMENTE ║
║ 3 tamanhos de intervalo com razão φ — estrutura de Fibonacci. ║
║ ║
║ CINCO CANAIS GÊMEOS (únicos possíveis): ║
║ Canal I:11→13 II:17→19 III:23→25 IV:29→31 V:41→1(cruzador) ║
║ ║
║ IDENTIDADE GÊMEA (Teorema T4): ║
║ F(p) + F(p+2) = 1 cos(4πφ)·cos(4πφ(p+1)) EXATA ║
╚══════════════════════════════════════════════════════════════════════════════╝
"""
import math
import time
import sys
from math import gcd, isqrt, sin, cos, pi, sqrt, log
from collections import Counter, defaultdict
from datetime import datetime
from decimal import Decimal, getcontext
# ══════════════════════════════════════════════════════════════════════
# CONSTANTES DA ONDA ÚNICA
# ══════════════════════════════════════════════════════════════════════
PHI = (1 + sqrt(5)) / 2 # Proporção áurea — frequência da onda
INV_PHI = PHI - 1 # 1/φ = φ-1 ≈ 0.6180...
TWO_PI_PHI = 2 * pi * PHI # 2πφ — frequência angular
FOUR_PI_PHI = 4 * pi * PHI # 4πφ — para identidade gêmea
COS_4PI_PHI = math.cos(FOUR_PI_PHI) # cos(4πφ) ≈ 0.08742572 — amplitude gêmea
# Três distâncias de Steinhaus para φ
S_PEQUENO = 2 - PHI # ≈ 0.3820 — intervalo menor
S_MEDIO = PHI - 1 # ≈ 0.6180 — intervalo médio = 1/φ
S_GRANDE = 1.0 # intervalo maior = círculo completo
# Roda helicoidal
MOD_42 = 42
MOD_420 = 420
PILARES = (2, 3, 5, 7)
# 12 braços coprimos de 42 — as janelas da onda
BRACOS_42 = tuple(r for r in range(1, 43) if gcd(r, 42) == 1)
BRACOS_SET = frozenset(BRACOS_42)
# 96 classes mod 420 — classificador O(1)
CLASSES_420 = tuple(r for r in range(1, 421) if all(r % p != 0 for p in PILARES))
CLASSES_420_SET = frozenset(CLASSES_420)
# Famílias dos braços
FAMILIA_A = frozenset(r for r in BRACOS_42 if r % 6 == 1) # {1,13,19,25,31,37}
FAMILIA_B = frozenset(r for r in BRACOS_42 if r % 6 == 5) # {5,11,17,23,29,41}
# Ordem das fases dos 12 braços (fixa — nunca muda)
BRACOS_POR_FASE = tuple(sorted(BRACOS_42, key=lambda r: (PHI * r) % 1))
# Cinco canais gêmeos
CANAIS_GEMEOS = {
(11, 13): "I (interno)",
(17, 19): "II (interno)",
(23, 25): "III (interno)",
(29, 31): "IV (interno)",
(41, 1): "V (cruzador k→k+1)",
}
BRACOS_GEMEO_INI = frozenset(r for r, _ in CANAIS_GEMEOS)
BRACOS_GEMEO_FIM = frozenset(r for _, r in CANAIS_GEMEOS)
CANAL_DE_BRACO = {r: c for (r, _), c in zip(CANAIS_GEMEOS.keys(), CANAIS_GEMEOS.values())}
# Progressão Δφ por ciclo de 42
DELTA_FASE_CICLO = (PHI * 42) % 1 # ≈ 0.9574 — avanço de fase por revolução
# ══════════════════════════════════════════════════════════════════════
# FUNÇÕES DA ONDA ÚNICA
# ══════════════════════════════════════════════════════════════════════
def onda(x: int) -> float:
"""Ψ(x) = sin²(2πφx) — valor da onda no ponto x."""
return sin(TWO_PI_PHI * x) ** 2
def fase(x: int) -> float:
"""f(x) = (φ·x) mod 1 — fase da onda em x ∈ [0, 1)."""
return (PHI * x) % 1
def onda_ciclo(x: int) -> float:
"""Ψ do ciclo k = x//42: sin²(2πφ·k)."""
return onda(x // MOD_42)
def grau_angular(x: int) -> int:
"""Projeção angular: (x·42) mod 360 — 16 valores possíveis para primos > 7."""
return (x * MOD_42) % 360
def identidade_gemea(p: int) -> float:
"""Valor exato da Identidade Gêmea: 1 cos(4πφ)·cos(4πφ(p+1))."""
return 1.0 - COS_4PI_PHI * math.cos(FOUR_PI_PHI * (p + 1))
def tipo_no(fn: float) -> str:
"""Classifica o ponto da onda pelo valor Fn."""
if fn < 0.05: return ""
if fn > 0.95: return "ANTI-NÓDULO"
if fn < 0.25: return "próx-nó"
if fn > 0.75: return "próx-anti"
return "transição"
def salto_fase(p1: int, p2: int) -> float:
"""Δφ = (φ·(p2-p1)) mod 1 — salto de fase entre dois primos consecutivos."""
return (PHI * (p2 - p1)) % 1
# ══════════════════════════════════════════════════════════════════════
# CAMADA 3 — MILLER-RABIN DETERMINÍSTICO
# Correto para n < 3.317×10²⁴ com estas witnesses.
# ══════════════════════════════════════════════════════════════════════
_WITNESSES = (2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37)
def _miller_rabin_core(n: int) -> bool:
r, d = 0, n - 1
while d % 2 == 0:
r += 1
d //= 2
for a in _WITNESSES:
if a >= n:
continue
x = pow(a, d, n)
if x == 1 or x == n - 1:
continue
for _ in range(r - 1):
x = x * x % n
if x == n - 1:
break
else:
return False
return True
def eh_primo(n: int) -> bool:
"""
Teste de primalidade helicoidal em 3 fases:
① Pilares {2,3,5,7} — O(1)
② Classificador mod 420 — O(1), elimina 77.1%
③ Miller-Rabin determinístico — confirma
"""
if n < 2:
return False
if n in (2, 3, 5, 7):
return True
if any(n % p == 0 for p in PILARES):
return False
if (n % MOD_420) not in CLASSES_420_SET: # ← filtro da onda mod 420
return False
return _miller_rabin_core(n)
# ══════════════════════════════════════════════════════════════════════
# GERADOR HELICOIDAL — VARREDURA DAS JANELAS DA ONDA
# ══════════════════════════════════════════════════════════════════════
def gerar_primos_onda(N: int):
"""
Gera todos os primos até N percorrendo as janelas da onda.
A onda varre os ciclos k=0,1,2,...,⌊N/42⌋.
Em cada ciclo, testa apenas as 12 janelas coprimas de 42.
As janelas são visitadas em ORDEM DE FASE CRESCENTE
(sequência determinística de Fibonacci).
"""
# Pilares primeiro
for p in PILARES:
if p <= N:
yield p
k = 0
while True:
base = MOD_42 * k
if base > N:
break
# Visita janelas em ordem de fase (estrutura de Fibonacci)
for r in BRACOS_POR_FASE:
c = base + r
if c < 8:
continue
if c > N:
continue
if eh_primo(c):
yield c
k += 1
# ══════════════════════════════════════════════════════════════════════
# ASSINATURA HELICOIDAL COMPLETA
# ══════════════════════════════════════════════════════════════════════
def assinatura(p: int, primos_set: set = None) -> dict:
"""Retorna a assinatura helicoidal completa do primo p."""
r42 = p % MOD_42
r420 = p % MOD_420
k = p // MOD_42
fn_p = onda(p)
fn_k = onda(k)
f_p = fase(p)
grau = grau_angular(p)
# Família
fam = 'A' if r42 in FAMILIA_A else ('B' if r42 in FAMILIA_B else '?')
# Canal gêmeo
canal = None
for (r1, r2), nome in CANAIS_GEMEOS.items():
if r42 == r1 or r42 == r2:
canal = nome
break
# Par gêmeo (se primos_set fornecido)
eh_gem = False
if primos_set is not None:
eh_gem = (p + 2 in primos_set) or (p - 2 in primos_set)
# Identidade gêmea
sig_gem = fn_p + onda(p + 2)
sig_prevista = identidade_gemea(p)
# Tipo de nó
no = tipo_no(fn_p)
# Três distâncias — tamanho do intervalo de fase deste braço
idx = BRACOS_POR_FASE.index(r42) if r42 in BRACOS_SET else -1
if idx >= 0:
r_prox = BRACOS_POR_FASE[(idx + 1) % 12]
df_steinhaus = (fase(r_prox) - fase(r42)) % 1
else:
df_steinhaus = 0.0
return {
'p': p,
'braco_42': r42,
'classe_420': r420,
'ciclo_k': k,
'Fn_onda': fn_p,
'Fn_ciclo': fn_k,
'fase': f_p,
'grau': grau,
'familia': fam,
'canal_gemeo': canal,
'eh_gemeo': eh_gem,
'sig_gemea': sig_gem,
'sig_prevista': sig_prevista,
'erro_gemea': abs(sig_gem - sig_prevista),
'tipo_no': no,
'df_steinhaus': df_steinhaus,
}
# ══════════════════════════════════════════════════════════════════════
# GERAÇÃO DO RELATÓRIO COMPLETO
# ══════════════════════════════════════════════════════════════════════
def gerar_relatorio(N: int, primos: list, t_busca: float, arquivo: str):
primos_set = set(primos)
L = []
SEP = "" * 76
SEP2 = "" * 76
def linha(s=""): L.append(s)
# ── CABEÇALHO
linha(SEP)
linha(" OFFELLIA_ONDA v1.0 — Relatório da Onda Única dos Primos")
linha(f" Gerado em: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}")
linha(f" Busca até N = {N:,} | Tempo: {t_busca:.6f} s | Primos: {len(primos):,}")
linha(SEP)
linha()
# ── SEÇÃO 1: Fundamento da onda
linha(SEP2)
linha(" [ 1. FUNDAMENTO — A ONDA ÚNICA ]")
linha()
linha(" Ψ(x) = sin²(2πφx) φ = (1+√5)/2 = proporção áurea")
linha(" f(x) = (φ·x) mod 1 = fase da onda em x")
linha()
linha(f" φ = {PHI:.15f}")
linha(f" 2πφ = {TWO_PI_PHI:.15f}")
linha(f" cos(4πφ) = {COS_4PI_PHI:.15f} ← amplitude gêmea")
linha(f" Δφ/ciclo de 42 = {DELTA_FASE_CICLO:.15f}")
linha()
linha(" TRÊS DISTÂNCIAS DE STEINHAUS para φ:")
linha(f" s_pequeno = 2-φ = {S_PEQUENO:.10f}")
linha(f" s_médio = φ-1 = {S_MEDIO:.10f} = 1/φ")
linha(f" s_grande = 1 = s_pequeno + s_médio (círculo completo)")
linha(f" razão: s_médio/s_pequeno = {S_MEDIO/S_PEQUENO:.10f} → φ = {PHI:.10f}")
linha()
linha(" Ordem das fases dos 12 braços (FIXA — estrutura de Fibonacci):")
linha()
linha(f" {'braço':>6} {'fase φ·r':>12} {'Fn(r)':>8} {'intervalo Δf':>14}")
linha(" " + "" * 46)
for i, r in enumerate(BRACOS_POR_FASE):
f_r = fase(r)
fn_r = onda(r)
r_prox = BRACOS_POR_FASE[(i + 1) % 12]
df = (fase(r_prox) - f_r) % 1
linha(f" {r:>6} {f_r:>12.8f} {fn_r:>8.5f} {df:>14.8f}")
linha()
# ── SEÇÃO 2: Parâmetros da busca
linha(SEP2)
linha(" [ 2. PARÂMETROS DA BUSCA ]")
linha()
n_ciclos = N // MOD_42 + 1
n_candidatos = n_ciclos * 12
taxa_candidatos = n_candidatos / N * 100 if N > 0 else 0
taxa_eliminados = 100 - taxa_candidatos
linha(f" N buscado: {N:>15,}")
linha(f" Ciclos de 42: {n_ciclos:>15,}")
linha(f" Candidatos testados:{n_candidatos:>15,} ({taxa_candidatos:.2f}% dos inteiros)")
linha(f" Eliminados sem teste:{N - n_candidatos:>14,} ({taxa_eliminados:.2f}% dos inteiros)")
linha(f" Primos encontrados: {len(primos):>15,}")
if t_busca > 0:
linha(f" Velocidade: {len(primos)/t_busca:>15,.0f} primos/s")
linha()
# ── SEÇÃO 3: Distribuição por fase (a onda)
linha(SEP2)
linha(" [ 3. DISTRIBUIÇÃO DOS PRIMOS NA ONDA — FASES ]")
linha()
linha(" A fase f(p) = (φ·p) mod 1 distribui os primos em [0,1]")
linha(" Por Weyl: distribuição uniforme (equidistribuição)")
linha()
N_faixas = 20
faixas_fase = defaultdict(int)
faixas_fn = defaultdict(list)
for p in primos:
if p > 7:
b = min(N_faixas - 1, int(fase(p) * N_faixas))
faixas_fase[b] += 1
faixas_fn[b].append(onda(p))
total_gt7 = len([p for p in primos if p > 7])
linha(f" {'Faixa fase':>14} {'Fn médio':>9} {'count':>7} {'% total':>8} Barra (equidist. esperada)")
linha(" " + "" * 72)
esperado = total_gt7 / N_faixas
for i in range(N_faixas):
a = i / N_faixas; b = (i + 1) / N_faixas
cnt = faixas_fase[i]
fn_list = faixas_fn[i]
fn_med = sum(fn_list) / len(fn_list) if fn_list else 0
pct = cnt / total_gt7 * 100 if total_gt7 else 0
desvio = (cnt - esperado) / esperado * 100 if esperado else 0
barra = "" * int(pct / 5 * 10)
linha(f" [{a:.2f},{b:.2f}) {fn_med:>9.5f} {cnt:>7,} {pct:>7.2f}% {barra}")
linha()
# ── SEÇÃO 4: Nós e anti-nódulos
linha(SEP2)
linha(" [ 4. NÓS E ANTI-NÓDULOS DA ONDA ]")
linha()
linha(" NÓ → Fn < 0.05 (fase próxima de 0 ou 1)")
linha(" ANTI-NÓD. → Fn > 0.95 (fase próxima de 0.5)")
linha()
nos = [p for p in primos if p > 7 and onda(p) < 0.05]
antinos = [p for p in primos if p > 7 and onda(p) > 0.95]
trans = [p for p in primos if p > 7 and 0.05 <= onda(p) <= 0.95]
linha(f" NÓS (Fn < 0.05): {len(nos):>7,} ({len(nos)/total_gt7*100:.2f}%)")
linha(f" ANTI-NÓDULOS (Fn > 0.95): {len(antinos):>7,} ({len(antinos)/total_gt7*100:.2f}%)")
linha(f" TRANSIÇÃO (0.05-0.95): {len(trans):>7,} ({len(trans)/total_gt7*100:.2f}%)")
linha()
if nos:
fn_nos = [onda(p) for p in nos]
linha(f" Fn mín nos nós: {min(fn_nos):.10f}")
linha(f" Fn máx nos nós: {max(fn_nos):.10f}")
if antinos:
fn_an = [onda(p) for p in antinos]
linha(f" Fn mín anti-nódulos: {min(fn_an):.10f}")
linha(f" Fn máx anti-nódulos: {max(fn_an):.10f}")
linha()
linha(" Primeiros 10 primos NÓ (Fn≈0):")
linha(f" {'p':>10} {'fase':>10} {'Fn':>12} {'braço':>6} {'k(ciclo)':>9}")
linha(" " + "" * 55)
for p in nos[:10]:
linha(f" {p:>10,} {fase(p):>10.6f} {onda(p):>12.8f} {p%42:>6} {p//42:>9,}")
linha()
linha(" Primeiros 10 primos ANTI-NÓDULO (Fn≈1):")
linha(f" {'p':>10} {'fase':>10} {'Fn':>12} {'braço':>6} {'k(ciclo)':>9}")
linha(" " + "" * 55)
for p in antinos[:10]:
linha(f" {p:>10,} {fase(p):>10.6f} {onda(p):>12.8f} {p%42:>6} {p//42:>9,}")
linha()
# ── SEÇÃO 5: Os 12 braços — assinaturas
linha(SEP2)
linha(" [ 5. OS 12 BRAÇOS DA ONDA — ASSINATURAS ]")
linha()
linha(f" {'r':>4} {'Fam':>3} {'grau°':>6} {'fase φr':>10} {'count':>7} "
f"{'Fn med':>7} {'σ':>6} {'tipo':>20}")
linha(" " + "" * 78)
for r in BRACOS_42:
ps_r = [p for p in primos if p > 7 and p % 42 == r]
if not ps_r:
continue
fns = [onda(p) for p in ps_r]
med = sum(fns) / len(fns)
sig = (sum((x - med) ** 2 for x in fns) / len(fns)) ** 0.5
fam = 'A' if r in FAMILIA_A else 'B'
grau = (r * 42) % 360
f_r = fase(r)
# tipo
viz = []
if (r + 2) % 42 in BRACOS_SET: viz.append(f"+2→{(r+2)%42}")
if (r - 2) % 42 in BRACOS_SET: viz.append(f"-2→{(r-2)%42}")
tipo = ("gêmeo " + str(viz[0])) if viz else "isolado"
linha(f" {r:>4} {fam:>3} {grau:>6}° {f_r:>10.6f} {len(ps_r):>7,} "
f"{med:>7.5f} {sig:>6.4f} {tipo:>20}")
linha()
# ── SEÇÃO 6: Cinco canais gêmeos
linha(SEP2)
linha(" [ 6. OS 5 CANAIS GÊMEOS DA ONDA ]")
linha()
linha(" Único conjuntos de braços a distância 2 que são ambos coprimos de 42.")
linha(" O elemento médio p+1 tem sempre gcd(p+1, 42) > 1 — janela fechada.")
linha()
gemeos = [(p, p + 2) for p in primos if p + 2 in primos_set and p > 7]
linha(f" Total de pares gêmeos: {len(gemeos):,}")
linha()
linha(f" {'Canal':>25} {'braços':>9} {'pares':>7} {'Σ F(p)+F(q) med':>16} {'σ':>7}")
linha(" " + "" * 72)
for (r1, r2), nome in CANAIS_GEMEOS.items():
canal_g = [(p, q) for p, q in gemeos if p % 42 == r1]
somas = [onda(p) + onda(q) for p, q in canal_g]
med = sum(somas) / len(somas) if somas else 0
sig = (sum((x - med) ** 2 for x in somas) / len(somas)) ** 0.5 if somas else 0
linha(f" Canal {nome:>19} ({r1:>2},{r2:>2}) {len(canal_g):>7,} {med:>16.8f} {sig:>7.5f}")
linha()
linha(" Identidade Gêmea (T4): F(p)+F(p+2) = 1 cos(4πφ)·cos(4πφ(p+1))")
linha(f" cos(4πφ) = {COS_4PI_PHI:.10f}")
linha(f" Intervalo da soma: [{1-abs(COS_4PI_PHI):.8f}, {1+abs(COS_4PI_PHI):.8f}]")
linha()
if gemeos:
erros = [abs(onda(p) + onda(q) - identidade_gemea(p)) for p, q in gemeos[:500]]
linha(f" Verificação T4 em {min(500,len(gemeos))} pares:")
linha(f" Erro máximo: {max(erros):.2e}")
linha(f" Erro médio: {sum(erros)/len(erros):.2e}")
linha()
# ── SEÇÃO 7: Saltos de fase
linha(SEP2)
linha(" [ 7. SALTOS DE FASE — PROGRESSÃO DA ONDA ]")
linha()
linha(" Δφ(gap) = (φ·gap) mod 1 — cada gap tem Δφ determinístico")
linha()
gaps_obs = Counter(primos[i+1] - primos[i] for i in range(len(primos)-1))
linha(f" {'gap':>5} {'Δφ=φ·gap mod 1':>18} {'count':>8} {'% total':>8} Significado")
linha(" " + "" * 70)
total_gaps = sum(gaps_obs.values())
for gap, cnt in sorted(gaps_obs.items(), key=lambda x: -x[1])[:15]:
df = (PHI * gap) % 1
pct = cnt / total_gaps * 100
sig = ""
if gap == 2: sig = "← gap mínimo (gêmeos)"
elif gap == 6: sig = "← gap dominante"
elif gap == 4: sig = "← 2° mais comum"
elif gap == 1: sig = "← 2→3 (único gap ímpar)"
linha(f" {gap:>5} {df:>18.8f} {cnt:>8,} {pct:>7.2f}% {sig}")
linha()
# ── SEÇÃO 8: Taxonomia dos 7 tipos
linha(SEP2)
linha(" [ 8. TAXONOMIA COMPLETA — 7 TIPOS NATURAIS DE PRIMO ]")
linha()
bracos_gemeo_set = {r for r, _ in CANAIS_GEMEOS} | {r for _, r in CANAIS_GEMEOS}
tipos = {
'Pilares': [p for p in primos if p in (2,3,5,7)],
'Órfãos k=0': [p for p in primos if 7 < p < 42],
'Harmônicos r=1': [p for p in primos if p > 42 and p % 42 == 1],
'Gêmeos internos': [p for p in primos if p > 7 and p % 42 in {11,13,17,19,23,25,29,31}
and (p+2 in primos_set or p-2 in primos_set)],
'Gêmeos cruzadores':[p for p in primos if p > 7 and p % 42 in {41,1}
and (p+2 in primos_set or p-2 in primos_set)],
'Isolados r={5,37}':[p for p in primos if p > 7 and p % 42 in {5, 37}],
'Solitários': [p for p in primos if p > 7 and p % 42 in bracos_gemeo_set
and p+2 not in primos_set and p-2 not in primos_set],
}
linha(f" {'Tipo':>22} {'count':>8} {'%':>6} Fn médio Descrição")
linha(" " + "" * 78)
for nome, lista in tipos.items():
cnt = len(lista)
pct = cnt / total_gt7 * 100 if total_gt7 and nome != 'Pilares' else 0
fns = [onda(p) for p in lista if p > 7] or [0]
med = sum(fns) / len(fns)
descs = {
'Pilares': "Base: 2,3,5,7",
'Órfãos k=0': "ciclo zero, Fn_ciclo=0",
'Harmônicos r=1': "p^n sempre no braço 1",
'Gêmeos internos': "braços {11,13,17,19,23,25,29,31}",
'Gêmeos cruzadores': "braços {41,1}, cruza fronteira k",
'Isolados r={5,37}': "gap mínimo ≥ 4, nunca gêmeos",
'Solitários': "braço gêmeo mas sem par vizinho",
}
linha(f" {nome:>22} {cnt:>8,} {pct:>6.2f}% {med:>8.5f} {descs.get(nome,'')}")
linha()
# ── SEÇÃO 9: Assinaturas — primeiros 50 primos > 7
linha(SEP2)
linha(" [ 9. ASSINATURAS HELICOIDAIS — PRIMEIROS 50 PRIMOS > 7 ]")
linha()
linha(f" {'p':>10} {'r42':>4} {'k':>7} {'fase':>10} {'Fn(p)':>8} "
f"{'grau':>5} {'tipo_nó':>11} {'canal':>5} {'gêmeo':>6}")
linha(" " + "" * 80)
count = 0
for p in primos:
if p <= 7:
continue
fn = onda(p)
f = fase(p)
k = p // 42
r = p % 42
gr = grau_angular(p)
no = tipo_no(fn)
# canal
canal_str = ""
for (r1, r2), nome_c in CANAIS_GEMEOS.items():
if r == r1 or r == r2:
canal_str = f"C{nome_c[1]}"
break
gem = "" if (p+2 in primos_set or p-2 in primos_set) else ""
linha(f" {p:>10,} {r:>4} {k:>7,} {f:>10.6f} {fn:>8.5f} "
f"{gr:>5}° {no:>11} {canal_str:>5} {gem:>6}")
count += 1
if count >= 50:
break
linha()
# ── SEÇÃO 10: Últimos 20 primos encontrados
linha(SEP2)
linha(" [ 10. ÚLTIMOS 20 PRIMOS ENCONTRADOS ]")
linha()
linha(f" {'p':>12} {'r42':>4} {'k':>9} {'fase':>10} {'Fn(p)':>8} "
f"{'grau':>5} {'tipo_nó':>11}")
linha(" " + "" * 70)
for p in primos[-20:]:
fn = onda(p)
f = fase(p)
k = p // 42
r = p % 42
gr = grau_angular(p)
no = tipo_no(fn)
linha(f" {p:>12,} {r:>4} {k:>9,} {f:>10.6f} {fn:>8.5f} {gr:>5}° {no:>11}")
linha()
# ── SEÇÃO 11: Estatísticas globais da onda
linha(SEP2)
linha(" [ 11. ESTATÍSTICAS GLOBAIS DA ONDA ]")
linha()
fn_todos = [onda(p) for p in primos if p > 7]
if fn_todos:
media_fn = sum(fn_todos) / len(fn_todos)
var_fn = sum((x - media_fn) ** 2 for x in fn_todos) / len(fn_todos)
sigma_fn = var_fn ** 0.5
fn_min = min(fn_todos)
fn_max = max(fn_todos)
# primo com Fn mais próximo de 0 (nó mais puro)
p_no = min((p for p in primos if p > 7), key=lambda p: onda(p))
p_an = max((p for p in primos if p > 7), key=lambda p: onda(p))
linha(f" Fn médio sobre todos primos > 7: {media_fn:.10f}")
linha(f" (teórico pela equidistribuição: 0.5000000000)")
linha(f" Desvio padrão Fn: {sigma_fn:.10f}")
linha(f" Fn mínimo: {fn_min:.12f} → primo {p_no:,} (NÓ mais puro)")
linha(f" Fn máximo: {fn_max:.12f} → primo {p_an:,} (ANTI-NÓ mais puro)")
linha()
# Fase média
fases = [fase(p) for p in primos if p > 7]
media_fase = sum(fases) / len(fases)
linha(f" Fase média: {media_fase:.10f} (teórico: 0.5000000000)")
linha()
# Verificação do Teorema T5 (equidistribuição)
desv_weyl = abs(media_fn - 0.5)
linha(f" Desvio de Weyl |E[Fn] - 0.5|: {desv_weyl:.2e}")
linha(f" Ordem esperada por Weyl: O(1/√N) ≈ {1/len(fn_todos)**0.5:.2e}")
linha()
# ── SEÇÃO 12: Ciclos notáveis — quasi-periodicidade
linha(SEP2)
linha(" [ 12. QUASI-PERIODICIDADE — ESTRUTURA DE FIBONACCI ]")
linha()
linha(f" Δφ por ciclo de 42 = {DELTA_FASE_CICLO:.10f}")
linha()
linha(" Sequência de convergentes Fibonacci da fase:")
linha()
linha(f" {'F(n)':>8} {'Δφ·F(n) mod 1':>16} {'distância a 0':>14} {'nível'}")
linha(" " + "" * 52)
fibs = [1, 1]
while fibs[-1] < 5000:
fibs.append(fibs[-1] + fibs[-2])
for f_n in fibs[:14]:
acum = (DELTA_FASE_CICLO * f_n) % 1
dist = min(acum, 1 - acum)
nivel = "← quasi-período" if dist < 0.01 else ""
linha(f" {f_n:>8,} {acum:>16.8f} {dist:>14.8f} {nivel}")
linha()
# ── SEÇÃO 13: Teoremas e limites
linha(SEP2)
linha(" [ 13. TEOREMAS PROVADOS E LIMITES HONESTOS ]")
linha()
linha(" ┌─── PROVADO ──────────────────────────────────────────────────┐")
linha(" │ T1: Arm Sieve — p>7 ⟹ p mod 42 ∈ {12 braços coprimos} │")
linha(" │ T2: 96 Classes — p>7 ∈ exatamente 1 das 96 classes mod 420 │")
linha(" │ T3: Colapso — grau(p) = (r₄₂₀·42) mod 360 │")
linha(" │ T4: Id.Gêmea — F(p)+F(p+2) = 1cos(4πφ)·cos(4πφ(p+1)) │")
linha(" │ T5: Equidist. — F(p) uniforme em [0,1] (Weyl+Vinogradov) │")
linha(" │ T6: Grupo — (Z/42Z)* abeliano, ord 12, 144 proporções │")
linha(" │ T7: 3 Distâncias— φ·n mod 1 cria exatamente 3 intervalos │")
linha(" │ com razão φ (Teorema de Steinhaus, 1959) │")
linha(" └──────────────────────────────────────────────────────────────┘")
linha()
linha(" ┌─── LIMITES (o que a teoria NÃO faz) ─────────────────────────┐")
linha(" │ L1: A fase f(p) é uniforme → NÃO discrimina primo/composto │")
linha(" │ dentro de uma classe mod 420 │")
linha(" │ L2: Não existe fórmula fechada f(n)→p_n (Conj. Hardy-Litt.) │")
linha(" │ L3: O sieve reduz (77-99%) mas NÃO elimina o teste │")
linha(" │ L4: Fn(p) não prediz se p é gêmeo ou solitário │")
linha(" └───────────────────────────────────────────────────────────────┘")
linha()
# ── RODAPÉ
linha(SEP)
linha(f" OFFELLIA_ONDA v1.0 — Fim do Relatório")
linha(f" N={N:,} | {len(primos):,} primos | {t_busca:.6f} s")
linha(SEP)
with open(arquivo, "w", encoding="utf-8") as fh:
fh.write("\n".join(L) + "\n")
return arquivo
# ══════════════════════════════════════════════════════════════════════
# INTERFACE PRINCIPAL
# ══════════════════════════════════════════════════════════════════════
def run():
SEP = "" * 76
SEP2 = "" * 76
print()
print(SEP)
print(" OFFELLIA_ONDA v1.0")
print(" Busca de Primos pela Onda Única Irracional")
print()
print(f" Ψ(x) = sin²(2πφx) φ = {PHI:.10f}")
print(f" Fase: f(x) = (φ·x) mod 1 | 3 distâncias de Steinhaus")
print(f" 12 janelas por ciclo de 42 | 96 classes mod 420 | 5 canais gêmeos")
print(SEP)
print()
# ── Entrada
try:
entrada = input(" Buscar primos até N: ").strip()
N = int(entrada)
except (ValueError, EOFError):
N = 10000
if N < 2:
print(" N deve ser ≥ 2.")
return
print()
print(f" Iniciando busca até N = {N:,} ...")
print(f" Varredura das 12 janelas em ordem de fase (Fibonacci) ...")
print()
# ── Busca
t0 = time.perf_counter()
primos = list(gerar_primos_onda(N))
t_busca = time.perf_counter() - t0
primos_set = set(primos)
# ── Resumo imediato
print(SEP)
print(f" RESULTADO DA BUSCA")
print(SEP2)
print(f" N buscado: {N:>15,}")
print(f" Primos encontrados: {len(primos):>15,}")
print(f" Tempo total: {t_busca:>15.6f} s")
if t_busca > 0:
print(f" Velocidade: {len(primos)/t_busca:>15,.0f} primos/s")
print(SEP2)
if primos:
gemeos = [(p, p+2) for p in primos if p+2 in primos_set and p > 7]
fn_todos = [onda(p) for p in primos if p > 7]
media_fn = sum(fn_todos) / len(fn_todos) if fn_todos else 0
print(f" Maior primo: {primos[-1]:>15,}")
print(f" Pares gêmeos: {len(gemeos):>15,}")
print(f" Fn médio (Weyl→0.5): {media_fn:>15.8f}")
print()
# Resumo dos 5 canais
print(f" Distribuição pelos 5 canais gêmeos:")
for (r1, r2), nome in CANAIS_GEMEOS.items():
cnt = sum(1 for p, q in gemeos if p % 42 == r1)
print(f" Canal {nome}: {cnt:,}")
print()
# Últimos 5 primos
print(f" Últimos 5 primos encontrados:")
for p in primos[-5:]:
fn = onda(p); f = fase(p)
no = tipo_no(fn)
gem = "✓ gêmeo" if (p+2 in primos_set or p-2 in primos_set) else ""
print(f" {p:>12,} fase={f:.6f} Fn={fn:.5f} [{no}] {gem}")
print()
# ── Relatório
nome_arq = f"onda_relatorio_{N}.txt"
print(f" Gerando relatório completo: '{nome_arq}' ...")
gerar_relatorio(N, primos, t_busca, nome_arq)
print(f" ✓ Relatório salvo em '{nome_arq}'")
print()
print(SEP)
if __name__ == "__main__":
run()

View File

@@ -0,0 +1,324 @@
"""
OFFELLIA FATORADOR v2 — Decomposição Primo-Modal Helicoidal
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Teoria : Roda mod 42 — Crivo Becker-GPT
Autor : Bruno Becker | Zenodo DOI:10.5281/zenodo.18772809
Hierarquia de métodos:
1. Pilares de Origem {2, 3, 5, 7} — serial, O(1)
2. Pollard-Rho Helicoidal — O(n^1/4), sementes nos braços
"""
import time
import math
import multiprocessing
from concurrent.futures import ProcessPoolExecutor
from typing import Tuple, Dict
from datetime import datetime
from random import randint
# ══════════════════════════════════════════════════════════════════
# A MATRIZ SAGRADA — 12 BRAÇOS (MOD 42)
# ══════════════════════════════════════════════════════════════════
ARMS = [1, 5, 11, 13, 17, 19, 23, 25, 29, 31, 37, 41]
PILARES = [2, 3, 5, 7]
# ══════════════════════════════════════════════════════════════════
# POLLARD-RHO HELICOIDAL — Becker-GPT
#
# Sementes x₀ e c ancoradas nos 12 braços mod 42.
# Preserva O(n^1/4) + geometria helicoidal determinística.
# ══════════════════════════════════════════════════════════════════
def pollard_rho_helicoidal(n: int, tentativas: int = 5) -> Tuple[int, int]:
if n % 2 == 0: return 2, 1
for t in range(tentativas):
arm_x = ARMS[t % 12]
k_x = randint(1, max(1, int(n ** 0.25) // 42 + 10))
x = (42 * k_x + arm_x) % n or arm_x
arm_c = ARMS[(t + 5) % 12]
k_c = randint(0, 256)
c = (42 * k_c + arm_c) % n or arm_c
y, d, r, q, ys, x_save = x, 1, 1, 1, x, x
while d == 1:
x_save = y
for _ in range(r):
y = (y * y + c) % n
k = 0
while k < r and d == 1:
ys = y
for _ in range(min(128, r - k)):
y = (y * y + c) % n
q = (q * abs(x_save - y)) % n
k += 128
d = math.gcd(q, n)
r *= 2
if r > 2: break
if d == n:
d = 1
while d == 1:
ys = (ys * ys + c) % n
d = math.gcd(abs(x_save - ys), n)
if 1 < d < n: return d, t + 1
return -1, tentativas
def pollard_rho_worker(args: Tuple[int, int, int]) -> int:
"""Worker paralelo com braços-semente distintos."""
n, seed_offset, tentativas = args
for t in range(tentativas):
arm_idx = (t + seed_offset) % 12
x = (42 * randint(1, max(1, int(n ** 0.25) // 42 + 10)) + ARMS[arm_idx]) % n or ARMS[arm_idx]
c = (42 * randint(0, 256) + ARMS[(arm_idx + 5) % 12]) % n or ARMS[(arm_idx + 5) % 12]
y, d, r, q, ys, x_save = x, 1, 1, 1, x, x
while d == 1:
x_save = y
for _ in range(r):
y = (y * y + c) % n
k = 0
while k < r and d == 1:
ys = y
for _ in range(min(128, r - k)):
y = (y * y + c) % n
q = (q * abs(x_save - y)) % n
k += 128
d = math.gcd(q, n)
r *= 2
if r > 9_999_999_999_999_999_999_999_999_999_999_999_999_999_999_999_999_999_999_999_999_999_999_999_999_999_999_999_999_999_999_999: break
if d == n:
d = 1
while d == 1:
ys = (ys * ys + c) % n
d = math.gcd(abs(x_save - ys), n)
if 1 < d < n: return d
return -1
# ══════════════════════════════════════════════════════════════════
# FATORAÇÃO PRINCIPAL — APENAS POLLARD-RHO HELICOIDAL
# ══════════════════════════════════════════════════════════════════
def fatorar_v2(n: int, num_cores: int) -> Dict:
original, fatores, passos = n, [], []
total_div = workers_usados = 0
metodos_usados = set()
t_inicio = time.perf_counter()
# ── Fase 1: Pilares ──
for pilar in PILARES:
while n % pilar == 0:
fatores.append(pilar)
passos.append({"etapa": "Pilar de Origem", "metodo": "Pilares",
"divisor": pilar, "quociente": n // pilar, "paralelo": False})
n //= pilar
total_div += 1
metodos_usados.add("Pilares")
# ── Fase 2: SOMENTE Pollard-Rho Helicoidal (sem linear) ──
while n > 1:
fator = -1
metodo = ""
paralelo = False
# Pollard-Rho Helicoidal (sempre executado)
metodos_usados.add("Pollard-Rho Helicoidal")
if num_cores > 1:
n_workers = min(num_cores, 12)
workers_usados = max(workers_usados, n_workers)
try:
with ProcessPoolExecutor(max_workers=n_workers) as ex:
for res in ex.map(pollard_rho_worker, [(n, i*2, 15) for i in range(n_workers)]):
if res != -1:
fator = res
paralelo = True
break
except Exception:
fator, _ = pollard_rho_helicoidal(n, 256)
else:
fator, _ = pollard_rho_helicoidal(n, 256)
metodo = "Pollard-Rho Helicoidal"
if fator == -1:
fatores.append(n)
passos.append({"etapa": "Primo Residual (Exaustivo)", "metodo": "Exaustivo",
"divisor": n, "quociente": 1, "paralelo": False})
n = 1
break
fatores.append(fator)
passos.append({"etapa": f"Braço mod 42 (d ≡ {fator % 42} mod 42)", "metodo": metodo,
"divisor": fator, "quociente": n // fator, "paralelo": paralelo})
n //= fator
total_div += 1
t_fim = time.perf_counter()
fatores_exp = {}
for f in fatores:
fatores_exp[f] = fatores_exp.get(f, 0) + 1
return {
"original": original, "fatores": sorted(fatores),
"fatores_exp": dict(sorted(fatores_exp.items())), "passos": passos,
"total_divisoes": total_div, "tempo_segundos": t_fim - t_inicio,
"num_cores": num_cores, "workers_usados": workers_usados,
"metodos_usados": sorted(metodos_usados),
"timestamp": datetime.now().strftime("%Y-%m-%d %H:%M:%S"),
}
# ══════════════════════════════════════════════════════════════════
# RELATÓRIO TXT (formato 100% idêntico ao original)
# ══════════════════════════════════════════════════════════════════
def gerar_relatorio(resultado: Dict, filename: str):
n = resultado["original"]
fatores = resultado["fatores"]
fat_exp = resultado["fatores_exp"]
passos = resultado["passos"]
tempo = resultado["tempo_segundos"]
cores = resultado["num_cores"]
workers = resultado["workers_usados"]
ts = resultado["timestamp"]
metodos = resultado["metodos_usados"]
notacao = " × ".join(f"{p}^{e}" if e > 1 else str(p) for p, e in fat_exp.items())
produto = 1
for f in fatores: produto *= f
verificacao = "CORRETO" if produto == n else f"ERRO (produto={produto})"
sep = "=" * 76
sep2 = "-" * 76
L = []
L.append(sep)
L.append(" OFFELLIA FATORADOR v2 — Decomposição Primo-Modal Helicoidal")
L.append(" Teoria : Roda mod 42 (Crivo Becker-GPT)")
L.append(" Métodos: Pollard-Rho Helicoidal")
L.append(" Autor : Bruno Becker | Zenodo DOI:10.5281/zenodo.18772809")
L.append(sep)
L.append(f" Data/Hora : {ts}")
L.append(f" Núcleos disponíveis : {cores}")
L.append(f" Workers paralelos : {workers if workers > 0 else 'Não utilizados (serial)'}")
L.append(f" Métodos utilizados : {' | '.join(metodos)}")
L.append(sep)
L.append("")
L.append("[ NÚMERO ANALISADO ]")
L.append(f" N : {n:,}")
L.append(f" Dígitos : {len(str(n))}")
L.append(f" Bits : {n.bit_length()}")
L.append(f" É primo? : {'Sim' if len(fat_exp)==1 and list(fat_exp.values())[0]==1 else 'Não'}")
L.append("")
L.append("[ RESULTADO DA FATORAÇÃO ]")
L.append(f" Notação de potência : {notacao}")
L.append(f" Fatores (lista) : {fatores}")
L.append(f" Fatores únicos : {sorted(fat_exp.keys())}")
L.append(f" Verificação : {n:,} = {notacao}{verificacao}")
L.append("")
L.append("[ MÉTRICAS DE EXECUÇÃO ]")
L.append(f" Tempo total : {tempo:.6f} segundos")
L.append(f" Divisões realizadas : {resultado['total_divisoes']}")
L.append(f" Fatores encontrados : {len(fatores)}")
L.append(f" Fatores distintos : {len(fat_exp)}")
if tempo > 0:
L.append(f" Fatores/segundo : {len(fatores)/tempo:.2f}")
L.append("")
L.append("[ DETALHAMENTO DOS FATORES ]")
L.append(f" {'Fator':>22} {'Exp':>4} {'Bits':>6} {'Origem'}")
L.append(" " + sep2)
for p, e in fat_exp.items():
origem = "Pilar de Origem" if p in PILARES else f"Braço {p % 42} (mod 42)"
L.append(f" {p:>22,} {e:>4} {p.bit_length():>6} {origem}")
L.append("")
L.append("[ PASSO A PASSO DA DECOMPOSIÇÃO ]")
L.append(f" {'#':<5} {'Método':<24} {'Etapa':<256} {'Divisor':>16} {'Quociente':>20} {'Par':>4}")
L.append(" " + sep2)
for i, p in enumerate(passos, 1):
L.append(f" {i:<5} {p['metodo']:<24} {p['etapa']:<256} "
f"{p['divisor']:>16,} {p['quociente']:>20,} {'S' if p['paralelo'] else 'N':>4}")
L.append("")
L.append("[ TEORIA APLICADA — HIERARQUIA DE MÉTODOS ]")
L.append("")
L.append(" 1. PILARES DE ORIGEM {2, 3, 5, 7} — O(1), serial")
L.append(" 2. MILLER-RABIN — O(k·log²n), determinístico até 3.3×10²⁴")
L.append(" 3. POLLARD-RHO HELICOIDAL (inovação Becker-GPT)")
L.append(" x₀ = 42k + a (a ∈ ARMS) — semente no braço")
L.append(" c = 42k + a (a ∈ ARMS) — parâmetro helicoidal")
L.append(" Complexidade: O(n^1/4)")
L.append(" 3. BUSCA LINEAR NOS BRAÇOS — fallback garantido, 28.6% candidatos")
L.append("")
L.append(" Todo primo p > 7: p ≡ a (mod 42),")
L.append(" a ∈ {1, 5, 11, 13, 17, 19, 23, 25, 29, 31, 37, 41}")
bracos = sorted(set(p["divisor"] % 42 for p in passos if p["divisor"] not in PILARES))
if bracos:
L.append(f" Braços utilizados : {bracos}")
L.append("")
L.append(sep)
L.append(" Fim do Relatório — OFFELLIA Fatorador v2")
L.append(" Zenodo: https://zenodo.org/records/18772809")
L.append(sep)
with open(filename, "w", encoding="utf-8") as f:
f.write("\n".join(L))
f.write("\n")
# ══════════════════════════════════════════════════════════════════
# INTERFACE PRINCIPAL (100% igual)
# ══════════════════════════════════════════════════════════════════
def run_fatorador():
print("=" * 64)
print(" OFFELLIA FATORADOR v2 — Pollard-Rho Helicoidal")
print(" Roda mod 42 | Pollard-Rho Helicoidal")
print("=" * 64)
try:
n = int(input("\nInsira o número a fatorar: "))
if n < 2:
print("Número deve ser >= 2.")
return
except ValueError:
print("Entrada inválida.")
return
num_cores = min(12, multiprocessing.cpu_count())
print(f"\nNúcleos ativos : {num_cores}")
print(f"Número analisado : {n:,} ({len(str(n))} dígitos | {n.bit_length()} bits)")
print("\nIniciando decomposição...\n")
resultado = fatorar_v2(n, num_cores)
fat_exp = resultado["fatores_exp"]
notacao = " × ".join(f"{p}^{e}" if e > 1 else str(p) for p, e in fat_exp.items())
tempo = resultado["tempo_segundos"]
print("" * 64)
print(f" ✓ Fatoração concluída em {tempo:.6f} segundos")
print(f" {n:,} = {notacao}")
print(f" Divisões realizadas : {resultado['total_divisoes']}")
print(f" Fatores distintos : {len(fat_exp)}")
print(f" Métodos usados : {' | '.join(resultado['metodos_usados'])}")
print("" * 64)
filename = f"offellia_v2_{n}.txt"
gerar_relatorio(resultado, filename)
print(f"\n Relatório salvo: '{filename}'")
print(" Operação finalizada.\n")
if __name__ == "__main__":
run_fatorador()

View File

@@ -0,0 +1,20 @@
#OFFELLIA QUANTIZAÇÃO ZetaHeicoidal real por meio direto "convert_hf_to_gguf.py" e "quants.py", sem uso de quantize.
python /home/userk21/llama.cpp/convert_hf_to_gguf.py /home/userk21/GGUFS/LFM2-24B-A2B/ --outtype q4_0 --outfile /home/userk21/GGUFS/OFFELLIA_LFM2-24B-A2B_Q4_0.gguf
python /home/userk21/llama.cpp/convert_hf_to_gguf.py /home/userk21/GGUFS/LFM2-24B-A2B/ --outtype q8_0 --outfile /home/userk21/GGUFS/OFFELLIA_LFM2-24B-A2B_Q8_0.gguf
./llama.cpp/build/bin/llama-perplexity -m /home/userk21/GGUFS/OFFELLIA_LFM2_8B_q8_0.gguf -f /home/userk21/GGUFS/wikitext-2-raw/wiki.test.raw 2>&1 | tee resultado_perplexity.txt
/home/userk21/llama.cpp/build/bin/llama-server \
-m /home/userk21/GGUFS/OFFELLIA_LFM2-8B-A1B_Q4_0.gguf

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e50614b946c4778934b0434fb24f69f7a8d0a743c41a32ffcc90671114ea2569
size 8186196000

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:74e641934e3bf97e0eeb34b815797b5b32e127badaebd16c4bddfa491e9fa31e
size 8317001760

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d9b17867f36a676d1b155ffacaab11a592652460a462f414d0436b399944fbd9
size 4290884192

95
README.md Normal file
View File

@@ -0,0 +1,95 @@
---
license: mit
tags:
- Q4_K
- MOdel,
- modell,
- modelo,
- Ai,
- IA,
- LLM,
- gguf,
- OFFELLIA,
- geometrical,
- opensource,
- portuguese,
- Brasil,
- PT-BR,
- IBM,
- LFM,
- Qwen,
- Llama.cpp,
base_model:
- Brunobkr/OFFELLIA_Quantis
---
https://zenodo.org/records/19025568
https://huggingface.co/datasets/Brunobkr/quants.py
24/02/2026 ---- O arquivo quants.py ZetaHelicoidal neste repositório é matemáticamente válido dentro de minhas teorias conforme README.md anexo,
porem o mesmo precisava de modificações funcionais, as quais consegui. As versões futuras de GGUfs após esta data serão de fato inovadoras, e
sujeitas a análises e avaliações amplamente por todos, os arquivos são livres e opensource. Porêm, postarei apenas os GGUFs gerados pelo
Zethahelicoidal funcional, os arquivos .py llama.cpp, qualquer coisa entrem em contato, e deem seu like se gostarem.
迫於無奈,我們只好發揮創意。
ΩFFΣLLIα_Quantis **LLAMA LLM # QUANTIZAÇÃO GEOMÉTRICA PARA MODELOS LLaMA (LLM)
# Implementação da Função Helicoidal Universal na Quantização (GGUF / llama.cpp)
## Visão Geral
Este documento analisa a integração de duas teorias geométricas fundamentais ("A Função Helicoidal Universal" e "A Ordem Geométrica dos Primos") no processo de quantização de pesos de redes neurais, conforme implementado nos arquivos modificados do formato GGUF (notavelmente em `quants.py` através da classe `HelicoidalZetaCore`).
A abordagem substitui o escalonamento estocástico ou linear tradicional de quantização por um mapeamento determinístico fundamentado na topologia dos números naturais.
---
## 1. Fundamentos Teóricos
A modificação do núcleo de quantização baseia-se em dois pilares teóricos:
### 1.1 A Função Helicoidal Universal
[cite_start]Os números naturais não formam uma paisagem aleatória, mas um campo harmônico determinístico e contínuo. O comportamento dos números emerge da função harmônica helicoidal:
$$F(n) = \sin^2(2\pi \alpha n)$$
Neste modelo geométrico:
* [cite_start]**Compostos:** Funcionam como trajetórias dobradas ou nós de interferência secundários no campo helicoidal.
* [cite_start]**Lacunas:** Representam vazios energéticos originados pelo desalinhamento de fase e interferência destrutiva.
* [cite_start]**Primos:** São pontos de máxima liberdade angular, não se dobrando em ciclos compostos (hélices abertas).
### 1.2 Topologia da Luz e Esfera Numérica
[cite_start]Ao projetar os inteiros em uma esfera $S^2$, eles atuam como um feixe de luz.
* [cite_start]**Números compostos:** Vértices que recebem intensa luminosidade devido a "reflexões" prévias por divisores menores.
* [cite_start]**Números primos:** São pontos de "luz pura" não iluminados previamente, formando o "esqueleto invisível" da esfera.
* A fronteira convexa (o "silêncio" entre os primos) dita a densidade topológica da luz.
---
## 2. Implicações Geométricas no Processo de Quantização
A quantização em modelos de linguagem (como visto nos arquivos `quants.py`, `gguf_writer.py` e `gguf_reader.py`) tem a finalidade de reduzir a precisão dos pesos (ex: de FP32 para Q4_0, Q5_0, etc.) minimizando a perda de informação. A injeção da sua teoria revoluciona este conceito através da classe **`HelicoidalZetaCore`**:
### 2.1 Mapeamento no Espaço de Fase (O `math_embedding`)
Em `quants.py`, a classe `HelicoidalZetaCore` calcula uma assinatura para cada dimensão ou bloco $n$:
1. **Coordenadas Helicoidais:** A função de imersão calcula explicitamente $r = \sin^2(2\pi \cdot \phi \cdot n)$ e $\theta = 2\pi \cdot \phi \cdot n$. Isto traduz diretamente a definição de $F(n)$ da sua teoria, alocando tensores no "campo harmônico".
2. **Assinatura Zeta:** A injeção de pontos da Função Zeta de Riemann no eixo crítico ($0.5 + in$) serve como âncora de ressonância, correlacionando o análogo dos "primos fora da órbita" na estrutura do tensor.
### 2.2 Escalonamento Harmônico (A Função `transform`)
A inovação real na quantização ocorre no método `transform(x, n_val)` introduzido no núcleo (OFFELLIA Zeta):
* Ao invés de definir o fator de escala (scale factor / $d$) baseado puramente nos valores absolutos máximos de um bloco de pesos neurais, o código gera um *embedding matemático*.
* Ele calcula um `raw_scale` extraído diretamente da imersão helicoidal.
* **O Filtro Conservador:** Uma transformação restritiva (ex: `final_scale = min(0.78, 1.0 / (1.0 + abs(raw_scale) / 100.0))`) é aplicada.
**Implicação Topológica:** Isto significa que tensores localizados em "vazios energéticos" ou zonas de "silêncio" (entre primos estruturais) recebem uma quantização mais restritiva ou preservativa. [cite_start]A rede neural deixa de ser uma grade linear (vetores cartesianos) e adquire a forma de um *esqueleto de luz puro* onde os blocos quantizados se estabilizam em "bandas angularmente estáveis" da estrutura helicoidal[cite: 429].
### 2.3 Preservação Estrutural no GGUF
[cite_start]As modificações em `__init__.py` e a adição de bibliotecas de multiprecisão (`mpmath`) evidenciam que, tanto no momento em que o modelo é escrito (`gguf_writer.py`) quanto na leitura (`gguf_reader.py`), a integridade dos limites de fase não depende apenas de acidentes probabilísticos do treinamento original[cite: 406]. [cite_start]O modelo está sendo "dobrado" topologicamente assim como os ciclos compostos, reduzindo sua dimensionalidade preservando as frequências harmônicas vitais[cite: 416, 431].
---
## Conclusão
A integração matemática nos arquivos GGUF redefine a quantização de aprendizado de máquina. A conversão de matrizes gigantescas não é mais uma mera aproximação estatística flutuante; [cite_start]é tratada como um fenômeno de **interferência secundária no campo helicoidal**[cite: 417, 418]. [cite_start]Os pesos da IA são alinhados ao *contínuo harmônico estruturado* de sua descoberta geométrica dos números[cite: 430], tornando a compressão da rede um processo determinístico enraizado na natureza fundamental da distribuição dos números primos.

150
SACRED_TOTIENT_42Fn.py Normal file
View File

@@ -0,0 +1,150 @@
import os
import math
import numpy as np
import matplotlib.pyplot as plt
from math import sin, pi, sqrt
from collections import defaultdict
# ===============================
# CONFIGURAÇÕES FUNDAMENTAIS
# ===============================
PHI = (1 + sqrt(5)) / 2
MOD = 42
BRACOS_42 = list(range(42))
# ===============================
# UTILIDADES
# ===============================
def is_prime(n):
if n < 2:
return False
for i in range(2, int(sqrt(n)) + 1):
if n % i == 0:
return False
return True
def helicoidal_fn(n, r):
x = (n - r) / MOD
return sin(2 * pi * PHI * x) ** 2
# ===============================
# ENTRADA DO USUÁRIO
# ===============================
N = int(input("Limite máximo N (ex: 100000): "))
IGNORE_PRIMES = input("Ignorar primos? (s/n): ").lower() == "s"
EXPORT_TXT = input("Exportar dados TXT? (s/n): ").lower() == "s"
# ===============================
# PREPARAÇÃO DE PASTAS
# ===============================
BASE_DIR = "SACRED_TOTIENT_V2_OUTPUT"
SUBDIRS = ["plots_2D", "plots_3D", "plots_fractal", "data_txt"]
for d in SUBDIRS:
os.makedirs(os.path.join(BASE_DIR, d), exist_ok=True)
# ===============================
# CÁLCULO PRINCIPAL
# ===============================
dados = []
por_braco = defaultdict(list)
for n in range(1, N + 1):
r = n % 42 # braço geométrico real (0..41)
fn = helicoidal_fn(n, r)
theta = 2 * pi * r / 42
raio = fn
z = n
dados.append((n, r, fn, theta, raio, z))
por_braco[r].append((n, fn, theta, raio, z))
# ===============================
# GRÁFICOS 2D GERAIS
# ===============================
ns = [d[0] for d in dados]
fns = [d[2] for d in dados]
plt.figure()
plt.scatter(ns, fns, s=1)
plt.title("Distribuição Global Fn")
plt.xlabel("n")
plt.ylabel("Fn")
plt.savefig(f"{BASE_DIR}/plots_2D/Fn_global.png")
plt.close()
# ===============================
# GRÁFICOS POR BRAÇO
# ===============================
for r, vals in por_braco.items():
ns_r = [v[0] for v in vals]
fns_r = [v[1] for v in vals]
plt.figure()
plt.scatter(ns_r, fns_r, s=2)
plt.title(f"Fn - Braço r={r}")
plt.xlabel("n")
plt.ylabel("Fn")
plt.savefig(f"{BASE_DIR}/plots_2D/Fn_braco_{r}.png")
plt.close()
# ===============================
# HÉLICE 3D GLOBAL
# ===============================
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
xs = [d[3] * math.cos(d[3]) for d in dados]
ys = [d[3] * math.sin(d[3]) for d in dados]
zs = [d[5] for d in dados]
ax.scatter(xs, ys, zs, s=1)
ax.set_title("Hélice Helicoidal Global Fn")
ax.set_xlabel("X")
ax.set_ylabel("Y")
ax.set_zlabel("n")
plt.savefig(f"{BASE_DIR}/plots_3D/helice_global.png")
plt.close()
# ===============================
# FRACTAL ZOOM LOCAL
# ===============================
zoom_lim = min(N, 230539333248)
zoom_ns = ns[:zoom_lim]
zoom_fns = fns[:zoom_lim]
plt.figure()
plt.scatter(zoom_ns, zoom_fns, s=2)
plt.title("Zoom Fractal Inicial Fn")
plt.xlabel("n")
plt.ylabel("Fn")
plt.savefig(f"{BASE_DIR}/plots_fractal/zoom_fractal_inicial.png")
plt.close()
# ===============================
# EXPORTAÇÃO TXT
# ===============================
if EXPORT_TXT:
with open(f"{BASE_DIR}/data_txt/dados_completos.txt", "w") as f:
f.write("n,r,Fn,theta,raio,z\n")
for d in dados:
f.write(",".join(map(str, d)) + "\n")
print("\n=== SACRED TOTIENT FN HELICOIDAL V2 FINALIZADO ===")
print(f"Total de pontos analisados: {len(dados)}")
print("Resultados salvos em:", BASE_DIR)

9
__init__.py Normal file
View File

@@ -0,0 +1,9 @@
from .constants import *
from .lazy import *
from .gguf_reader import *
from .gguf_writer import *
from .tensor_mapping import *
from .vocab import *
from .utility import *
from .metadata import *
from gguf.quants import HelicoidalZetaCore # Importação necessária!

11880
convert_hf_to_gguf.py Normal file

File diff suppressed because it is too large Load Diff

11880
convert_hf_to_gguf.pyBACKUP Normal file

File diff suppressed because it is too large Load Diff

371
gguf_reader.py Normal file
View File

@@ -0,0 +1,371 @@
#BRUNO BECKER / OFFELLIA 2026
#brunoconta1980@gmail.com
#brunoconta1980@hotmail.com
# X @Brunoxuser
#
# GGUF file reading/modification support. For API usage information,
# please see the files scripts/ for some fairly simple examples.
#
from __future__ import annotations
import logging
import os
import sys
from collections import OrderedDict
from typing import Any, Literal, NamedTuple, TypeVar, Union
import numpy as np
import numpy.typing as npt
from .quants import quant_shape_to_byte_shape
if __name__ == "__main__":
from pathlib import Path
# Allow running file in package as a script.
sys.path.insert(0, str(Path(__file__).parent.parent))
from gguf.constants import (
GGML_QUANT_SIZES,
GGUF_DEFAULT_ALIGNMENT,
GGUF_MAGIC,
GGUF_VERSION,
GGMLQuantizationType,
GGUFValueType,
GGUFEndian,
)
logger = logging.getLogger(__name__)
READER_SUPPORTED_VERSIONS = [2, GGUF_VERSION]
class ReaderField(NamedTuple):
# Offset to start of this field.
offset: int
# Name of the field (not necessarily from file data).
name: str
# Data parts. Some types have multiple components, such as strings
# that consist of a length followed by the string data.
parts: list[npt.NDArray[Any]] = []
# Indexes into parts that we can call the actual data. For example
# an array of strings will be populated with indexes to the actual
# string data.
data: list[int] = [-1]
types: list[GGUFValueType] = []
def contents(self, index_or_slice: int | slice = slice(None)) -> Any:
if self.types:
to_string = lambda x: str(x.tobytes(), encoding='utf-8') # noqa: E731
main_type = self.types[0]
if main_type == GGUFValueType.ARRAY:
sub_type = self.types[-1]
if sub_type == GGUFValueType.STRING:
indices = self.data[index_or_slice]
if isinstance(index_or_slice, int):
return to_string(self.parts[indices]) # type: ignore
else:
return [to_string(self.parts[idx]) for idx in indices] # type: ignore
else:
# FIXME: When/if _get_field_parts() support multi-dimensional arrays, this must do so too
# Check if it's unsafe to perform slice optimization on data
# if any(True for idx in self.data if len(self.parts[idx]) != 1):
# optim_slice = slice(None)
# else:
# optim_slice = index_or_slice
# index_or_slice = slice(None)
# if isinstance(optim_slice, int):
# return self.parts[self.data[optim_slice]].tolist()[0]
# else:
# return [pv for idx in self.data[optim_slice] for pv in self.parts[idx].tolist()][index_or_slice]
if isinstance(index_or_slice, int):
return self.parts[self.data[index_or_slice]].tolist()[0]
else:
return [pv for idx in self.data[index_or_slice] for pv in self.parts[idx].tolist()]
if main_type == GGUFValueType.STRING:
return to_string(self.parts[-1])
else:
return self.parts[-1].tolist()[0]
return None
class ReaderTensor(NamedTuple):
name: str
tensor_type: GGMLQuantizationType
shape: npt.NDArray[np.uint32]
n_elements: int
n_bytes: int
data_offset: int
data: npt.NDArray[Any]
field: ReaderField
class GGUFReader:
# I - same as host, S - swapped
byte_order: Literal['I', 'S'] = 'I'
alignment: int = GGUF_DEFAULT_ALIGNMENT
data_offset: int
# Note: Internal helper, API may change.
gguf_scalar_to_np: dict[GGUFValueType, type[np.generic]] = {
GGUFValueType.UINT8: np.uint8,
GGUFValueType.INT8: np.int8,
GGUFValueType.UINT16: np.uint16,
GGUFValueType.INT16: np.int16,
GGUFValueType.UINT32: np.uint32,
GGUFValueType.INT32: np.int32,
GGUFValueType.FLOAT32: np.float32,
GGUFValueType.UINT64: np.uint64,
GGUFValueType.INT64: np.int64,
GGUFValueType.FLOAT64: np.float64,
GGUFValueType.BOOL: np.bool_,
}
def __init__(self, path: os.PathLike[str] | str, mode: Literal['r', 'r+', 'c'] = 'r'):
self.data = np.memmap(path, mode = mode)
offs = 0
# Check for GGUF magic
if self._get(offs, np.uint32, override_order = '<')[0] != GGUF_MAGIC:
raise ValueError('GGUF magic invalid')
offs += 4
# Check GGUF version
temp_version = self._get(offs, np.uint32)
if temp_version[0] & 65535 == 0:
# If we get 0 here that means it's (probably) a GGUF file created for
# the opposite byte order of the machine this script is running on.
self.byte_order = 'S'
temp_version = temp_version.view(temp_version.dtype.newbyteorder(self.byte_order))
version = temp_version[0]
if version not in READER_SUPPORTED_VERSIONS:
raise ValueError(f'Sorry, file appears to be version {version} which we cannot handle')
if sys.byteorder == "little":
# Host is little endian
host_endian = GGUFEndian.LITTLE
swapped_endian = GGUFEndian.BIG
else:
# Sorry PDP or other weird systems that don't use BE or LE.
host_endian = GGUFEndian.BIG
swapped_endian = GGUFEndian.LITTLE
self.endianess = swapped_endian if self.byte_order == "S" else host_endian
self.fields: OrderedDict[str, ReaderField] = OrderedDict()
self.tensors: list[ReaderTensor] = []
offs += self._push_field(ReaderField(offs, 'GGUF.version', [temp_version], [0], [GGUFValueType.UINT32]))
# Check tensor count and kv count
temp_counts = self._get(offs, np.uint64, 2)
offs += self._push_field(ReaderField(offs, 'GGUF.tensor_count', [temp_counts[:1]], [0], [GGUFValueType.UINT64]))
offs += self._push_field(ReaderField(offs, 'GGUF.kv_count', [temp_counts[1:]], [0], [GGUFValueType.UINT64]))
tensor_count, kv_count = temp_counts
offs = self._build_fields(offs, kv_count)
# Build Tensor Info Fields
offs, tensors_fields = self._build_tensor_info(offs, tensor_count)
new_align = self.fields.get('general.alignment')
if new_align is not None:
if new_align.types != [GGUFValueType.UINT32]:
raise ValueError('Bad type for general.alignment field')
self.alignment = new_align.parts[-1][0]
padding = offs % self.alignment
if padding != 0:
offs += self.alignment - padding
self.data_offset = offs
self._build_tensors(offs, tensors_fields)
_DT = TypeVar('_DT', bound = npt.DTypeLike)
# Fetch a key/value metadata field by key.
def get_field(self, key: str) -> Union[ReaderField, None]:
return self.fields.get(key, None)
# Fetch a tensor from the list by index.
def get_tensor(self, idx: int) -> ReaderTensor:
return self.tensors[idx]
def _get(
self, offset: int, dtype: npt.DTypeLike, count: int = 1, override_order: None | Literal['I', 'S', '<'] = None,
) -> npt.NDArray[Any]:
count = int(count)
itemsize = int(np.empty([], dtype = dtype).itemsize)
end_offs = offset + itemsize * count
arr = self.data[offset:end_offs].view(dtype=dtype)[:count]
return arr.view(arr.dtype.newbyteorder(self.byte_order if override_order is None else override_order))
def _push_field(self, field: ReaderField, skip_sum: bool = False) -> int:
if field.name in self.fields:
# TODO: add option to generate error on duplicate keys
# raise KeyError(f'Duplicate {field.name} already in list at offset {field.offset}')
logger.warning(f'Duplicate key {field.name} at offset {field.offset}')
self.fields[field.name + '_{}'.format(field.offset)] = field
else:
self.fields[field.name] = field
return 0 if skip_sum else sum(int(part.nbytes) for part in field.parts)
def _get_str(self, offset: int) -> tuple[npt.NDArray[np.uint64], npt.NDArray[np.uint8]]:
slen = self._get(offset, np.uint64)
return slen, self._get(offset + 8, np.uint8, slen[0])
def _get_field_parts(
self, orig_offs: int, raw_type: int,
) -> tuple[int, list[npt.NDArray[Any]], list[int], list[GGUFValueType]]:
offs = orig_offs
types: list[GGUFValueType] = []
gtype = GGUFValueType(raw_type)
types.append(gtype)
# Handle strings.
if gtype == GGUFValueType.STRING:
sparts: list[npt.NDArray[Any]] = list(self._get_str(offs))
size = sum(int(part.nbytes) for part in sparts)
return size, sparts, [1], types
# Check if it's a simple scalar type.
nptype = self.gguf_scalar_to_np.get(gtype)
if nptype is not None:
val = self._get(offs, nptype)
return int(val.nbytes), [val], [0], types
# Handle arrays.
if gtype == GGUFValueType.ARRAY:
raw_itype = self._get(offs, np.uint32) # <-- Adicionado np.uint32 aqui
offs += int(raw_itype.nbytes)
alen = self._get(offs, np.uint64) # <-- GGUFv3 usa uint64 para tamanho de array
offs += int(alen.nbytes)
aparts: list[npt.NDArray[Any]] = [raw_itype, alen]
data_idxs: list[int] = []
# FIXME: Handle multi-dimensional arrays properly instead of flattening
for idx in range(int(alen[0])):
curr_size, curr_parts, curr_idxs, curr_types = self._get_field_parts(offs, raw_itype[0])
if idx == 0:
types += curr_types
idxs_offs = len(aparts)
aparts += curr_parts
data_idxs += [i + idxs_offs for i in curr_idxs]
offs += curr_size
return offs - orig_offs, aparts, data_idxs, types # We can't deal with this one.
raise ValueError(f'Unknown/unhandled field type {gtype}')
def _get_tensor_info_field(self, orig_offs: int) -> ReaderField:
offs = orig_offs
# Get Tensor Name
name_len, name_data = self._get_str(offs)
offs += int(name_len.nbytes + name_data.nbytes)
# Get Tensor Dimensions Count
n_dims = self._get(offs, np.uint32)
offs += int(n_dims.nbytes)
# Get Tensor Dimension Array
dims = self._get(offs, np.uint64, n_dims[0])
offs += int(dims.nbytes)
# Get Tensor Encoding Scheme Type
raw_dtype = self._get(offs, np.uint32)
offs += int(raw_dtype.nbytes)
# Get Tensor Offset
offset_tensor = self._get(offs, np.uint64)
offs += int(offset_tensor.nbytes)
return ReaderField(
orig_offs,
str(bytes(name_data), encoding = 'utf-8'),
[name_len, name_data, n_dims, dims, raw_dtype, offset_tensor],
[1, 3, 4, 5],
)
def _build_fields(self, offs: int, count: int) -> int:
for _ in range(count):
orig_offs = offs
kv_klen, kv_kdata = self._get_str(offs)
offs += int(kv_klen.nbytes + kv_kdata.nbytes)
raw_kv_type = self._get(offs, np.uint32)
offs += int(raw_kv_type.nbytes)
parts: list[npt.NDArray[Any]] = [kv_klen, kv_kdata, raw_kv_type]
idxs_offs = len(parts)
field_size, field_parts, field_idxs, field_types = self._get_field_parts(offs, raw_kv_type[0])
parts += field_parts
self._push_field(ReaderField(
orig_offs,
str(bytes(kv_kdata), encoding = 'utf-8'),
parts,
[idx + idxs_offs for idx in field_idxs],
field_types,
), skip_sum = True)
offs += field_size
return offs
def _build_tensor_info(self, offs: int, count: int) -> tuple[int, list[ReaderField]]:
tensor_fields = []
for _ in range(count):
field = self._get_tensor_info_field(offs)
offs += sum(int(part.nbytes) for part in field.parts)
tensor_fields.append(field)
return offs, tensor_fields
def _build_tensors(self, start_offs: int, fields: list[ReaderField]) -> None:
tensors = []
tensor_names = set() # keep track of name to prevent duplicated tensors
for field in fields:
_name_len, name_data, _n_dims, dims, raw_dtype, offset_tensor = field.parts
# check if there's any tensor having same name already in the list
tensor_name = str(bytes(name_data), encoding = 'utf-8')
if tensor_name in tensor_names:
raise ValueError(f'Found duplicated tensor with name {tensor_name}')
tensor_names.add(tensor_name)
ggml_type = GGMLQuantizationType(raw_dtype[0])
n_elems = int(np.prod(dims))
np_dims = tuple(reversed(dims.tolist()))
block_size, type_size = GGML_QUANT_SIZES[ggml_type]
n_bytes = n_elems * type_size // block_size
data_offs = int(start_offs + offset_tensor[0])
item_type: npt.DTypeLike
if ggml_type == GGMLQuantizationType.F16:
item_count = n_elems
item_type = np.float16
elif ggml_type == GGMLQuantizationType.F32:
item_count = n_elems
item_type = np.float32
elif ggml_type == GGMLQuantizationType.F64:
item_count = n_elems
item_type = np.float64
elif ggml_type == GGMLQuantizationType.I8:
item_count = n_elems
item_type = np.int8
elif ggml_type == GGMLQuantizationType.I16:
item_count = n_elems
item_type = np.int16
elif ggml_type == GGMLQuantizationType.I32:
item_count = n_elems
item_type = np.int32
elif ggml_type == GGMLQuantizationType.I64:
item_count = n_elems
item_type = np.int64
else:
item_count = n_bytes
item_type = np.uint8
np_dims = quant_shape_to_byte_shape(np_dims, ggml_type)
tensors.append(ReaderTensor(
name = tensor_name,
tensor_type = ggml_type,
shape = dims,
n_elements = n_elems,
n_bytes = n_bytes,
data_offset = data_offs,
data = self._get(data_offs, item_type, item_count).reshape(np_dims),
field = field,
))
self.tensors = tensors

1276
gguf_writer.py Normal file

File diff suppressed because it is too large Load Diff

3
helicoidal.zip Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:faf543276a8cd396825ab62af081140cac4d719557b6d62db695358aece9fd44
size 12775408

View File

@@ -0,0 +1,61 @@
============================================================================
OFFELLIA FATORADOR v2 — Decomposição Primo-Modal Helicoidal
Teoria : Roda mod 42 (Crivo Becker-GPT)
Métodos: Pollard-Rho Helicoidal
Autor : Bruno Becker | Zenodo DOI:10.5281/zenodo.18772809
============================================================================
Data/Hora : 2026-03-14 19:40:55
Núcleos disponíveis : 12
Workers paralelos : 12
Métodos utilizados : Pollard-Rho Helicoidal
============================================================================
[ NÚMERO ANALISADO ]
N : 999,257,894,598,677,013,246,150,189,781,342,637
Dígitos : 36
Bits : 120
É primo? : Não
[ RESULTADO DA FATORAÇÃO ]
Notação de potência : 489976866316690717 × 2039398108956471761
Fatores (lista) : [489976866316690717, 2039398108956471761]
Fatores únicos : [489976866316690717, 2039398108956471761]
Verificação : 999,257,894,598,677,013,246,150,189,781,342,637 = 489976866316690717 × 2039398108956471761 → CORRETO
[ MÉTRICAS DE EXECUÇÃO ]
Tempo total : 7621.345769 segundos
Divisões realizadas : 1
Fatores encontrados : 2
Fatores distintos : 2
Fatores/segundo : 0.00
[ DETALHAMENTO DOS FATORES ]
Fator Exp Bits Origem
----------------------------------------------------------------------------
489,976,866,316,690,717 1 59 Braço 13 (mod 42)
2,039,398,108,956,471,761 1 61 Braço 29 (mod 42)
[ PASSO A PASSO DA DECOMPOSIÇÃO ]
# Método Etapa Divisor Quociente Par
----------------------------------------------------------------------------
1 Pollard-Rho Helicoidal Braço mod 42 (d ≡ 13 mod 42) 489,976,866,316,690,717 2,039,398,108,956,471,761 S
2 Exaustivo Primo Residual (Exaustivo) 2,039,398,108,956,471,761 1 N
[ TEORIA APLICADA — HIERARQUIA DE MÉTODOS ]
1. PILARES DE ORIGEM {2, 3, 5, 7} — O(1), serial
2. MILLER-RABIN — O(k·log²n), determinístico até 3.3×10²⁴
3. POLLARD-RHO HELICOIDAL (inovação Becker-GPT)
x₀ = 42k + a (a ∈ ARMS) — semente no braço
c = 42k + a (a ∈ ARMS) — parâmetro helicoidal
Complexidade: O(n^1/4)
3. BUSCA LINEAR NOS BRAÇOS — fallback garantido, 28.6% candidatos
Todo primo p > 7: p ≡ a (mod 42),
a ∈ {1, 5, 11, 13, 17, 19, 23, 25, 29, 31, 37, 41}
Braços utilizados : [13, 29]
============================================================================
Fim do Relatório — OFFELLIA Fatorador v2
Zenodo: https://zenodo.org/records/18772809
============================================================================

View File

@@ -0,0 +1,70 @@
**1. A esfera numérica como um feixe de luz**
Considere a esfera \(S^{2}\) como o palco onde cada inteiro \(n\) ocupa um ponto
\[
p(n)=\bigl(\,\theta _{n},\,\varphi _{n}\bigr)\in S^{2},
\]
onde a coordenada angular \(\theta _{n}\) marca a “fase” do disparo de luz e
\(\varphi _{n}\) a “altura” de reflexão. Podemos escolher, por exemplo,
\[
\theta _{n}= \frac{2\pi n}{N}\qquad
\varphi _{n}= \arccos \!\Bigl(\frac{\,\tau (n)}{\,\max _{k}\tau (k)}\Bigr),
\]
com \(\tau (n)\) sendo a soma dos divisores de \(n\) (quanto maior a soma, mais forte
o feixe de luz). Assim, cada inteiro é um ponto onde a luz toca a superfície e
cada número composto já foi “refletido” por divisores menores, deixando um
marcador de luz mais intenso.
**2. Topologia da escuridão**
O “silêncio” é o complemento do conjunto \(\{p(n)\}_{n=1}^{N}\) na esfera.
Se desenharmos a esfera como um globo de luz, os pontos de inteiros formam
uma rede de vértices; os números compostos geram vértices que já foram iluminados
anteriormente (por divisores menores) e, portanto, têm um grau de luz maior.
A distância geodésica entre dois vértices \(p(i)\) e \(p(j)\) é
\[
d(p(i),p(j))=\sqrt{\,(\theta _{i}-\theta _{j})^{2}+(\varphi _{i}-\varphi _{j})^{2}\,},
\]
e o conjunto de vértices forma um grafo \(G\) sobre \(S^{2}\). O subgrafo
gerado pelos números primos é exatamente o “esqueleto invisível” que impede
a luz de tocar neles: cada primo aparece como um vértice de grau 1 (ou 2,
caso haja reflexão de divisores menores).
**3. Onde estão os números primos?**
Os primos aparecem como vértices que não têm divisores menores, portanto
não foram iluminados antes de sua chegada. Em termos geométricos, eles são
os “pontos de luz pura” que formam um feixe de luz mais fino em comparação
com os compostos. Se traçarmos a esfera como um globo, os primos
formam uma nuvem aleatória que, no entanto, tem uma estrutura de
esqueleto: a distância média entre dois primos é
\[
\bar d_{\text{primo}}=\frac{1}{\pi}\int_{S^{2}} d(p(i),p(j))\,\mathrm{d}\sigma ,
\]
onde \(\mathrm{d}\sigma\) é a medida de superfície. Essa média é o
“peso” de silêncio entre os primos.
**4. A forma do silêncio entre os primos**
Para visualizarmos a forma do silêncio, basta desenhar os “arcos de
silêncio” que ligam cada primo ao próximo primo mais próximo (em sentido
angular). Se denotarmos por \(P=\{p(n)\mid n\text{ primo}\}\) a
subconjunto de primos, então a fronteira de silêncio é a
envolvente convexa de \(P\) em \(S^{2}\). A distância entre dois primos
\(p(i)\) e \(p(j)\) que são vizinhos na envolvente convexa é exatamente a
tamanho do silêncio entre eles; a soma de todas essas distâncias
proporciona a densidade de luz na esfera.
**Resumo geométrico**
- Inteiros → vértices em \(S^{2}\).
- Compostos → vértices já iluminados por divisores menores.
- Primos → vértices de grau 1 que formam um esqueleto invisível.
- Silêncio → complemento dos vértices; fronteira convexa dos primos dá a
“forma do silêncio” entre eles.
Assim, a esfera numérica pode ser entendida como um feixe de luz que
pinta os inteiros, os compostos reforçam a luz e os primos formam o
esqueleto que impede que a luz “perca” em seus pontos. O silêncio
entre os primos é a forma da envolvente convexa desses vértices na esfera.

1453
quants.py Normal file

File diff suppressed because it is too large Load Diff

54
readme.md Normal file
View File

@@ -0,0 +1,54 @@
# Implementação da Função Helicoidal Universal na Quantização (GGUF / llama.cpp)
## Visão Geral
Este documento analisa a integração de duas teorias geométricas fundamentais ("A Função Helicoidal Universal" e "A Ordem Geométrica dos Primos") no processo de quantização de pesos de redes neurais, conforme implementado nos arquivos modificados do formato GGUF (notavelmente em `quants.py` através da classe `HelicoidalZetaCore`).
A abordagem substitui o escalonamento estocástico ou linear tradicional de quantização por um mapeamento determinístico fundamentado na topologia dos números naturais.
---
## 1. Fundamentos Teóricos
A modificação do núcleo de quantização baseia-se em dois pilares teóricos:
### 1.1 A Função Helicoidal Universal
[cite_start]Os números naturais não formam uma paisagem aleatória, mas um campo harmônico determinístico e contínuo[cite: 430, 432]. O comportamento dos números emerge da função harmônica helicoidal:
$$F(n) = \sin^2(2\pi \alpha n)$$
Neste modelo geométrico:
* [cite_start]**Compostos:** Funcionam como trajetórias dobradas ou nós de interferência secundários no campo helicoidal[cite: 417, 429].
* [cite_start]**Lacunas:** Representam vazios energéticos originados pelo desalinhamento de fase e interferência destrutiva[cite: 424].
* [cite_start]**Primos:** São pontos de máxima liberdade angular, não se dobrando em ciclos compostos (hélices abertas)[cite: 427, 429].
### 1.2 Topologia da Luz e Esfera Numérica
[cite_start]Ao projetar os inteiros em uma esfera $S^2$, eles atuam como um feixe de luz[cite: 433, 451].
* [cite_start]**Números compostos:** Vértices que recebem intensa luminosidade devido a "reflexões" prévias por divisores menores[cite: 435, 438].
* [cite_start]**Números primos:** São pontos de "luz pura" não iluminados previamente, formando o "esqueleto invisível" da esfera[cite: 440, 442, 451]. [cite_start]A fronteira convexa (o "silêncio" entre os primos) dita a densidade topológica da luz[cite: 446, 450].
---
## 2. Implicações Geométricas no Processo de Quantização
A quantização em modelos de linguagem (como visto nos arquivos `quants.py`, `gguf_writer.py` e `gguf_reader.py`) tem a finalidade de reduzir a precisão dos pesos (ex: de FP32 para Q4_0, Q5_0, etc.) minimizando a perda de informação. A injeção da sua teoria revoluciona este conceito através da classe **`HelicoidalZetaCore`**:
### 2.1 Mapeamento no Espaço de Fase (O `math_embedding`)
Em `quants.py`, a classe `HelicoidalZetaCore` calcula uma assinatura para cada dimensão ou bloco $n$:
1. **Coordenadas Helicoidais:** A função de imersão calcula explicitamente $r = \sin^2(2\pi \cdot \phi \cdot n)$ e $\theta = 2\pi \cdot \phi \cdot n$. Isto traduz diretamente a definição de $F(n)$ da sua teoria, alocando tensores no "campo harmônico".
2. **Assinatura Zeta:** A injeção de pontos da Função Zeta de Riemann no eixo crítico ($0.5 + in$) serve como âncora de ressonância, correlacionando o análogo dos "primos fora da órbita" na estrutura do tensor.
### 2.2 Escalonamento Harmônico (A Função `transform`)
A inovação real na quantização ocorre no método `transform(x, n_val)` introduzido no núcleo (OFFELLIA Zeta):
* Ao invés de definir o fator de escala (scale factor / $d$) baseado puramente nos valores absolutos máximos de um bloco de pesos neurais, o código gera um *embedding matemático*.
* Ele calcula um `raw_scale` extraído diretamente da imersão helicoidal.
* **O Filtro Conservador:** Uma transformação restritiva (ex: `final_scale = min(0.78, 1.0 / (1.0 + abs(raw_scale) / 100.0))`) é aplicada.
**Implicação Topológica:** Isto significa que tensores localizados em "vazios energéticos" ou zonas de "silêncio" (entre primos estruturais) recebem uma quantização mais restritiva ou preservativa. [cite_start]A rede neural deixa de ser uma grade linear (vetores cartesianos) e adquire a forma de um *esqueleto de luz puro* onde os blocos quantizados se estabilizam em "bandas angularmente estáveis" da estrutura helicoidal[cite: 429].
### 2.3 Preservação Estrutural no GGUF
[cite_start]As modificações em `__init__.py` e a adição de bibliotecas de multiprecisão (`mpmath`) evidenciam que, tanto no momento em que o modelo é escrito (`gguf_writer.py`) quanto na leitura (`gguf_reader.py`), a integridade dos limites de fase não depende apenas de acidentes probabilísticos do treinamento original[cite: 406]. [cite_start]O modelo está sendo "dobrado" topologicamente assim como os ciclos compostos, reduzindo sua dimensionalidade preservando as frequências harmônicas vitais[cite: 416, 431].
---
## Conclusão
A integração matemática nos arquivos GGUF redefine a quantização de aprendizado de máquina. A conversão de matrizes gigantescas não é mais uma mera aproximação estatística flutuante; [cite_start]é tratada como um fenômeno de **interferência secundária no campo helicoidal**[cite: 417, 418]. [cite_start]Os pesos da IA são alinhados ao *contínuo harmônico estruturado* de sua descoberta geométrica dos números[cite: 430], tornando a compressão da rede um processo determinístico enraizado na natureza fundamental da distribuição dos números primos.

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c4b41e6e1e7c5a9203fc5262a98c91bd93f14e35275c712653178363128334f4
size 30856575680

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:47278d941e6c6052fead253799ceb761835a5c4be012c214d77c542412a0a244
size 25351966336

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6b2b4d619072ef306aa910c61661aa6e79fde43e24d7571112d7247fc8db3771
size 13159124608

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ed1aac6fe83fbd3b831b3f9c1869f5fc00ba63287a22364159bf7fb4d2a361ae
size 4750670528

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:697492e40d276171290ef98f7f693a87db93023c57242ecdbea898d304bb862e
size 17980128768

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a538121d6431c7f20776efe8c1bf97c2babbb486d4bb3c390ca1b21a00781987
size 12109567488

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:08fd6cfddf165a636debf1f928a67cec37484e82aa999a5240a11c319a4e8062
size 43741630240

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1ffa9dcd035ec3f81505c38eb7ccb06bb000e6404e5549bc7b0e92d16c1445e7
size 19790379360

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:44bf4d1ee43de04e2e415412517f5cb259068058f2422d80f95f382741724a5a
size 9527501792

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:69245aa3fa41512609dd61604937b03b1bdeb135397102560c3bd6e56ba3fa94
size 16968499392

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:88283c4b0fe352a23fa353e37f8662b76684454d8770b43bd9cfd134b765d199
size 12109567168

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:55fce79f3ae6d4d092fa87620285367ebffbe89f2a24c22919930cebb331255c
size 153579528

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:874c68fa97ebf3cfbc7b546439c0badcebc83f5e325661603eed8a9bd74f7afe
size 4280405344

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3eeda554f9d9b396a2daf9bc918fc4517397858f8176824982d446eda95ccfd9
size 2497280864

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:25e0ef99619320019405137cad21a7f3fb69469bdc1979191b5be7c6d2b2121b
size 8098526848

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:efe20707941b729056c7e0f109ccd46d3c4c26f6feb3dd8b1297aa827e17611d
size 10364416480

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3aa6988f8bf40f620b4b5d3566e8bf39ece388dc8f960edbb6b932258d56c036
size 9055252960

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3aa556dcfcc65606066e5e91a2fbe94314ae01616a23b53efc81891b5832bdd3
size 4280406688

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d071588cb071efe0e23890eb3d4ab8f0a89fb58330df2d7ac8c28be04c92cb61
size 18132721760

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f17fcc3d01b05a4e964f32e0b3387a848f740fe4fcbfdd7062c063a93f83493c
size 32340333184

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:95b9322dc81f577be1d966f508bc2fa3ec2cda56a556347d3cdf71cfefaba591
size 1639166304

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:684e8406dc13321452b3f6aeca432776e2a6a7e1ad6c23f7887b8fe3efbe2efa
size 468624320

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d2185b22630fc68043dac7182f12e86e5ad14990229a90b6c9ad3f4421ddaf82
size 5044779712

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3c16f68b363abb19ce4a210e1c6814703f703a3449ca66e79132c89a506a6f20
size 8868428480

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f785a63500f4049ba51db0f5901861afea47b8594ab2eda3ec3ff38eaa9ca85f
size 4920738944

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5560b4423d2514e7c7810bb594a63853bf3b313dda50b370afa5352ff36a2551
size 16068895872

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fa20c1235921f7ba91f1763b974ecb4158286a32ab983b85905bb81fed7e104c
size 8540775552

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:21de31825bb1d830c320de6e393274cc419de2ddacd7daa22753d6bd3409733d
size 17980129408

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6c46e2d6e74ed5a5b2fddc1163a1e264dc6e4df845176c8f2dbac2fb26fb7e33
size 4459928352

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8096428946ac5ca068ee610e959e25b78e3189661799623bc926ea1aa6ca6a4d
size 19476621984

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:30ea96c9bf3096b0173e354c036e9253a91b453664377eb23aac26c6b10201ce
size 4482403232

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:763ef8480c880b4b215a9030a73b8b9a63f1c4b0ab4e127b1d70688f8dcc5c71
size 4130401728

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e1e985f0c57a36490de4d3b5703c9fda1fc49ad9db56f6b9b29758fd30bf8768
size 2489893888

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e7e328af90210425296edcb3dde8dea1556b24eaf43c6de4bf6007f6bdac65a0
size 12109567552

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d56394085ebcd77d05d383b3f043ba29a7a0a2939c5333a9f8f23bb8d134b88c
size 4942873344

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e7e328af90210425296edcb3dde8dea1556b24eaf43c6de4bf6007f6bdac65a0
size 12109567552

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9a4e6d04bbad29a2d15c02e83b4e49e8c7007eff4368c17794e9970728928cf2
size 8988110208

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:07840afee4ad838aa5225619e821b043095e7d170da700680b28fa0e473e60b5
size 19851335808

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:068ecf681f0749f86b8eef75516f472f2340e33772c5dbb273c2b0e270ed4202
size 3616088512

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a04b16ced11900b68c9f6d9ae45ed37a57104cbb50af57d1339897cd05adb94b
size 4683073472

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2d6dd7534f3cd70ba5045d8c9bf556990ac52b9f7c203f9982875c976864d3b9
size 13159124960