Repositório com algumas anotações e ideias pessoais.:
Para intervalos vamos definir similaridade de forma a comparar caracteristica de abertura/fechamento:
E também iremos definir:
Vamos definir um conjunto
- Intervalos fechados:
$I_n = [a_n, a_n + \delta]$ - Intervalos abertos:
$I_n = (a_n, a_n + \delta)$ - Intervalos semi-abertos (semi-fechados):
$I_n = [a_n, a_n + \delta)$ ou$I_n = (a_n, a_n + \delta]$
onde
Podemos definir o conjunto
-
Intervalos de Tamanho Constante: Todos os intervalos
$I_n$ têm o mesmo comprimento$\delta$ . -
Intervalos Separados: A distância entre dois intervalos consecutivos
$I_n$ e$I_{n+1}$ é$d$ . -
Infinito: O conjunto
$S$ é infinito porque é a união de uma sequência infinita de intervalos.
O complemento de
- Os intervalos complementares
$J_n$ são os intervalos entre os intervalos$I_n$ . - Se
$I_n = [a_n, a_n + \delta]$ , então$J_n = (a_n + \delta, a_{n+1}) = (a_n + \delta, a_n + \delta + d)$ . - Se
$I_n = (a_n, a_n + \delta)$ , então$J_n = [a_n + \delta, a_{n+1}] = [a_n + \delta, a_n + \delta + d]$ . - Se
$I_n = [a_n, a_n + \delta)$ , então$J_n = [a_n + \delta, a_{n+1}) = [a_n + \delta, a_n + \delta + d)$ . - Se
$I_n = (a_n, a_n + \delta]$ , então$J_n = (a_n + \delta, a_{n+1}] = (a_n + \delta, a_n + \delta + d]$ .
Temos como propriedade de caso o conjunto for left-open e right-closed, o complemento também será left-open e right closed, da mesma forma se ele for right open e left closed o complemento também será intervalos right open e left closed, já conjuntos abertos tem complementos fechados e fechados tem complementos abertos, logo:
O conjunto
onde
Vamos tomar
- Para intervalos fechados:
$I_n = [2n, 2n+2]$ . - Os intervalos complementares são
$J_n = (2n+2, 2n+3)$ .
Então:
Vamos tomar
- Para intervalos fechados:
$I_n = [n\pi - \frac{\pi}{4}, n\pi + \frac{\pi}{4}]$ . - Os intervalos complementares são
$J_n = (n\pi + \frac{\pi}{4}, n\pi + \frac{3\pi}{4})$ .
Então:
Que também equivale que S é
Dado
Utilizando notação de iverson, temos como equivalente.
Para garantir que
Ou seja
Com essa nova definição de
# Função piecewise definida em Python
def f(x, propositions, functions):
k = len(functions) - 1
for i in range(k):
if propositions[i](x):
return functions[i](x)
return functions[k](x)
propositions = [
lambda x: x < 0,
lambda x: x >= 0 and x < 5
#, lambda x: x >= 5
]
functions = [
lambda x: x**2,
lambda x: 3*x + 1,
lambda x: -x + 10
]
print(f(-2, propositions, functions)) # Deve usar a primeira função: (-2)^2 = 4
print(f(3, propositions, functions)) # Deve usar a segunda função: 3*3 + 1 = 10
print(f(6, propositions, functions)) # Deve usar a terceira função: -6 + 10 = 4
Dado sequencias de proposições lógicas
Logo:
Escolhemos um valor
Sabemos que
Sabemos que
implica em:
Combinando os resultados anteriores, para todo
Portanto, segue que:
Reescrevendo
Dada uma função
Note que para todo
Neste caso, transformamos uma função qualquer em uma função piecewise, e suas subfunções podem ou não ter uma definição igual à de
Vamos provar que
Para cada
Dado:
Por definição de
Logo:
Para todo
O inverso desse processo lógico também é válido.
Portanto, mostramos que uma função
Dado sequências de proposições lógicas
onde cada
Vamos simplificar essa expressão substituindo
Podemos juntar as condições para os valores de
Se
Portanto, ao assumirmos que
Dado a função do valor absoluto definida como:
Também definimos a função de teto da seguinte forma: dado
Portanto,
Podemos então considerar a seguinte composição:
Dado a função do valor absoluto definida como:
Também definimos a função de teto da seguinte forma: dado
Portanto,
Podemos então considerar a seguinte composição:
Reescrevendo:
Suponhamos que
Como
Que são Conjunto dos Intervalos Repetidos Infinitos Complementares, aonde
Dado
Outra definição equivalente seria:
Se
Repare que também que para todo
Com isso podemos definir a função de permutação de espaços densos
De forma intuitiva a função pode ser tanto composta de infinitas permutações de pares de elementos (é um produtório de composição de funções) ou também pode ser definida de forma que
Considere
Vamos definir dois intervalos:
$$I_1 = [0, 1]$$ $$I_2 = [2, 3]$$
Agora, vamos aplicar a permutação
Exemplos:
$p_{1,2}(0.5) = 0.5 + 2 = 2.5$ $p_{1,2}(2.5) = 2.5 - 2 = 0.5$ -
$p_{1,2}(4) = 4$ (não está em nenhum dos intervalos)
Vamos criar uma sequência de intervalos e duas sequências de números naturais:
Intervalos:
Agora, definimos
Formalmente, podemos escrever:
Vamos aplicar
-
$\sigma(0.5):$ -
$p_{3,1}(0.5) = 0.5$ (não está em$I_3$ nem em$I_1$ ) -
$p_{2,3}(0.5) = 0.5$ (não está em$I_2$ nem em$I_3$ ) -
$p_{1,2}(0.5) = 2.5$ (está em$I_1$ ) Resultado:$$\sigma(0.5) = 2.5$$
-
-
$\sigma(2.5):$ -
$p_{3,1}(2.5) = 2.5$ (não está em$I_3$ nem em$I_1$ ) -
$p_{2,3}(2.5) = 4.5$ (está em$I_2$ ) -
$p_{1,2}(4.5) = 4.5$ (não está em$I_1$ nem em$I_2$ ) Resultado:$\sigma(2.5) = 4.5$
-
-
$\sigma(4.5):$ -
$p_{3,1}(4.5) = 0.5$ (está em$I_3$ ) -
$p_{2,3}(0.5) = 0.5$ (não está em$I_2$ nem em$I_3$ ) -
$p_{1,2}(0.5) = 2.5$ (está em$I_1$ ) Resultado:$\sigma(4.5) = 2.5$
-
Observe que esta permutação
- Elementos de
$I_1$ são movidos para$I_2$ - Elementos de
$I_2$ são movidos para$I_3$ - Elementos de
$I_3$ são movidos para$I_1$
Elementos fora desses intervalos permanecem inalterados, ou seja,
Podemos verificar que
Para que não tenha confusões com notação já conhecida
também:
A mesma notação também pode ser utilizada para demais funções trigonométricas.
-
Subrelação 1.1
Para dominio$x \in [n\pi - \frac{\pi}{4}, n\pi + \frac{\pi}{4}]$ aonde$n$ é numero inteiro temos:
$\arccos(\tan(x)) + \arcsin(\tan(x)) = \frac{\pi}{2}$ -
Subrelação 1.2
Para dominio$x \in [\cos(1), 1]$ temos:
$\arccos(\arccos(x))+\arcsin(\arccos(x)) = \frac{\pi}{2}$ -
Subrelação 1.3
Para dominio$x \in [-\sin(1), \sin(1)]$ temos:
$\arccos(\arcsin(x))+\arcsin(\arcsin(x)) = \frac{\pi}{2}$
Para todos os outros valores de
Aqui está uma implementação eficiente da função, utiliza modulo ao invés de gambiarras matématicas, ignore a formula anterior e de preferencia a essa:
tau = 2 * math.pi
half_pi = math.pi / 2
def arcsin_cos(x):
x_normalized = x % tau
return half_pi - x_normalized if x_normalized < math.pi else x_normalized - 3 * half_pi
Implementação eficiente desta função, usando a mesma lógica que o anterior:
tau = 2 * math.pi
half_pi = math.pi / 2
def arccos_sin(x):
x_normalized = (x + 3*half_pi) % tau
return x_normalized if x_normalized < math.pi else -x_normalized + tau
A função
Também para
A função
A função
Para todos o
tau = 2 * math.pi
half_pi = math.pi / 2
def arcsin_sin(x):
x_normalized = (x + 3*half_pi) % tau
return half_pi - x_normalized if x_normalized < math.pi else x_normalized - 3*half_pi
def arccos_cos(x):
x_normalized = (x + math.pi) % tau
return math.pi - x_normalized if x_normalized < math.pi else x_normalized - math.pi
E para todo
É importante deixar claro que a mesma relação que ocorre com seno não ocorre com cosseno ou seja
Fácilmente observavel através de propriedades básicas da trigonometria:
Esse gráfico vou chamar de fire-wave pela aparencia, dado
A seguinte condicional foi criada de forma a reparar a simetria.
TODO: Inversas precisas TODO: Relação entre condicionais e uniões de conjuntos.
Implementação que retorna um ponto dado a triangle wave:
def triangle_wave_point(t, frequency, amplitude):
"""
Generate a single point of a triangle wave.
:param t: Time point
:param frequency: Frequency of the triangle wave in Hz
:param amplitude: Amplitude of the triangle wave
:return: The amplitude of the triangle wave at time t
"""
t_mod = (t % (1.0 / frequency)) * frequency
if t_mod < 0.5:
return 4 * amplitude * t_mod - amplitude
else:
return -4 * amplitude * t_mod + 3 * amplitude
Suponha que temos uma função arbitrária
(Algumas pessoas podem estar acostumadas com notação de congruencia, é importante saber que essa notação também é válida).
Dado
para