Artigos

27.2: B1.02: Seção 1 - Matemática


Use a propriedade distributiva e outras propriedades para simplificar as expressões e verificar o seu trabalho.

Propriedade distributiva:

Para qualquer número real uma, b, e c: uma(b + c) = ab + ac.

Para qualquer número real uma, b, e c: uma(bc) = abac

O fato de duas expressões serem iguais significa que elas são iguais para quaisquer valores da variável. Portanto, você pode verificar tomando alguns valores para a variável e certificando-se de que eles tornam os dois lados iguais. Normalmente não usamos os valores 0 ou 1 ou 2 como o valor da variável e é melhor evitar números que já aparecem no problema.

Exemplo 1

Simplificar .

[revelar-resposta q = ”894348 ″] Mostrar resposta [/ revelar-resposta]
[resposta oculta a = ”894348 ″]

Solução:

Verificação parcial: usar

[/ resposta-oculta]

Exemplo 2

Simplificar .

[revelar-resposta q = ”113961 ″] Mostrar resposta [/ revelar-resposta]
[resposta oculta a = ”113961 ″]

Solução:

Verificação parcial: usar

[/ resposta oculta]

Exemplo 3

Simplificar .

[revelar-resposta q = ”802251 ″] Mostrar resposta [/ revelar-resposta]
[resposta oculta a = ”802251 ″]

Solução:

Verificação parcial: usar

[/ resposta oculta]

Exemplo 4

Simplificar .

[revelar-resposta q = ”785026 ″] Mostrar resposta [/ revelar-resposta]
[resposta oculta a = ”785026 ″]

Solução:

Verificação parcial: usar

[/ resposta oculta]

Cuidado: Verificar seu trabalho em problemas como esses não é totalmente satisfatório, porque os alunos que cometem um erro na solução original geralmente cometem um erro correspondente no processo de verificação. Portanto, o fato de ele verificar não fornece total confiança de que a solução está correta. Mas ainda é uma boa ideia verificar porque você irá detectar a maioria dos seus erros.

Conteúdo licenciado CC, compartilhado anteriormente

  • Matemática para modelagem. De autoria de: Mary Parker e Hunter Ellinger. Licença: CC BY: Atribuição

O projeto Stacks

Lema 27.2.1. Seja $ S $ um esquema. Vamos $ mathcal$ seja uma base para a topologia de $ S $. Suponha dados os seguintes dados:

Para cada $ U in mathcal$ a esquema $ f_ U: X_ U a U $ sobre $ U $.

Por $ U, V in mathcal$ com $ V subconjunto U $ a morfismo $ rho ^ U_ V: X_ V a X_ U $ sobre $ U $.

cada $ rho ^ U_ V $ induz um isomorfismo $ X_ V a f_ U ^ <-1> (V) $ de esquemas sobre $ V $,

sempre que $ W, V, U in mathcal$, com $ W subconjunto V subconjunto U $ temos $ rho ^ U_ W = rho ^ U_ V circ rho ^ V_ W $.

Então existe um morfismo $ f: X para S $ de esquemas e isomorfismos $ i_ U: f ^ <-1> (U) para X_ U $ sobre $ U in mathcal$ tal que para $ V, U in mathcal$ com $ V subset U $ a composição

é o morfismo $ rho ^ U_ V $. Além disso, $ X $ é único até um isomorfismo único sobre $ S $.

Prova. Para provar isso, usaremos Esquemas, Lema 26.15.4. Primeiro, definimos um functor contravariante $ F $ da categoria de esquemas para a categoria de conjuntos. Ou seja, para um esquema $ T $ que definimos

