[R-br] [OFF] Biblioteca C para matrizes.

Pedro Rafael pedro.rafael.marinho em gmail.com
Domingo Agosto 12 20:44:05 BRT 2012


Pessoal estou tendo um problema com  a biblioteca armadillo no linux
fedora. Quando vou calcular o determinante de uma matriz muito pequena
funciona mas quando a minha matriz é grande ocorre o seguinte erro:

error: det(): use of ATLAS or LAPACK needs to be enabled

Já instalei as bibliotecas  cmake, blas-devel, lapack-devel,
atlas-devel, boost-devel mas o erro permanece. Alguém já teve isso ou
poderia dar uma dica de como corrigir esse problema?

Obrigado,
Pedro Rafael Diniz Marinho.


Em 10 de agosto de 2012 23:58, Pedro Rafael
<pedro.rafael.marinho em gmail.com> escreveu:
> Não compreendi os exemplos. Vou dar uma lida maior e buscar mais coisas na net.
>
> Obrigado,
> Pedro Rafael Diniz Marinho.
>
>
> Em 10 de agosto de 2012 23:04, beniltoncarvalho [via R-br]
> <ml-node+s2285057n4655836h93 em n4.nabble.com> escreveu:
>> No básico do basico... Envolva sua função em um extern. Dai use o .Call
>>
>> Sent from a mobile device
>>
>> On Aug 11, 2012 2:42 AM, "Pedro Rafael" <[hidden email]> wrote:
>>>
>>> Interessante. Com o comando RcppArmadillo.package.skeleton é possível
>>> criar a estrutura de diretórios de um pacote R. Digamos que eu tenha
>>> um código C++ e queria arrumar ele para fazer um pacote para o R. Eu
>>> queria entender como se da essa comunicação. Só a filosofia mesmo. Eu
>>> entendo como criar um pacote do R utilizando o sistema de orientação à
>>> objeto S3 e sei que existe outras como S4 e R5. O que não consigo
>>> entender bem é como comunicar o código C/C++ com o R e como se dá a
>>> comunicação desses códigos (C/C++) com o R. Vi que posso chamar
>>> códigos do R para o C++ mas acho que o mais interessante é o
>>> contrário. Como chamar um código otimizado de C++ para R e criar  um
>>> pacote caso seja conveniente. Alguém poderia me dar um exemplo com uma
>>> função bem simplória só para entender por alto como funciona?
>>>
>>> Obrigado,
>>> Pedro Rafael Diniz Marinho.
>>>
>>>
>>> Em 10 de agosto de 2012 22:23, beniltoncarvalho [via R-br]
>>> <[hidden email]> escreveu:
>>>
>>> > Sim. Mas antes de qualquer coisa, veja o pacote RcppArmadillo e os
>>> > documentos de ajuda associados. b
>>> >
>>> > 2012/8/11 Pedro Rafael <[hidden email]>:
>>> >
>>> >> Uma última dúvida. É fácil integrar códigos C++ com o R? Utilizei as
>>> >> funções .C() e .Call() para chamar comandos em C para R. Nunca tentei
>>> >> utilizando C++. A construção de pacotes R feitos utilizando funções
>>> >> escritas em C++ também é tranquila?
>>> >>
>>> >>
>>> >> Obrigado,
>>> >> Pedro Rafael Diniz Marinho.
>>> >>
>>> >>
>>> >> Em 10 de agosto de 2012 22:04, Pedro Rafael
>>> >> <[hidden email]> escreveu:
>>> >>> Que legal Benilton, vou olhar bem esse pacote. Muito obrigado pelas
>>> >>> informações. Vou brincar um pouco com esse pacote.  Procurei na web
>>> >>> outros pacotes de álgebra linear para C++ mas me parece que esse é o
>>> >>> pacote livre mais completo.
>>> >>> [   ],
>>> >>> Pedro Rafael Diniz Marinho.
>>> >>>
>>> >>>
>>> >>> Em 10 de agosto de 2012 21:31, beniltoncarvalho [via R-br]
>>> >>> <[hidden email]> escreveu:
>>> >>>> Se vc gostou do Armadillo, divirta-se com o pacote RcppArmadillo. b
>>> >>>>
>>> >>>> 2012/8/11 Pedro Rafael <[hidden email]>:
>>> >>>>
>>> >>>>> Obrigado Prof. Paulo pela informação, me ajudou bastante. Eu gostei
>>> >>>>> muito Benilton da biblioteca de álgebra linear "armadillo". Muito
>>> >>>>> mais
>>> >>>>> fácil que a GSL. Eu acho desorganizado os códigos C. O problema que
>>> >>>>> quando escrevo algum código matemático em C++ sempre tem uma
>>> >>>>> estrutura
>>> >>>>> procedural, deve ser o vício que tenho do C. Acabo usando quase nada
>>> >>>>> de Classes, Heranças, Polimorfismo, etc. Contudo, acho interessante
>>> >>>>> a
>>> >>>>> facilidade de se trabalhar com vetores, matrizes e alocação dinâmica
>>> >>>>> utilizando C++.
>>> >>>>> [   ],
>>> >>>>> Pedro Rafael Diniz Marinho.
>>> >>>>>
>>> >>>>>
>>> >>>>> Em 10 de agosto de 2012 20:28, beniltoncarvalho [via R-br]
>>> >>>>> <[hidden email]> escreveu:
>>> >>>>>> Pedro,
>>> >>>>>>
>>> >>>>>> Há muito deixei de procurar 'a linguagem mais <escolha o adjetivo>
>>> >>>>>> para <escolha a tarefa>'. Fico contente em usar qualquer linguagem
>>> >>>>>> que
>>> >>>>>> se mostre util e nao me force a reinventar a roda. Dito isso, nao
>>> >>>>>> vejo
>>> >>>>>> la essas diferencas entre C ou C++. E' obvio que algum especialista
>>> >>>>>> em
>>> >>>>>> alguma delas encontrara' inumeros casos que servem de
>>> >>>>>> contra-exemplo;
>>> >>>>>> mas enqto ele faz isso, eu sigo adiante resolvendo outros
>>> >>>>>> problemas.
>>> >>>>>>
>>> >>>>>> b
>>> >>>>>>
>>> >>>>>> 2012/8/10 Paulo Justiniano <[hidden email]>:
>>> >>>>>>
>>> >>>>>>> Pedro
>>> >>>>>>>
>>> >>>>>>> quando se diz em evitar inverter matrizes é porque muitas contas
>>> >>>>>>> podem
>>> >>>>>>> ser
>>> >>>>>>> feitas sem a inversao explícita
>>> >>>>>>>
>>> >>>>>>> Por exemplo, a conta
>>> >>>>>>>
>>> >>>>>>> X'V^{-1}X
>>> >>>>>>>
>>> >>>>>>> pode ser feita evitando inversao a partir da cholesky de V
>>> >>>>>>> que pode ser aproveitada de calculos anteriores uma vez que já
>>> >>>>>>> deve
>>> >>>>>>> ter
>>> >>>>>>> sido
>>> >>>>>>> calculada antes para obter as estimativas
>>> >>>>>>>
>>> >>>>>>> No exemplo
>>> >>>>>>>
>>> >>>>>>> cV <- chol(V)
>>> >>>>>>> crossprod(backsolve(cV, X, transpose=T))
>>> >>>>>>>
>>> >>>>>>> isto é ***muito*** mais rapido (compare com system.time())
>>> >>>>>>> do que
>>> >>>>>>>
>>> >>>>>>> t(X) %*% solve(V) %*% X
>>> >>>>>>>
>>> >>>>>>>
>>> >>>>>>>
>>> >>>>>>>
>>> >>>>>>> On Thu, 9 Aug 2012, Pedro Rafael wrote:
>>> >>>>>>>
>>> >>>>>>>> Com respeito a evitar de trabalhar com inversas de matrizes é
>>> >>>>>>>> fato
>>> >>>>>>>> mas
>>> >>>>>>>> infelizmente tenho que trabalhar. Para trabalhar com modelos de
>>> >>>>>>>> regressão heterocedásticos vou precisar de cálculo de inversas de
>>> >>>>>>>> matrizes para o cálculo da estrutura de covariância de tal
>>> >>>>>>>> estimador.
>>> >>>>>>>> [   ],
>>> >>>>>>>> Pedro Rafael Diniz Marinho.
>>> >>>>>>>>
>>> >>>>>>>>
>>> >>>>>>>> Em 9 de agosto de 2012 17:02, Pedro Rafael
>>> >>>>>>>> <[hidden email]> escreveu:
>>> >>>>>>>>>
>>> >>>>>>>>> Verdade Benilton inverter matrizes requer um custo computacional
>>> >>>>>>>>> bastante elevado. Atualmente programo em C e programei muito
>>> >>>>>>>>> pouco
>>> >>>>>>>>> em
>>> >>>>>>>>> C++ por curiosidade. Você acreditar que códigos em C++ perdem
>>> >>>>>>>>> muito
>>> >>>>>>>>> desempenho em comparação à C considerando que a programação em
>>> >>>>>>>>> ambas
>>> >>>>>>>>> as linguagens sejam eficientes? Você tem boas experiências na
>>> >>>>>>>>> utilização de C++ para programação estatística e para uso em
>>> >>>>>>>>> simulações?
>>> >>>>>>>>>
>>> >>>>>>>>> Gostei bastante dessa biblioteca que você me passou, muito
>>> >>>>>>>>> interessante. Não conhecia. A única biblioteca para álgebra
>>> >>>>>>>>> linear
>>> >>>>>>>>> livre que eu conhecia era a GSL.
>>> >>>>>>>>>
>>> >>>>>>>>> [   ],
>>> >>>>>>>>> Pedro Rafael Diniz Marinho.
>>> >>>>>>>>>
>>> >>>>>>>>>
>>> >>>>>>>>> Em 9 de agosto de 2012 15:58, beniltoncarvalho [via R-br]
>>> >>>>>>>>> <[hidden email]> escreveu:
>>> >>>>>>>>>>
>>> >>>>>>>>>> Eu ainda sou do time "se vc esta' invertendo matriz, entao vc
>>> >>>>>>>>>> esta'
>>> >>>>>>>>>> fazendo algo errado"...
>>> >>>>>>>>>>
>>> >>>>>>>>>> Em C++, vc vai querer olhar o que Armadillo tem a oferecer.
>>> >>>>>>>>>>
>>> >>>>>>>>>> b
>>> >>>>>>>>>>
>>> >>>>>>>>>> 2012/8/9 Pedro Rafael <[hidden email]>:
>>> >>>>>>>>>>
>>> >>>>>>>>>>> Pessoal gostaria de saber qual uma boa biblioteca livre de C
>>> >>>>>>>>>>> para
>>> >>>>>>>>>>> trabalhar com operações matriciais como inversas e produtos de
>>> >>>>>>>>>>> matrizes. Qualquer dica será interessante.
>>> >>>>>>>>>>>
>>> >>>>>>>>>>> [ ] Pedro Rafael Diniz Marinho.
>>> >>>>>>>>>>> _______________________________________________
>>> >>>>>>>>>>> R-br mailing list
>>> >>>>>>>>>>> [hidden email]
>>> >>>>>>>>>>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>>> >>>>>>>>>>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e
>>> >>>>>>>>>>> forneça
>>> >>>>>>>>>>> código mínimo reproduzível.
>>> >>>>>>>>>>
>>> >>>>>>>>>> _______________________________________________
>>> >>>>>>>>>> R-br mailing list
>>> >>>>>>>>>> [hidden email]
>>> >>>>>>>>>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>>> >>>>>>>>>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e
>>> >>>>>>>>>> forneça
>>> >>>>>>>>>> código
>>> >>>>>>>>>> mínimo reproduzível.
>>> >>>>>>>>>>
>>> >>>>>>>>>>
>>> >>>>>>>>>> ________________________________
>>> >>>>>>>>>> If you reply to this email, your message will be added to the
>>> >>>>>>>>>> discussion
>>> >>>>>>>>>> below:
>>> >>>>>>>>>>
>>> >>>>>>>>>>
>>> >>>>>>>>>>
>>> >>>>>>>>>>
>>> >>>>>>>>>>
>>> >>>>>>>>>> http://r-br.2285057.n4.nabble.com/R-br-OFF-Biblioteca-C-para-matrizes-tp4655808p4655810.html
>>> >>>>>>>>>> To unsubscribe from R-br, click here.
>>> >>>>>>>>>> NAML
>>> >>>>>>>>
>>> >>>>>>>> _______________________________________________
>>> >>>>>>>> R-br mailing list
>>> >>>>>>>> [hidden email]
>>> >>>>>>>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>>> >>>>>>>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e
>>> >>>>>>>> forneça
>>> >>>>>>>> código mínimo reproduzível.
>>> >>>>>>>
>>> >>>>>>>
>>> >>>>>>> _______________________________________________
>>> >>>>>>> R-br mailing list
>>> >>>>>>> [hidden email]
>>> >>>>>>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>>> >>>>>>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e
>>> >>>>>>> forneça
>>> >>>>>>> código
>>> >>>>>>> mínimo reproduzível.
>>> >>>>>> _______________________________________________
>>> >>>>>> R-br mailing list
>>> >>>>>> [hidden email]
>>> >>>>>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>>> >>>>>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e
>>> >>>>>> forneça
>>> >>>>>> código
>>> >>>>>> mínimo reproduzível.
>>> >>>>>>
>>> >>>>>>
>>> >>>>>> ________________________________
>>> >>>>>> If you reply to this email, your message will be added to the
>>> >>>>>> discussion
>>> >>>>>> below:
>>> >>>>>>
>>> >>>>>>
>>> >>>>>>
>>> >>>>>> http://r-br.2285057.n4.nabble.com/R-br-OFF-Biblioteca-C-para-matrizes-tp4655808p4655826.html
>>> >>>>>> To unsubscribe from R-br, click here.
>>> >>>>>> NAML
>>> >>>>> _______________________________________________
>>> >>>>> R-br mailing list
>>> >>>>> [hidden email]
>>> >>>>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>>> >>>>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
>>> >>>>> código mínimo reproduzível.
>>> >>>> _______________________________________________
>>> >>>> R-br mailing list
>>> >>>> [hidden email]
>>> >>>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>>> >>>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
>>> >>>> código
>>> >>>> mínimo reproduzível.
>>> >>>>
>>> >>>>
>>> >>>> ________________________________
>>> >>>> If you reply to this email, your message will be added to the
>>> >>>> discussion
>>> >>>> below:
>>> >>>>
>>> >>>>
>>> >>>> http://r-br.2285057.n4.nabble.com/R-br-OFF-Biblioteca-C-para-matrizes-tp4655808p4655830.html
>>> >>>> To unsubscribe from R-br, click here.
>>> >>>> NAML
>>> >> _______________________________________________
>>> >> R-br mailing list
>>> >> [hidden email]
>>> >> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>>> >> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
>>> >> código mínimo reproduzível.
>>> > _______________________________________________
>>> > R-br mailing list
>>> > [hidden email]
>>> > https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>>> > Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
>>> > código
>>> > mínimo reproduzível.
>>> >
>>> >
>>> > ________________________________
>>> > If you reply to this email, your message will be added to the discussion
>>> > below:
>>> >
>>> > http://r-br.2285057.n4.nabble.com/R-br-OFF-Biblioteca-C-para-matrizes-tp4655808p4655833.html
>>> > To unsubscribe from R-br, click here.
>>> > NAML
>>> _______________________________________________
>>> R-br mailing list
>>> [hidden email]
>>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
>>> código mínimo reproduzível.
>>
>>
>> _______________________________________________
>> R-br mailing list
>> [hidden email]
>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código
>> mínimo reproduzível.
>>
>> ________________________________
>> If you reply to this email, your message will be added to the discussion
>> below:
>> http://r-br.2285057.n4.nabble.com/R-br-OFF-Biblioteca-C-para-matrizes-tp4655808p4655836.html
>> To unsubscribe from R-br, click here.
>> NAML


Mais detalhes sobre a lista de discussão R-br