Nothepad

28/02/2007

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

Arquivado em: math — nothepad @ 0:05

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

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

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

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

20/02/2007

implementação, exemplos, erros

Arquivado em: linux, math — nothepad @ 17:10

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 para símbolos matemáticos veja esta página):

\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=\ddots) nem subscritos (a_{ij}=a_{ij}) dentro de tabelas, usando o ambiente tabular, o comando falha e aparece algo como:

\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 f: U\rightarrow R é uma função diferenciável em um conjunto aberto U de R^{2}, então o gráfico de f, isto é, o subconjunto de R^{3}dado por (x,y,f(x,y))para (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

Arquivado em: python — nothepad @ 16:25

 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[1],'r')
a=f.readlines()
n=len(a)
print n
s=" "
for i in range(0,n-1):
    if not (a[i].find('\\\\begin{document}')):
         break

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

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

wpize.py

Arquivado em: python — nothepad @ 16:03

 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[1],'r')
a=f.readlines()
n=len(a)
print n
for i in range(0,n-1):
    if not (a[i].find('\\\\begin{document}')):
         break

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

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

19/02/2007

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

Arquivado em: internet, linux — nothepad @ 1:51

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

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):

\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 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.

10/02/2007

ADSL continua funcionando

Arquivado em: internet — nothepad @ 16:12

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.

04/02/2007

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

Arquivado em: linux — nothepad @ 12:24

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

(mais…)

Blog no WordPress.com.