Demonstração – superfície regular a partir de função de duas variáveis

Primeiramente, deixaremos duas proposições e uma definição que auxiliará na demonstração:

Proposição 1. Se $latex f:U\rightarrow R$ é uma função diferenciável em um conjunto aberto $latex U$ de $latex R^{2}$, então o gráfico de $latex f$, isto é, o subconjunto de $latex R^{3}$dado por $latex (x,y,f(x,y))$para $latex (x,y)\in U$, é uma superfície regular $latex \Box$

$latex a\in f(U)$é um valor regular de $latex f:U\subset R^{3}\rightarrow R$ se se somente se $latex f_{x}$, $latex f_{y}$ e $latex f_{z}$, não se anulam simultaneamente em qualquer ponto de $latex f^{-1}(a)$(os pontos de $latex U$que na função $latex f$ valem $latex a$).

Proposição 2. Se $latex f:U\subset R^{3}\rightarrow R$ é uma função diferenciável e $latex a\in f(U)$é um valor regular de $latex f$, então $latex f^{-1}(a)$é uma superfície regular em $latex R^{3}$ $latex \Box$
Agora, a parte “prática”: Continuar lendo

implementação, exemplos, erros

Oops. Isto ainda não funciona 100%.

Melhorias e automatização do processo. Este o objetivo deste script. Basta criar uma fórmula matemática (ou qualquer texto) no aplicativo lyx, salvar e exportar para TeX (pdflatex), e rodar o wpize.py em cima do arquivo. A última linha vai mostrar uma string, que basta ser copiada e colada aqui para funcionar (claro, dá pra mexer nela para corrigir algumas falhas do lyx, para descobrir alguns códigos $latex \LaTeX$ para símbolos matemáticos veja esta página):

$latex \begin{tabular}{|c|c|c|c|c|} \hline a11& \dots& a1j& \dots& a1n\tabularnewline \hline \vdots& & \vdots& & \vdots\tabularnewline \hline ai1& \dots& aij& & \vdots\tabularnewline \hline \vdots& & & & \vdots\tabularnewline \hline am1& \dots& \dots& \dots& amn\tabularnewline \hline \end{tabular}$
Curiosamente não se consegue colocar pontos diagonais (\ddots=$latex \ddots$) nem subscritos (a_{ij}=$latex a_{ij}$) dentro de tabelas, usando o ambiente tabular, o comando falha e aparece algo como:

$latex \begin{tabular}{|c|c|} \hline \ddots& a_{ij}\tabularnewline \hline \end{tabular}$

O script que faz esta comodidade virar realidade está disponível para download na seção de arquivos. Agora vai uma proposição qualquer para apreciar a beleza da mãe de todas as ciências (gerado por wpize2-nonmath.py propo1.tex):

Proposição 1. Se $latex f: U\rightarrow R$ é uma função diferenciável em um conjunto aberto $latex U$ de $latex R^{2}$, então o gráfico de $latex f$, isto é, o subconjunto de $latex R^{3}$dado por $latex (x,y,f(x,y))$para $latex (x,y)\in U$, é uma superfície regular.

Mais tarde, a resolução de um exercício em que se demonstra esta proposição.

Nota: o wpize.py é só pra fórmulas (não mais de dois $’s), o wpize2-nonmath.py é pra textos, que tenham fórmulas dentro de cifrões ($). O segundo é um fork do primeiro.

Modo de uso: abra o lyx, escreva os textos/fórmulas, salve, exporte para TeX (plain), abra um terminal e execute o script com o nome do arquivo .tex exportado como argumento (é o mesmo do .lyx, só que ao invés de .lyx a extensão é .tex). Na última linha vai aparecer o código pronto pra colar no WordPress.

wpize2-nonmath.py

 Eis o código (versão sem geração de math – ou seja – comandos LaTex):

#!/usr/bin/env python
#versÃo: 0.1
# -*- coding: iso-8859-1 -*-
#from numpy import *
#import pylab as p
import sys
print len(sys.argv)
if len(sys.argv)<2:
    print "Erro: preciso de um argumento."
    raise SyntaxError