O mapeamento de restrição $ F (T) a F (T ') $ dado um morfismo $ T' a T $ é apenas obtido por composição. Para qualquer $ W in mathcal$ consideramos o subfunctor $ F_ W subconjunto F $ consistindo daqueles sistemas $ (g, ) $ tal que $ g (T) subconjunto W $.

Primeiro, mostramos que $ F $ satisfaz a propriedade do feixe para a topologia Zariski. Suponha que $ T $ seja um esquema, $ T = bigcup V_ i $ é uma cobertura aberta e $ xi _ i in F (V_ i) $ é um elemento tal que $ xi _ i | _ = xi _ j | _$. Diga $ xi _ i = (g_ i, >) $. Então, vemos imediatamente que os morfismos $ g_ i $ aderem a um único morfismo global $ g: T a S $. Além disso, é claro que $ g ^ <-1> (U) = bigcup g_ i ^ <-1> (U) $. Daí os morfismos $ h_ : g_ i ^ <-1> (U) a X_ U $ cole a um morfismo único $ h_ U: g ^ <-1> (U) a X_ U $. É fácil verificar que o sistema $ (g, ) $ é um elemento de $ F (T) $. Portanto, $ F $ satisfaz a propriedade do feixe para a topologia Zariski.

Em seguida, verificamos que cada $ F_ W $, $ W in mathcal$ é representável. Ou seja, afirmamos que a transformação de functores

é um isomorfismo. Para ver isso, suponha que $ T $ seja um esquema e $ alpha: T to X_ W $ seja um morfismo. Defina $ g = f_ W circ alpha $. Para qualquer $ U in mathcal$ de forma que $ U subset W $ podemos definir $ h_ U: g ^ <-1> (U) para X_ U $ ser a composição $ ( rho ^ W_ U) ^ <-1> circ alpha | _(U)> $. Isso funciona porque a imagem $ alpha (g ^ <-1> (U)) $ está contida em $ f_ W ^ <-1> (U) $ e na condição (a) do lema. É claro que $ f_ U circ h_ U = g | _(U)> $ para tal $ U $. Além disso, se também $ V in mathcal$ e $ V subconjunto U subconjunto W $, então $ rho ^ U_ V circ h_ V = h_ U | _(V)> $ pela propriedade (b) do lema. Ainda temos que definir $ h_ U $ para um elemento arbitrário $ U in mathcal$. Desde $ mathcal$ é uma base para a topologia em $ S $ podemos encontrar uma abertura cobrindo $ U cap W = bigcup U_ i $ com $ U_ i in mathcal$. Como $ g $ mapeia em $ W $, temos $ g ^ <-1> (U) = g ^ <-1> (U cap W) = bigcup g ^ <-1> (U_ i) $. Considere os morfismos $ h_ i = rho ^ U_ circ h_ : g ^ <-1> (U_ i) a X_ U $. É uma questão simples usar a condição (b) do lema para provar que $ h_ i | _(U_ i) cap g ^ <-1> (U_ j)> = h_ j | _(U_ i) cap g ^ <-1> (U_ j)> $. Portanto, esses morfismos se colam para dar o morfismo desejado $ h_ U: g ^ <-1> (U) a X_ U $. Omitimos a verificação (fácil) de que o sistema $ (g, ) $ é um elemento de $ F_ W (T) $ que mapeia para $ alpha $ sob a seta exibida acima.

A seguir, verificamos que cada $ F_ W subconjunto F $ é representável por imersões abertas. Isso fica claro nas definições.

Finalmente, temos que verificar a coleção $ (F_ W) _> $ cobre $ F $. Isso é claro pela construção e pelo fato de que $ mathcal$ é uma base para a topologia de $ S $.

Seja $ X $ um esquema que representa o functor $ F $. Seja $ (f, ) in F (X) $ uma “família universal”. Uma vez que cada $ F_ W $ é representável por $ X_ W $ (via morfismo de functores exibidos acima), vemos que $ i_ W: f ^ <-1> (W) a X_ W $ é um isomorfismo como desejado. O lema está provado. $ square $


Comentários (3)

Comentário nº 2540 de Noah Olander em 13 de maio de 2017 às 19:15

Na última frase da declaração do lema 26.2.1 você escreveu "para afinidade aberta", quando deveria ter escrito "para tal que"

Comentário nº 2548 de Dario Weißmann em 21 de maio de 2017 às 22:39

Em 26.2.1 e 26.2.2: Não acho que o construído seja único, apenas único até um isomorfismo único. O comentário de Noah Olander também deve se aplicar a 26.2.2.

Comentário nº 2573 de Johan em 25 de maio de 2017 às 19:22


27.2: B1.02: Seção 1 - Matemática

Funções aritméticas são termos avaliados pelos predicados aritméticos descritos na seção 4.27.2. Existem quatro tipos de argumentos para funções:

Expr Expressão arbitrária, retornando um valor de ponto flutuante ou um número inteiro.
IntExpr Expressão arbitrária que deve ser avaliada como um inteiro.
RatExpr Expressão arbitrária que deve ser avaliada como um número racional.
FloatExpr Expressão arbitrária que deve ser avaliada como um ponto flutuante.

Para sistemas que usam aritmética de número inteiro limitado (o padrão é ilimitado, consulte a seção 4.27.2.1 para obter detalhes), as operações de número inteiro que causariam estouro são convertidas automaticamente em aritmética de ponto flutuante.

SWI-Prolog fornece muitas extensões para o conjunto de funções de ponto flutuante definidas pelo padrão ISO. A política atual é fornecer tais funções "conforme necessário" se a função for amplamente suportada em outro lugar e, principalmente, se fizer parte da biblioteca matemática C99. Além disso, tentamos manter a compatibilidade com o YAP. [ISO] - + Resultado Expr = - Expr [ISO] + + Resultado Expr = Expr. Observe que se + for seguido por um número, o analisador descarta o +. Ou seja, ? - inteiro (+1) bem-sucedido. [ISO] + Expr1 + + Expr2 Resultado = Expr1 + Expr2 [ISO] + Expr1 - + Expr2 Resultado = Expr1 - Expr2 [ISO] + Expr1 * + Expr2 Resultado = Expr1 × Expr2 [ISO] + Expr1 / + Expr2 Resultado = Expr1 / Expr2. Se o sinalizador iso for verdadeiro ou um dos argumentos for um float, ambos os argumentos serão convertidos em float e o valor de retorno será um float. Caso contrário, o tipo de resultado depende do sinalizador Prolog prefer_rationals. Se verdadeiro, o resultado é sempre um número racional. Se falso, o resultado é racional se pelo menos um dos argumentos for racional. Caso contrário (ambos os argumentos são inteiros), o resultado será inteiro se a divisão for exata e flutuante caso contrário. Consulte também a seção 4.27.2.2, /// 2 e rdiv / 2.

O padrão atual para o sinalizador Prolog prefer_rationals é falso. A versão futura pode mudar isso para verdadeiro, fornecendo resultados precisos quando possível. A armadilha é que, em geral, a aritmética racional é mais lenta e pode se tornar muito lenta e produzir números enormes que requerem muita memória (pilha global). O código para o qual os resultados exatos fornecidos por números racionais não são necessários deve forçar os resultados de float fazendo um dos operantes flutuar, por exemplo, dividindo por 10,0 em vez de 10 ou usando float / 1. Observe que quando um dos argumentos é forçado a um float, a divisão é uma operação de float, enquanto se o resultado for forçado a um float, a divisão é feita usando aritmética racional.

[ISO] + IntExpr1 mod + IntExpr2 Módulo, definido como Resultado = IntExpr1 - (IntExpr1 div IntExpr2) × IntExpr2, onde div é pavimentado divisão. [ISO] + IntExpr1 rem + IntExpr2 Restante da divisão inteira. Se comporta como se definido por Resultado é IntExpr1 - (IntExpr1 // IntExpr2) × IntExpr2 [ISO] + IntExpr1 // + IntExpr2 Divisão inteira, definida como Resultado é rnd_I (Expr1 / Expr2). A função rnd_I é o arredondamento padrão usado pelo compilador C e está disponível por meio do sinalizador Prolog integer_rounding_function. No padrão C99, o arredondamento C é definido como em direção a zero. 115 As versões futuras podem garantir arredondamento para zero. [ISO] div(+ IntExpr1, + IntExpr2) Divisão inteira, definida como Result is (IntExpr1 - IntExpr1 mod IntExpr2) // IntExpr2. Em outras palavras, essa é uma divisão inteira arredondada para -infinity. Esta função garante um comportamento consistente com mod / 2, ou seja, o seguinte é válido para cada par de inteiros X, Y, onde Y = = 0. + RatExpr rdiv + RatExpr Divisão de número racional. Esta função está disponível apenas se SWI-Prolog foi compilado com suporte de número racional. Consulte a seção 4.27.2.2 para obter detalhes. + IntExpr1 gcd + IntExpr2 Result é o maior divisor comum de IntExpr1 e IntExpr2. O GCD é sempre um número inteiro positivo. Se qualquer uma das expressões for avaliada como zero, o GCD é o resultado da outra expressão. + IntExpr1 lcm + IntExpr2 Result é o mínimo múltiplo comum de IntExpr1, IntExpr2. bug Se o sistema for compilado para inteiros limitados, apenas lcm / 2 produz um estouro de inteiro se o produto das duas expressões não couber em um inteiro assinado de 64 bits. A construção padrão com suporte a números inteiros ilimitados não tem tal limite. Se qualquer uma das expressões for avaliada como zero, o LCM será zero. [ISO] abdômen(+ Expr) Avalie Expr e retorne seu valor absoluto. [ISO] assinar(+ Expr) Avalie para -1 se Expr & lt 0, 1 se Expr & gt 0 e 0 se Expr = 0. Se Expr for avaliado como um float, o valor de retorno é um float (por exemplo, -1,0, 0,0 ou 1,0). Em particular, observe que o sinal (-0,0) é avaliado como 0,0. Veja também copysign / 2. [ISO] copysign(+ Expr1, + Expr2) Avalie para X, onde o valor absoluto de X é igual ao valor absoluto de Expr1 e o sinal de X corresponde ao sinal de Expr2. Esta função é baseada em copysign () de C99, que funciona em pontos flutuantes de precisão dupla e lida com o tratamento do sinal de valores de ponto flutuante especiais, como -0,0. Nossa implementação segue C99 se ambos os argumentos forem flutuantes. Caso contrário, copysign / 2 avalia como Expr1 se o sinal de ambas as expressões corresponder ou - Expr1 se os sinais não corresponderem. Aqui, usamos a noção estendida de sinais para números de ponto flutuante, onde o sinal de -0,0 e outros flutuadores especiais é negativo. próximo a(+ Expr1, + Expr2) Avalia para um número de ponto flutuante seguindo Expr1 na direção de Expr2. Isso se relaciona com o épsilon / 0 da seguinte maneira: rodada em direção a(+ Expr1, + RoundMode) Avalie Expr1 usando o modo de arredondamento de ponto flutuante RoundMode. Isso fornece uma alternativa local para o sinalizador Prolog float_rounding. Esta função pode ser aninhada. Os valores suportados para RoundMode são iguais aos valores do sinalizador: to_nearest, to_positive, to_negative ou to_zero. [ISO] max(+ Expr1, + Expr2) Avalie para o maior de Expr1 e Expr2. Ambos os argumentos são comparados após a conversão para o mesmo tipo, mas o valor de retorno está no tipo original. Por exemplo, max (2,5, 3) compara os dois valores após a conversão para float, mas retorna o inteiro 3. Se ambos os valores forem numéricos iguais, o máximo retornado é do tipo usado para a comparação. Por exemplo, o máximo de 1 e 1,0 é 1,0 porque ambos os números são convertidos em flutuante para a comparação. No entanto, o float especial -0,0 é menor que 0,0, assim como o inteiro 0. [ISO] min(+ Expr1, + Expr2) Avalie para o menor de Expr1 e Expr2. Consulte max / 2 para obter uma descrição do tratamento de tipo. [descontinuada] .(+ Char, []) Uma lista de um elemento avalia o código de caractere desse elemento. 116 A função está documentada como. / 2. Usando SWI-Prolog v7 e posterior, o functor real é [|] / 2. Isso implica que "a" avalia o código de caractere da letra 'a' (97) usando o mapeamento tradicional de string entre aspas duplas para uma lista de códigos de caractere. Char é um ponto de código válido (inteiro não negativo até o sinalizador de Prolog max_char_code) ou um átomo de um caractere. A avaliação aritmética também traduz um objeto string (consulte a seção 5.2) de um comprimento de caractere no código de caractere desse caractere. Isso implica que a expressão "a" funciona se o sinalizador do Prolog double_quotes for definido como um dos códigos, chars ou string.

Obter acesso aos códigos de caracteres desta forma se origina do DEC10 Prolog. ISO tem a sintaxe 0'a e o predicado char_code / 2. Versões futuras podem abandonar o suporte para X é "a".

aleatória(+ IntExpr) Avalie para um inteiro aleatório i para o qual 0 = & lt i & lt IntExpr. O sistema possui duas implementações. Se for compilado com suporte para aritmética ilimitada (padrão), ele usa as funções aleatórias da biblioteca GMP. Nesse caso, cada thread mantém seu próprio estado aleatório. O algoritmo padrão é o Mersenne Twister algoritmo. A semente é definida quando o primeiro número aleatório em um encadeamento é gerado. Se disponível, é definido em / dev / random. 117 No Windows, o estado é inicializado a partir de CryptGenRandom (). Caso contrário, é definido a partir do relógio do sistema. Se a aritmética ilimitada não for suportada, números aleatórios são compartilhados entre os encadeamentos e a semente é inicializada a partir do relógio quando o SWI-Prolog foi iniciado. O predicado set_random / 1 pode ser usado para controlar o gerador de números aleatórios.

Aviso! Embora propriamente propagado (se compatível com o sistema operacional), o algoritmo Mersenne Twister faz não produzir números aleatórios criptograficamente seguros. Para gerar números aleatórios criptograficamente seguros, use crypto_n_random_bytes / 2 da biblioteca da biblioteca (crypto) fornecida pelo pacote ssl.

random_float Avalie para um flutuante aleatório I para o qual 0,0 & lt i & lt 1,0. Esta função compartilha o estado aleatório com random / 1. Todas as observações com a função random / 1 também se aplicam a random_float / 0. Observe que ambos os lados do domínio são abrir. Isso evita erros de avaliação em, por exemplo, log / 1 ou // 2, embora nenhuma aplicação prática possa esperar 0,0. 118 Richard O'Keefe disse: “Se você estão gerando IEEE dobra com a uniformidade reivindicada, então 0 tem uma chance de 1 em 2 ^ 53 = 1 em 9.007.199.254.740.992 de aparecer. Nenhum programa que espera [0.0,1.0) ficará surpreso quando 0.0 deixar de aparecer em alguns milhões de milhões de tentativas, certo? Mas um programa que espera (0.0,1.0) pode ser devastado se 0.0 aparecer. '' [ISO] Redondo(+ Expr) Avalie Expr e arredonde o resultado para o número inteiro mais próximo. De acordo com a ISO, arredondado / 1 é definido como base (Expr + 1/2), ou seja, arredondamento baixa. Esta é uma escolha não convencional sob a qual a relação round (Expr) == -round (-Expr) não é válida. Rodadas SWI-Prolog para fora, por exemplo, redondo (1,5) =: = 2 e redondo (-1,5) =: = -2. inteiro(+ Expr) O mesmo que round / 1 (compatibilidade com versões anteriores). [ISO] flutuador(+ Expr) Traduzir o resultado para um número de ponto flutuante. Normalmente, o Prolog usará inteiros sempre que possível. Quando usado em torno do segundo argumento de is / 2, o resultado será retornado como um número de ponto flutuante. Em outros contextos, a operação não tem efeito. racional(+ Expr) Converte a Expr em um número racional ou inteiro. A função retorna a entrada em números inteiros e racionais. Para números de ponto flutuante, o número racional retornado exatamente representa o flutuador. Como os flutuadores não podem representar exatamente todos os números decimais, os resultados podem ser surpreendentes. Nos exemplos abaixo, os duplos podem representar 0,25 e o resultado é o esperado, em contraste com o resultado de racional (0,1). A função racionalizar / 1 corrige isso. Consulte a seção 4.27.2.2 para obter mais informações sobre o suporte de número racional.

Para cada normal float X, a relação X =: = racional (X) é válida.

Esta função levanta um Evaluation_error (undefined) se Expr for NaN e Evaluation_error (rational_overflow) se Expr for Inf.

racionalizar(+ Expr) Converte a Expr em um número racional ou inteiro. A função é semelhante a racional / 1, mas o resultado só é preciso dentro do erro de arredondamento dos números de ponto flutuante, geralmente produzindo um denominador muito menor. 119 Os nomes rational / 1 e rationalize / 1, bem como sua semântica, são inspirados no Common Lisp. 120 A implementação de racionalizar, bem como converter um número racional em um float é copiado do ECLiPSe e coberto pelo Mozilla Public License Versão 1.1 no estilo Cisco.

Para cada normal float X, a relação X =: = racionalizar (X) é válida.

Esta função gera as mesmas exceções que racional / 1 em números de ponto flutuante não normais.

numerador(+ RationalExpr) Se RationalExpr for avaliado como um número racional ou inteiro, avalie como o valor superior / esquerdo. Avalia a si mesmo se RationalExpr for avaliado como um inteiro. Veja também denominador / 1. O seguinte é verdadeiro para qualquer X racional. denominador(+ RationalExpr) Se RationalExpr for avaliado como um número racional ou inteiro, avalie como o valor inferior / direito. Avalia como 1 (um) se RationalExpr for avaliado como um inteiro. Consulte também numerador / 1. O seguinte é verdadeiro para qualquer X racional. [ISO] float_fractional_part(+ Expr) Parte fracionária de um número de ponto flutuante. Negativo se Expr for negativo, racional se Expr for racional e 0 se Expr for inteiro. A seguinte relação é sempre verdadeira: X é float_fractional_part (X) + float_integer_part (X). [ISO] float_integer_part(+ Expr) Parte inteira do número de ponto flutuante. Negativo se Expr for negativo, Expr se Expr for inteiro. [ISO] truncar(+ Expr) Truncar Expr para um inteiro. Se Expr & gt = 0, é o mesmo que floor (Expr). Para Expr & lt 0, é o mesmo que ceil (Expr). Ou seja, truncar / 1 rodadas em direção a zero. [ISO] andar(+ Expr) Avalie Expr e retorne o maior inteiro menor ou igual ao resultado da avaliação. [ISO] teto(+ Expr) Avalie Expr e retorne o menor inteiro maior ou igual ao resultado da avaliação. teto(+ Expr) Igual ao teto / 1 (compatibilidade com versões anteriores). [ISO] + IntExpr1 & gt & gt + IntExpr2 Bitwise shift IntExpr1 por IntExpr2 bits para a direita. A operação realiza mudança aritmética, o que implica que os bits mais significativos inseridos são cópias dos bits mais significativos originais. [ISO] + IntExpr1 & lt & lt + IntExpr2 Bitwise shift IntExpr1 por IntExpr2 bits para a esquerda. [ISO] + IntExpr1 / + IntExpr2 Bitwise'ou 'IntExpr1 e IntExpr2. [ISO] + IntExpr1 / + IntExpr2 Bitwise'and 'IntExpr1 e IntExpr2. [ISO] + IntExpr1 xor + IntExpr2 Bitwise'exclusive ou 'IntExpr1 e IntExpr2. [ISO] + Negação bit a bit IntExpr. O valor retornado é o complemento de um de IntExpr. [ISO] sqrt(+ Expr) Resultado = sqrt (Expr). [ISO] pecado(+ Expr) Resultado = sin (Expr). Expr é o ângulo em radianos. [ISO] cos(+ Expr) Resultado = cos (Expr). Expr é o ângulo em radianos. [ISO] bronzeado(+ Expr) Resultado = tan (Expr). Expr é o ângulo em radianos. [ISO] como em(+ Expr) Resultado = arcsin (Expr). O resultado é o ângulo em radianos. [ISO] acos(+ Expr) Resultado = arccos (Expr). O resultado é o ângulo em radianos. [ISO] numa(+ Expr) Resultado = arctan (Expr). O resultado é o ângulo em radianos. [ISO] atan2(+ YExpr, + XExpr) Resultado = arctan (YExpr / XExpr). O resultado é o ângulo em radianos. O valor de retorno está no intervalo [- pi. pi]. Usado para converter entre sistema de coordenadas retangulares e polares.

Observe que o padrão ISO Prolog exige atan2 (0,0,0.0) para gerar um erro de avaliação, enquanto os padrões C99 e POSIX exigem que isso seja avaliado como 0,0. SWI-Prolog segue C99 e POSIX.

numa(+ YExpr, + XExpr) O mesmo que atan2 / 2 (compatibilidade com versões anteriores). sinh(+ Expr) Resultado = sinh (Expr). O seno hiperbólico de X é definido como e ** X - e ** -X / 2. cosh(+ Expr) Resultado = cosh (Expr). O cosseno hiperbólico de X é definido como e ** X + e ** -X / 2. tanh(+ Expr) Resultado = tanh (Expr). A tangente hiperbólica de X é definida como sinh (X) / cosh (X). Asinh(+ Expr) Resultado = arcsinh (Expr) (seno hiperbólico inverso). acosh(+ Expr) Resultado = arccosh (Expr) (cosseno hiperbólico inverso). atanh(+ Expr) Resultado = arctanh (Expr). (tangente hiperbólica inversa). [ISO] registro(+ Expr) Logaritmo natural. Resultado = ln (Expr) log10(+ Expr) Logaritmo de base 10. Resultado = log10 (Expr) [ISO] exp(+ Expr) Resultado = e ** Expr [ISO] + Expr1 ** + Expr2 Resultado = Expr1 ** Expr2. O resultado é um float, a menos que SWI-Prolog seja compilado com suporte a números inteiros ilimitados e as entradas sejam números inteiros e produzam um resultado de número inteiro. As expressões inteiras 0 ** I, 1 ** I e -1 ** I têm garantia de funcionar para qualquer inteiro I. Outros valores de base inteira geram um erro de recurso se o resultado não couber na memória.

O padrão ISO exige um resultado flutuante para todas as entradas e introduz ^ / 2 para exponenciação inteira. A função float / 1 pode ser usada em um ou ambos os argumentos para forçar um resultado de ponto flutuante. Observe que lançar o entrada resultar em um cálculo de ponto flutuante, ao lançar o resultado executa exponenciação inteira seguida por uma conversão para float.

No SWI-Prolog, ^ / 2 é equivalente a ** / 2. A versão ISO é semelhante, exceto que produz um erro de avaliação se Expr1 e Expr2 forem inteiros e o resultado não for um inteiro. A tabela abaixo ilustra o comportamento das funções de exponenciação em ISO e SWI. Observe que se o expoente for negativo, o comportamento de Int ^ Int depende do sinalizador prefer_rationals, produzindo um número racional ou um número de ponto flutuante.

Expr1 Expr2 FunçãoSWIISO
IntInt**/2 Int ou RacionalFlutuador
IntFlutuador**/2 FlutuadorFlutuador
RacionalInt**/2 Racional-
FlutuadorInt**/2 FlutuadorFlutuador
FlutuadorFlutuador**/2 FlutuadorFlutuador
IntInt^/2 Int ou RacionalInt ou erro
IntFlutuador^/2 FlutuadorFlutuador
RacionalInt^/2 Racional-
FlutuadorInt^/2 FlutuadorFlutuador
FlutuadorFlutuador^/2 FlutuadorFlutuador
powm(+ IntExprBase, + IntExprExp, + IntExprMod) Resultado = (IntExprBase ** IntExprExp) módulo IntExprMod. Disponível apenas quando compilado com suporte a números inteiros ilimitados. Essa fórmula é necessária para a troca de chaves Diffie-Hellman, uma técnica em que duas partes podem estabelecer uma chave secreta em uma rede pública. IntExprBase e IntExprExp devem ser não negativos (& gt = 0), IntExprMod deve ser positivo (& gt0). 121 A função GMP mpz_powm () subjacente permite valores negativos sob algumas condições. Como as condições são caras para pré-computar, o tratamento de erros do GMP não é trivial e os valores negativos não são necessários para a troca de chaves Diffie-Hellman; não oferecemos suporte para eles. lgamma(+ Expr) Retorna o logaritmo natural do valor absoluto da função Gama. 122 Algumas interfaces também fornecem o sinal da função Gama. Não podemos fazer isso em uma função aritmética. Versões futuras podem fornecer um predicado lgamma / 3 que retorna o valor e o sinal. erf(+ Expr) Wikipedia: “Em matemática, a função de erro (também chamada de função de erro de Gauss) é uma função especial (não elementar) de forma sigmóide que ocorre em probabilidade, estatística e equações diferenciais parciais. '' erfc(+ Expr) Wikipedia: “A função de erro complementar. '' [ISO] pi Avalie a constante matemática pi (3,14159.). e Avalie para a constante matemática e (2.71828.). épsilon Avalie a diferença entre o float 1.0 e o primeiro número de ponto flutuante maior. Descontinuada. A função nexttoward / 2 oferece uma alternativa melhor. inf Avalie para infinito positivo. Consulte a seção 2.16.1.7 e a seção 4.27.2.4. Este valor pode ser negado usando - / 1. nan Avalie para Não é um número. Consulte a seção 2.16.1.7 e a seção 4.27.2.4. cputime Avalie para um número de ponto flutuante expressando o tempo de CPU (em segundos) usado pelo Prolog até agora. Veja também estatísticas / 2 e hora / 1. avaliação(+ Expr) Avalie Expr. Embora o padrão ISO dite que ‘A = 1 + 2, B é A’ funciona e unifica B a 3, é amplamente aceito que as variáveis ​​de nível de origem em expressões aritméticas deveriam ter sido limitadas a números. Nesta visão, a função eval pode ser usada para avaliar expressões arbitrárias. 123 A função eval / 1 foi introduzida pela primeira vez pelo ECLiPSe e está sendo considerada para o YAP.

As funções abaixo não são cobertas pelo padrão. A função msb / 1 também aparece em hProlog e SICStus Prolog. A função getbit / 2 também aparece em ECLiPSe, que também fornece setbit (Vector, Index) e clrbit (Vector, Index). Os outros são extensões SWI-Prolog que melhoram o manuseio de inteiros --- ilimitados --- como vetores de bits. msb(+ IntExpr) Retorna o maior inteiro N tal que (IntExpr & gt & gt N) / 1 =: = 1. Este é o índice (origem zero) do 1 bit mais significativo no valor de IntExpr, que deve ser avaliado como um inteiro positivo. Erros para 0, inteiros negativos e não inteiros. lsb(+ IntExpr) Retorna o menor inteiro N tal que (IntExpr & gt & gt N) / 1 =: = 1. Este é o índice (origem zero) do bit 1 menos significativo no valor de IntExpr, que deve ser avaliado como um inteiro positivo. Erros para 0, inteiros negativos e não inteiros. contagem(+ IntExpr) Retorna o número de 1s na representação binária do inteiro não negativo IntExpr. getbit(+ IntExprV, + IntExprI) Avalia o valor do bit (0 ou 1) de IntExprI -ésimo bit de IntExprV. Ambos os argumentos devem ser avaliados como inteiros não negativos. O resultado é equivalente a (IntExprV & gt & gt IntExprI) / 1, mas mais eficiente porque a materialização do valor deslocado é evitada. As versões futuras otimizarão (IntExprV & gt & gt IntExprI) / 1 para uma chamada para getbit / 2, fornecendo portabilidade e desempenho. 124 Essa questão foi ferozmente debatida na lista de mala direta do padrão ISO. O nome getbit foi selecionado para compatibilidade com ECLiPSe, o único sistema que oferece esse suporte. Richard O'Keefe não gostou do nome e argumentou que o manuseio eficiente da implementação acima é a melhor escolha para essa funcionalidade.


Privacidade

Não coletamos informações de nossos usuários. Apenas e-mails e respostas são salvos em nosso arquivo. Os cookies são usados ​​apenas no navegador para melhorar a experiência do usuário.

Algumas de nossas calculadoras e aplicativos permitem que você salve os dados do aplicativo em seu computador local. Esses aplicativos irão - devido a restrições do navegador - enviar dados entre o seu navegador e o nosso servidor. Não salvamos esses dados.

O Google usa cookies para veicular nossos anúncios e lidar com estatísticas de visitantes. Leia os Termos e Privacidade do Google para obter mais informações sobre como você pode controlar a veiculação de anúncios e as informações coletadas.

AddThis usa cookies para lidar com links para mídias sociais. Por favor, leia AddThis Privacy para mais informações.


Implantação de unidades de patrulha de um ou dois oficiais: uma comparação dos tempos de viagem

Neste artigo, comparamos o desempenho de unidades de patrulha policial com um e dois policiais usando o tempo de viagem como medida de desempenho. Estimamos os tempos de viagem em dois modelos diferentes de operações de despacho. O primeiro modelo reflete a maioria dos sistemas de despacho existentes nos quais as unidades de patrulha são atribuídas a batidas específicas. Nesse sistema de ronda, o despachante não sabe a localização precisa de cada unidade policial, então, muitas vezes, não despacha a unidade mais próxima. O segundo modelo trata de uma operação de despacho que é suportada por um sistema de monitoramento automático de veículos (AVM). Com este sistema, as unidades policiais podem patrulhar uma região sobreposta e a unidade disponível mais próxima de uma chamada pode sempre ser enviada.

O tempo médio de viagem das unidades de um oficial para ligações do Tipo 1 é pelo menos 30% menor do que o tempo médio de viagem das unidades de dois oficiais. A diferença entre os dois tempos médios de viagem aumenta à medida que aumenta a taxa de indisponibilidade.

O tempo médio de viagem da unidade de um oficial que chega pela primeira vez em uma chamada do Tipo 2 é pelo menos 40% menor do que a unidade de um oficial que chega pela primeira vez.

Com despacho não AVM e batidas de patrulha normais, a diferença entre o tempo médio de viagem do segundo- a unidade de um oficial que chega e a unidade de dois oficiais que chegam é sensível à taxa de indisponibilidade. Para baixas taxas de indisponibilidade, a unidade de dois oficiais é preferida, e para altas taxas de indisponibilidade, duas unidades de um oficial são preferidas.

Com o envio de AVM e sem batidas, o tempo médio de viagem da unidade de um oficial que chega em segundo lugar para uma chamada do Tipo 2 é quase sempre menor do que o tempo de viagem médio da unidade de dois oficiais que chega. Mais uma vez, a diferença entre os dois tempos de viagem aumenta à medida que aumenta a taxa de indisponibilidade.

Também usamos nossos modelos para explorar o impacto das reduções de mão de obra que podem acompanhar uma mudança para unidades de um oficial. Nossos resultados sugerem que a existência de um sistema AVM pode ser um fator crítico quando se considera a redução de mão de obra. Sem um sistema AVM, é provável que a mudança tenha resultados mistos: tempos médios de viagem mais curtos para o primeiro oficial que chega e tempos de viagem mais longos para o segundo oficial que chega. Com um sistema AVM, parece que a mão de obra pode ser reduzida em uma mudança enquanto reduz os tempos médios de viagem para os primeiros e segundos oficiais que chegam. Além disso, os resultados sugerem que a existência de um sistema AVM pode afetar significativamente o tempo médio entre a chegada da primeira e da segunda unidade de um oficial. Esta estatística é uma medida da exposição ao perigo do primeiro oficial a chegar ao local. Assim, pode ser atraente para um responsável pela tomada de decisões da polícia considerar a introdução de um sistema AVM combinado com uma mudança de unidades de dois oficiais para unidades de um oficial e uma redução da força de trabalho. Este é um dos poucos exemplos em que uma nova tecnologia pode ser usada para reduzir as necessidades de mão de obra de um departamento de polícia.

No final do artigo, alguns dos resultados de nossa análise são ilustrados com um exemplo. Para este exemplo específico, estimamos as estatísticas de tempo de viagem para ambos os modelos de despacho e discutimos as reduções de mão de obra e compensações entre diferentes medidas de tempo de viagem. Concluímos com uma discussão sobre as direções de pesquisas futuras.


Jogos repetidos com falta de informação de um lado: a abordagem diferencial dupla

Apresentamos o jogo dual diferencial de um jogo repetido com falta de informação de um lado como a versão em tempo contínuo natural do jogo dual introduzido por De Meyer (1996). Uma forma tradicional de estudar o valor dos jogos diferenciais é por meio de aproximações de tempo discretas. Aqui, seguimos a abordagem oposta: identificamos o valor limite de um jogo repetido em tempo discreto como o valor de um jogo diferencial. A saber, usamos a estrutura recursiva para a versão finitamente repetida do jogo dual para construir um jogo diferencial para o qual os valores superiores da discretização uniforme satisfazem precisamente a mesma propriedade.

O valor do jogo diferencial duplo existe e é a solução de viscosidade única de uma equação derivada de primeira ordem (que aparece implicitamente em De Meyer e Rosenberg 1999) com uma condição limite. Identificamos a solução traduzindo as propriedades de viscosidade no primal.


O exame final será presencial, livro fechado e notas fechadas. Acontecerá na sexta-feira, 4 de junho, das 15h30 às 18h30, na sala 380X. O exame final cobrirá o material dos capítulos 1-46, 48-50, 60, 66-67 do livro.

O dever de casa será entregue todas as quintas-feiras e na quinta-feira seguinte em aula. Não serão aceitos envios atrasados, em vez disso, vou diminuir sua pontuação mais baixa.

Homework 1: Due Thursday April 8. Exercises: 2.2, 2.3, 3.3, 3.5, 4.4, 4.7, 5.1, 5.7, 6.3, 6.4, 7.5, 7.10, 8.3, 8.5. Solutions thanks to our CA Henry.

Homework 2: Due Thursday April 15: Exercises: 9.6, 9.11, 10.12, 11.8, 11.12, 12.4, 12.7, 13.1, 13.3, 15.4, 16.5, 16.13, 16.15, 18.1, 18.5. Solutions thanks to our CA Henry.

Homework 3: Due Thursday April 22. Exercises: 17.4, 19.3, 20.6, 20.7, 20.9, 20.13, 20.20, 21.2, 22.4, 23.5, 24.9, 25.2, 25.4, 26.4, 26.8. Solutions thanks to our CA Henry.

Homework 4: Due Thursday April 29. Exercises: 26.5, 27.1, 27.2, 28.1, 28.3, 28.6, 29.3, 29.5. Solutions thanks to our CA Henry.

Homework 5: Due Thursday May 6. Exercises: 29.15, 35.3, 35.7, 35.8, 35.9, 36.4, 36.8, 36.11, 37.4, 37.9, 37.10. Solutions thanks to our CA Henry.

Homework 6: Due Thursday May 13. Exercises: 38.6, 38.8, 38.9, 38.14, 39.4, 39.5, 39.7, 39.9, 40.8, 40.10, 40.15, 40.17, 41.3, 41.4. Solutions thanks to our CA Henry.

Homework 7: Due Thursday May 20. Exercises: 42.1, 42.3, 42.5, 42.10, 42.12, 43.1, 43.4, 43.7, 44.1, 44.6 (a,b,c), 44.8. Solutions thanks to our CA Henry.

Homework 8: Due Thursday May 27. Exercises: 44.2, 44.5, 44.7, 45.1, 45.2, 45.4, 46.1, 46.4, 46.7, 46.8, 60.2, 60.5. Solutions thanks to our CA Henry.


Conteúdo

Algebraic identities Edit

Trigonometric identities Edit

Geometrically, trigonometric identities are identities involving certain functions of one or more angles. [6] They are distinct from triangle identities, which are identities involving both angles and side lengths of a triangle. Only the former are covered in this article.

These identities are useful whenever expressions involving trigonometric functions need to be simplified. Another important application is the integration of non-trigonometric functions: a common technique which involves first using the substitution rule with a trigonometric function, and then simplifying the resulting integral with a trigonometric identity.

Another group of trigonometric identities concerns the so-called addition/subtraction formulas (e.g. the double-angle identity sin ⁡ ( 2 θ ) = 2 sin ⁡ θ cos ⁡ θ , the addition formula for tan ⁡ ( x + y ) ), [3] [1] which can be used to break down expressions of larger angles into those with smaller constituents.

Exponential identities Edit

The following identities hold for all integer exponents, provided that the base is non-zero:

Unlike addition and multiplication, exponentiation is not commutative. For example, 2 + 3 = 3 + 2 = 5 and 2 · 3 = 3 · 2 = 6 , but 2 3 = 8 , whereas 3 2 = 9 .

And unlike addition and multiplication, exponentiation is not associative either. For example, (2 + 3) + 4 = 2 + (3 + 4) = 9 and (2 · 3) · 4 = 2 · (3 · 4) = 24 , but 2 3 to the 4 is 8 4 (or 4,096), whereas 2 to the 3 4 is 2 81 (or 2,417,851,639,229,258,349,412,352). Without parentheses to modify the order of calculation, by convention the order is top-down, not bottom-up:

Logarithmic identities Edit

Several important formulas, sometimes called logarithmic identities ou log laws, relate logarithms to one another. [uma]

Product, quotient, power and root Edit

The logarithm of a product is the sum of the logarithms of the numbers being multiplied the logarithm of the ratio of two numbers is the difference of the logarithms. The logarithm of the p-th power of a number is p times the logarithm of the number itself the logarithm of a p-th root is the logarithm of the number divided by p. The following table lists these identities with examples. Each of the identities can be derived after substitution of the logarithm definitions x = b registrob(x) , and/or y = b registrob(y) , in the left hand sides.

Fórmula Exemplo
produtos log b ⁡ ( x y ) = log b ⁡ ( x ) + log b ⁡ ( y ) (xy)=log _(x)+log _(y)> log 3 ⁡ ( 243 ) = log 3 ⁡ ( 9 ⋅ 27 ) = log 3 ⁡ ( 9 ) + log 3 ⁡ ( 27 ) = 2 + 3 = 5 (243)=log _<3>(9cdot 27)=log _<3>(9)+log _<3>(27)=2+3=5>
quociente log b ( x y ) = log b ⁡ ( x ) − log b ⁡ ( y ) !left(> ight)=log _(x)-log _(y)> log 2 ⁡ ( 16 ) = log 2 ( 64 4 ) = log 2 ⁡ ( 64 ) − log 2 ⁡ ( 4 ) = 6 − 2 = 4 (16)=log _<2>!left(<4>> ight)=log _<2>(64)-log _<2>(4)=6-2=4>
potência log b ⁡ ( x p ) = p log b ⁡ ( x ) (x^

)=plog _(x)>

log 2 ⁡ ( 64 ) = log 2 ⁡ ( 2 6 ) = 6 log 2 ⁡ ( 2 ) = 6 (64)=log _<2>(2^<6>)=6log _<2>(2)=6>
raiz log b ⁡ x p = log b ⁡ ( x ) p ]>=(x)>

>>

log 10 ⁡ 1000 = 1 2 log 10 ⁡ 1000 = 3 2 = 1.5 >=<2>>log _<10>1000=<2>>=1.5>

Change of base Edit

The logarithm logb(x) can be computed from the logarithms of x e b with respect to an arbitrary base k using the following formula:

Typical scientific calculators calculate the logarithms to bases 10 and e. [7] Logarithms with respect to any base b can be determined using either of these two logarithms by the previous formula:

Given a number x and its logarithm logb(x) to an unknown base b, the base is given by:

Hyperbolic function identities Edit

The hyperbolic functions satisfy many identities, all of them similar in form to the trigonometric identities. Na verdade, Osborn's rule [8] states that one can convert any trigonometric identity into a hyperbolic identity by expanding it completely in terms of integral powers of sines and cosines, changing sine to sinh and cosine to cosh, and switching the sign of every term which contains a product of 2, 6, 10, 14, . sinhs. [9]

The Gudermannian function gives a direct relationship between the circular functions and the hyperbolic ones that does not involve complex numbers.

In mathematical logic and in universal algebra, an identity is defined as a formula of the form "∀x1. xn. s = t", where s e t are terms with no other free variables than x1. xn. The quantifier prefix ("∀x1. xn.") is often left implicit, in particular in universal algebra. For example, the axioms of a monoid are often given as the identity set


Lesson 4

Let’s investigate the features and area of parallelograms.

4.1: Features of a Parallelogram

Figures A, B, and C are parallelograms. Figures D, E, and F are não parallelograms.

Expandir Imagem

Study the examples and non-examples. What do you notice about:

  1. the number of sides that a parallelogram has?
  2. opposite sides of a parallelogram?
  3. opposite angles of a parallelogram?

4.2: Area of a Parallelogram

Find the area of the parallelogram and explain your reasoning.

Change the parallelogram by dragging the green points at its vertices. Find its area and explain your reasoning.

4.3: Lots of Parallelograms

Find the area of each parallelogram. Show your reasoning.

Expandir Imagem

Expandir Imagem

Resumo

UMA paralelogramo is a quadrilateral (it has four sides). The opposite sides of a parallelogram are parallel. It is also true that the opposite sides of a parallelogram have equal length, and the opposite angles of a parallelogram have equal measure.

Expandir Imagem

Descrição: <p>Two paralllelograms with the angles and side lengths provided. On the left, Top and bottom sides = 5 units. Left and right sides = 4.24 units. Top left and bottom right angles = 135 degrees. Top right and bottom left angles = 45 degrees. On the right, Top and bottom sides = 9.34 units. Left and right sides = 4 units. Top left and bottom right angles = 27.2 degrees. Top right and bottom left angles = 152.8 degrees. </p>

There are several strategies for finding the area of a paralelogramo.

    We can decompose and rearrange a parallelogram to form a rectangle. Here are three ways:

Expandir Imagem

Descrição: <p>Three identical parallelograms on separate grids, each has a base of four units and a height of three units. First parallelogram, vertical dashed segment extending from the bottom left vertex to the opposite side, forming a triangle. An arrow extends from the triangle to the opposite side of the parallelogram to create a rectangle 4 units wide and 3 units high. Second parallelogram, vertical dashed segment extending from the top right vertex to the opposite side, forming a triangle. An arrow extends from the triangle to the opposite side of the parallelogram to create a rectangle 4 units wide and 3 units high. Third parallelogram, vertical dashed segment through the middle of the parallelogram. An arrow extends from the resulting shape to the opposite side of the parallelogram to create a rectangle 4 units wide and 3 units high.</p>

Expandir Imagem

Descrição: <p>Two drawings of parallelograms on grids. On the left, a triangle in the bottom left and top right corner is in white and the center is colored blue. On the right, the image from the left is repeated, but the triangles in the corners are colored yellow. Arrows are drawn from the triangles to the right. The triangles two triangles are joined on the right to form a rectangle.</p>

Both of these ways will work for any parallelogram. However, for some parallelograms the process of decomposing and rearranging requires a lot more steps than if we enclose the parallelogram with a rectangle and subtract the combined area of the two triangles in the corners.

Expandir Imagem

Descrição: <p>A shaded parallelogram on a grid. Base of three units. Slanted sides that decline 6 vertical units over 9 horizontal units. Parallelogram decomposed by dashed segments into six equal right triangles. Each triangle has a vertical side of 2 units and horizontal side of 3 units. Arrows extend to the left from each of the lower 5 triangles. The resulting shape is a rectangle that is 6 units tall by 3 units wide.</p>


Assista o vídeo: Как упростить себе жизнь Решите уравнение xx2+1+x2+1x=2,9 (Novembro 2021).