Secção de Matemática Aplicada e Análise Numérica Departamento de Matemática/Instituto Superior Técnico Matemática Experimental (LMAC) – 1o Semestre de 2015/2016 Aula Laboratorial V 1. A equação y = x2 pode ser parametrizada escrevendo x = t, y = t2 , isto é, pela função f : [a, b] → R2 , f (t) = (t, t2 ). O conjunto de pontos Ct = {f (t), a ≤ t ≤ b}, designa-se por curva paramétrica. Experimente (linha a linha) ParametricPlot[{t, tˆ2}, {t,-2,2}] ParametricPlot[{Cos[t], Sin[t]}, {t,-Pi,Pi}] ParametricPlot[{t+Sin[2 t],t+Sin[3 t]},{t,-2 Pi,2 Pi}] ParametricPlot[{FresnelS[t],FresnelC[t]},{t,-10,10}] g[t ]:={Sin[t] Cos[9 t/8], Sin[9 t/8] Sin[t]}; ParametricPlot[g[t],{t,0,16 Pi}] f = Function[t,{Sin[t](Exp[Cos[t]]-2 Cos[4t]-Sin[t/12]ˆ5), Cos[t](Exp[Cos[t]]-2 Cos[4t]-Sin[t/12]ˆ5)}]; ParametricPlot[f[t],{t,0,20 Pi}, PlotStyle -> {Hue[.9],Thickness[.004]}] Interrogue o Help acerca de integrais de Fresnel FresnelS e FresnelC. 2. O comando PolarPlot desenha gráficos de funções dadas em coordenadas polares (r, θ) na forma r = f (θ). Execute as instruções a seguir linha a linha. PolarPlot[1+2 t,{t,0,10 Pi}] PolarPlot[2-2 Sin[t]+Sin[t] Sqrt[Abs[Cos[t]]]/(Sin[t]+2),{t,0,2 Pi}, PlotStyle -> {Hue[.9], Thickness[.01]}] PolarPlot[{Sqrt[1/t],-Sqrt[1/t]},{t,0.1,10 Pi}, PlotRange -> All] Animate[PolarPlot[2 Sin[10 t],{t,0,2 a Pi}],{a,0.1,1}] 3. Para desenhar curvas paramétricas em R3 , experimente ParametricPlot3D[{Sin[t],Cos[t],t/5},{t,0,20}, PlotStyle -> Tube[0.05]] ParametricPlot3D[{(3+Cos[t])Cos[s],(3+Cos[t])Sin[s],Sin[t]},{t,0,2 Pi},{s,0,2 Pi}] Manipulate[ParametricPlot3D[{Sin[n t],Cos[4 m t],Sin[5 t]},{t,-Pi,Pi}, PlotStyle -> Tube[0.05]],{n,1,10,1},{m,1,10,1}] ParametricPlot3D[{{4+(3+Cos[v])Sin[u],4+(3+Cos[v])Cos[u],4+Sin[v]}, {8+(3+Cos[v])Cos[u],3+Sin[v],4+(3+Cos[v])Sin[u]}},{u,0,2 Pi},{v,0,2 Pi}, PlotStyle -> {Red,Green}] Consulte o Help sobre as opções do ParametricPlot3D. 4. Exceute a seguinte construção Mathematica Manipulate[x=N[Sqrt[13],n]; walk = First[RealDigits[x,4]]; rn = FoldList[Plus,{0,0}, Map[Function[x,{{0,1},{1,0},{0,-1},{-1,0}}[[x+1]]],walk]]; Graphics[{Line[rn],PointSize[Large],Green, Point[First[rn]],Red,Point[Last[rn]]}], {n,1,10000,1}] 5. Dado um inteiro não negativo (uma semente) x0 , um gerador de congruência linear cria números pseudoaleatórios {xn } através da relação de recorrência (congruência) xn+1 ≡ (a xn + c) (mod m) , onde a, c, m são números inteiros dados tais que 0 ≤ x0 < m , 0 ≤ c < m, 2 ≤ a < m, m 1. Determine os primeiros m números pseudoaleatórios gerados desta maneira utilizando os valores (i) m = 97, a = 34 e c = 7; (ii) m = 99, a = 34 e c = 7; (iii) m = 99, a = 34 e c = 3. Em algum dos casos consegue produzir m números diferentes? 6. O seguinte resultado, conhecido por Teorema de Wilson-Lagrange, oferece uma condição suficiente e necessária para que um número natural seja primo: Um inteiro p ≥ 2 é primo se e só se (p − 1)! ≡ −1 (mod p). Confirme que todos os primos p ≤ 1000 satisfazem esta congruência. Defina uma função testwilson que, dado n ≥ 2, devolva True se p | ( (p − 1)! + 1) e False no caso contrário. Qual é o maior número de Mersenne cuja primalidade consegue testar, em tempo razoável, com a função testwilson? O teste terá alguma utilidade prática? 7. Um número inteiro En da forma En = p1 p2 · · · pn + 1 , onde p1 , p2 , . . . , pn são os primeiros n primos, diz-se número de Euclides. Utilize os testes de pseudoprimalidade nas bases 2, 3, 5 e 7 para determinar quais dos primeiros 100 números de Euclides são (muito provavelmente) primos. 8. Sejam p, q ≥ 3 dois primos. Sabemos que se q dividir o número de Mersenne Mp = 2p − 1 então (C) q ≡ 1 (mod p) e q ≡ ±1 (mod 8) . Recorra ao comando ChineseRemainder, para confirmar que, com p = 23, as congruências (C) podem ser escritas na forma (equivalente) q ≡ 1 (mod 184) q ≡ 47 (mod 184) . ou Escreva as condições (C) nesta forma equivalente para p = 19 e para p = 29. Utilize os resultados para testar a primalidade de M19 , M23 e M29 . 9. A função π : N → N, n 7→ π(n) (comando PrimePi) dá-nos o número de primos não superiores a n. De acordo com o Teorema dos Números Primos, π(n) é assimptoticamente aproximado por n/ ln n, isto é π(n) = 1. n→∞ n/ ln n lim a) Defina uma função Mathematica para testar este resultado, tomando como valores de n as potências de 10 entre 2 e 10. Determine, para cada n, o erro relativo δn = (π(n) − n/ ln n)/π(n). Trace os gráficos de π(n)/(n/ ln n) e δn usando o comando ListPlot. b) O integral logarı́tmico, definido por Zn Li(n) = dt , ln t 2 aproxima assimptoticamente a função π: π(n) = 1. n→∞ Li(n) lim Desenhe o gráfico de π(n)/Li(n) considerando n = 10, 102 , . . . , 1010 . Utilize o comando NIntegrate no cálculo do integral logarı́tmico Li(n). c) Confirme que Li(n) fornece uma aproximação melhor para o número de primos não superiores a n do que a expressão n ln n.