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