f=open(sys.argv&#91;1&#93;,'r')
a=f.readlines()
n=len(a)
print n
s=" "
for i in range(0,n-1):
    if not (a&#91;i&#93;.find('\\\\begin{document}')):
         break

k=i
print "parou na linha",i
for i in range(k+1,n-1):
    a&#91;i&#93;=a&#91;i&#93;.replace('\\n',' ')
    print i,'->',a[i]
    s=s + a[i]

s=s.replace(" $"," $latex ")
#s=s+"$"
print s

wpize.py

 Eis o código:

#!/usr/bin/env python
#versão: 0.1
# -*- coding: iso-8859-1 -*-
#from numpy import *
#import pylab as p
import sys
print len(sys.argv)
if len(sys.argv)<2:
    print "Erro: preciso de um argumento."
    raise SyntaxError
f=open(sys.argv&#91;1&#93;,'r')
a=f.readlines()
n=len(a)
print n
for i in range(0,n-1):
    if not (a&#91;i&#93;.find('\\\\begin{document}')):
         break

k=i
s=""
print "parou na linha",i
for i in range(k+1,n-1):
    a&#91;i&#93;=a&#91;i&#93;.replace('\\n',' ')
    a&#91;i&#93;=a&#91;i&#93;.replace('$','')
    print i,'->',a[i]
    s=s + a[i]

s="$latex"+s+"$"
s=s.replace(' $','$')
print s

BR-Linux + obm-l = fórmulas matemáticas no WordPress.com

No site BR-Linux apareceu uma notícia de que o site wordpress.com (onde este blog está hospedado) tem suporte a $latex \LaTeX$! Então, vamos testar, usando uma soma postada na lista obm-l (da PUC):

$latex S_n(x) := \sum_{k=1}^n \frac{\lfloor kx\rfloor}{k} = \sum_{k=1}^n [kx]/k <= [nx], n=1,2,… x\in R$

Funciona, apesar da cor ser diferente.

Este foi feito no software lyx, recém-instalado e usado pela primeira vez (nenhum conhecimento):

$latex \begin{tabular}{|c|c|c|} \hline a& & 1\tabularnewline \hline & & \tabularnewline \hline 2& & b\tabularnewline \hline \end{tabular}$

blergh, tive que “deswrapear” as linhas separadas e colocá-las numa só, pois este comando $latex qualquer_coisa \$ só funciona em uma linha!

Mas isto tira-se de letra: basta usar o sed, ou interativamente, com as macros do editor Emacs.

ADSL continua funcionando

Como era de se esperar, começou o dia primeiro de fevereiro e consegui conectar na internet, tanto que estou escrevendo neste blog.

Não modifiquei nenhuma configuração do roteador ADSL no quesito autenticação e tudo continuou normal. Pelo jeito eles resolveram voltar atrás, depois que alguns usuários de ADSL autenticados pela UFSC resolveram mandar e-mails pra pró-reitoria, lembraram também que houve uma jurisprudência parece que em Mato Grosso (ou Goiás?) em que as empresas provedoras perderam, e os consumidores ganharam.

Dá pra usar o sed pra editar arquivos sem usar arquivos temporários

Esta dica vem do site de notícias Dicas-L, mas como foi algo novo e interessante, resolvi colocar aqui para memória posterior (do tipo ah? onde tinha a dica de como editar arquivos com o sed sem se incomodar com arquivos temporários? me esqueci! ah! mas escrevi sobre isto no meu blog! pois afinal de contas, um dia eu ainda iria precisar disto!)

Então o truque consiste em abrir uma sub-shell que irá abrir o arquivo em questão num processo separado, e esta sub-shell poderá escrever diretamente no arquivo original, pois os dados originais passarão pela memória da sub-shel, não sendo perdidos:

echo "$(sed 's/nao/sim/' teste.txt)" > teste.txt

Continuar lendo