[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

pl.comp.programming

[VS2005][C++] Biblioteka operacji na macierzach

chojny

5/13/2007 5:59:00 PM

Witam,
czy mozecie polecic sprawdzona biblioteke operacji na macierzach
zaimplementowane w C++ (potrzebna na teraz) i C ? W zasadzie potrzebuje
jedynie proste operacje typu *,*=,+, ale w przyszlosci moze byc
potrzebnych wiecej.

Wygooglalem takie biblioteki:

1) Newmat C++ matrix library
http://www.robertnz.net/...

2) Teechsoft Matrix TCL Lite
http://www.techsoftpl.com/matrix/m...

Korzystal ktos z nich i moze podzielic sie opinia? Nie mam za bardzo
czasu na testowanie obu.
A moze jest lepsza, ktorej nie znalazlem?

Z gory dziekuje
pozdrawiam
chojny
6 Answers

KrzychK2

5/13/2007 6:26:00 PM

0

On Sun, 13 May 2007 19:58:54 +0200, chojny wrote:

> Witam,
> czy mozecie polecic sprawdzona biblioteke operacji na macierzach
> zaimplementowane w C++ (potrzebna na teraz) i C ? W zasadzie potrzebuje
> jedynie proste operacje typu *,*=,+, ale w przyszlosci moze byc
> potrzebnych wiecej.
>
> Wygooglalem takie biblioteki:
>
> 1) Newmat C++ matrix library
> http://www.robertnz.net/...
>
> 2) Teechsoft Matrix TCL Lite
> http://www.techsoftpl.com/matrix/m...
>
> Korzystal ktos z nich i moze podzielic sie opinia? Nie mam za bardzo
> czasu na testowanie obu.
> A moze jest lepsza, ktorej nie znalazlem?
>
> Z gory dziekuje
> pozdrawiam
> chojny

Korzysta3em z tej drugiej. Do?wiadczenia w powa?nym programowaniu nie
mia3em ale uda3o mi sie za jej pomoc? nasmarowaa programik do
symulacji metod? elementu skonczonego. Za przemawia dobry kawa3ek kodu
oraz odwracanie macierzy metod? Gauss-Jordan oraz to, i? wszystko jest
w jednym nag3ówku. Przeciw - BEZNADZIEJNA DOKUMENTACJA!!!! Przyk3ady do
biblioteki light s? wziete z biblioteki p3atnej i na dzien dobry sie
nie kompiluj?. Dopiero przejrzenie kodu i komentarzy troche rozja?ni3o
sytuacje. Ale wszystkie operacje sprawdza3em na macierzach 2000x2000
elementów (dodawanie, odejmowanie, mno?enie i odwracanie) zarówno na
linux jak i na windows. Nic sie nie sypa3o wiec biblioteke mo?na
uznaa za w pe3ni przenaszaln?. Nie pamietam tylko czy nie musia3em lekko
zmodyfikowaa include-ów ale chyba nie.


--
Pozdrawiam /KrzychK2 -- GG: 2471254. ICQ: 53263009, Skype: krzychk2 / K2 - korona swiata /

chojny

5/13/2007 7:54:00 PM

0

KrzychK2 napisa3(a):
> Korzysta3em z tej drugiej. Do?wiadczenia w powa?nym programowaniu nie
> mia3em ale uda3o mi sie za jej pomoc? nasmarowaa programik do
> symulacji metod? elementu skonczonego. Za przemawia dobry kawa3ek kodu
> oraz odwracanie macierzy metod? Gauss-Jordan oraz to, i? wszystko jest
> w jednym nag3ówku. Przeciw - BEZNADZIEJNA DOKUMENTACJA!!!! Przyk3ady do
> biblioteki light s? wziete z biblioteki p3atnej i na dzien dobry sie
> nie kompiluj?. Dopiero przejrzenie kodu i komentarzy troche rozja?ni3o
> sytuacje. Ale wszystkie operacje sprawdza3em na macierzach 2000x2000
> elementów (dodawanie, odejmowanie, mno?enie i odwracanie) zarówno na
> linux jak i na windows. Nic sie nie sypa3o wiec biblioteke mo?na
> uznaa za w pe3ni przenaszaln?. Nie pamietam tylko czy nie musia3em lekko
> zmodyfikowaa include-ów ale chyba nie.
>
>

Dziekuje za informacje.
Ja wlasnie uruchomilem i troche przetestowalem pierwsza biblioteke,
czyli NewMat. Po chwilowych problemach udalo sie uruchomic i wyglada na
to, ze dziala OK.

Opisze to z czym mialem problem przy uruchomieniu.
Z tego co zauwazylem to jest pewna niescislosc w dokumentacji. W
dokumentacji jest opisane aby wykorzystac przygotowany makefile
nm_m8.mak do stworzenia biblioteki newmat.lib, ktora kompiluje sie bez
zadnych zastrzezen. Jednak po wrzuceniu jej do projektu wychodzilo sporo
konfliktow przy linkowaniu (zdublowane definicje). Przegrzebalem
dokumentacje i okazalo sie, ze w drugim miejscu na stronie:

http://www.robertnz.net/Visual...

autor opisal, iz aby uruchomic newmat pod Visualem nie mozna tworzyc
biblioteki tylko do projektu (console win32, empty) trzeba dolaczyc
bezposrednio zrodla. Dolaczylem i dziala. Najlepiej sprawdzic
example.cpp albo prosty kod:

///////////////////////////
#include <iostream>
#include <newmat.h>

using std::cout;
using std::endl;

int main(){

Matrix A(1,2);
A << 11 << 12;

//cout << A(1,1) << A(1,2) << endl;

Matrix B(2,1);
B << 1 << 2;

A *= B;

cout << A(1,1) << endl;

return 0;
}
///////////////////////////

Jesli ktos ma propozycje innych bibliotek to jestem otwarty na wyzwania:).

pozdrawiam
chojny

Wit Jakuczun

5/13/2007 8:18:00 PM

0

Dnia Sun, 13 May 2007 20:26:02 +0200
KrzychK2 <krzychk2@_cut_o2.pl> napisal(a):


> > Wygooglalem takie biblioteki:
> >
> > 1) Newmat C++ matrix library
> > http://www.robertnz.net/...
> >
> > 2) Teechsoft Matrix TCL Lite
> > http://www.techsoftpl.com/matrix/m...
> >
> Korzystalem z tej drugiej. Doswiadczenia w powaznym programowaniu nie
> mialem ale udalo mi sie za jej pomoca nasmarowac programik do
> symulacji metoda elementu skonczonego. Za przemawia dobry kawalek kodu
> oraz odwracanie macierzy metoda Gauss-Jordan oraz to, iz wszystko jest
Poboczna uwaga:
Wybrales najgorsza mozliwa metode do rozwiazywania ukladów równan
pochodzacych z FEM.

Zdrowia
--
[ Wit Jakuczun <W.Jakuczun [at] wlogsolutions.com> ]
[ WLOG Solutions http://www.wlogsol... ]

KrzychK2

5/14/2007 4:49:00 AM

0

On Sun, 13 May 2007 22:18:17 +0200, Wit Jakuczun wrote:

> Dnia Sun, 13 May 2007 20:26:02 +0200
> KrzychK2 <krzychk2@_cut_o2.pl> napisa3(a):
>
>
>> > Wygooglalem takie biblioteki:
>> >
>> > 1) Newmat C++ matrix library
>> > http://www.robertnz.net/...
>> >
>> > 2) Teechsoft Matrix TCL Lite
>> > http://www.techsoftpl.com/matrix/m...
>> >
>> Korzysta3em z tej drugiej. Do?wiadczenia w powa?nym programowaniu nie
>> mia3em ale uda3o mi sie za jej pomoc? nasmarowaa programik do
>> symulacji metod? elementu skonczonego. Za przemawia dobry kawa3ek kodu
>> oraz odwracanie macierzy metod? Gauss-Jordan oraz to, i? wszystko jest
> Poboczna uwaga:
> Wybra3e? najgorsz? mo?liw? metode do rozwi?zywania uk3adów równan
> pochodz?cych z FEM.
>
> Zdrowia

Fakt bo przy odwracaniu tworzy w pamieci macierz o 2x wiekszej liczbie
kolumn, ale zale?a3o mnie na czasie a nie zabawie w optymalizacje. Mo?e
jakbym mia3 troche czasu aby spokojnie popracowaa da3oby rade co?
innego znale?a i zaimplementowaa.

Co oczywi?cie nie wp3ywa na fakt, ?e wspomniana biblioteka dobrze liczy
i nie odnotowuje padów.

--
Pozdrawiam /KrzychK2 -- GG: 2471254. ICQ: 53263009, Skype: krzychk2 / K2 - korona swiata /

Wit Jakuczun

5/14/2007 5:49:00 AM

0

Dnia Mon, 14 May 2007 06:48:39 +0200
KrzychK2 <krzychk2@_cut_o2.pl> napisal(a):

> >> oraz odwracanie macierzy metoda Gauss-Jordan oraz to, iz wszystko jest
> > Poboczna uwaga:
> > Wybrales najgorsza mozliwa metode do rozwiazywania ukladów równan
> > pochodzacych z FEM.
> >
> > Zdrowia
>
> Fakt bo przy odwracaniu tworzy w pamieci macierz o 2x wiekszej liczbie
> kolumn,
>
Nie wiem o czym piszesz, ale nie w tym lezy nieprzydatnosc tej metody do FEM.

Pozdrawiam
--
[ Wit Jakuczun <W.Jakuczun [at] wlogsolutions.com> ]
[ WLOG Solutions http://www.wlogsol... ]
[ Short offer: data mining, operational research,
time series forecasting, consulting ]

KrzychK2

5/14/2007 7:20:00 PM

0

On Mon, 14 May 2007 07:49:02 +0200, Wit Jakuczun wrote:

> Dnia Mon, 14 May 2007 06:48:39 +0200
> KrzychK2 <krzychk2@_cut_o2.pl> napisa3(a):
>
>> >> oraz odwracanie macierzy metod? Gauss-Jordan oraz to, i? wszystko jest
>> > Poboczna uwaga:
>> > Wybra3e? najgorsz? mo?liw? metode do rozwi?zywania uk3adów równan
>> > pochodz?cych z FEM.
>> >
>> > Zdrowia
>>
>> Fakt bo przy odwracaniu tworzy w pamieci macierz o 2x wiekszej liczbie
>> kolumn,
>>
> Nie wiem o czym piszesz, ale nie w tym lezy nieprzydatnosc tej metody do FEM.
>
> Pozdrawiam

W3a?nie w tym. G-J wymaga zapamietania ca3ej macierzy. A jak wiadomo w
FEM uzyskiwana macierz jest rzadka i zawiera bardzo du?o zer czyli czysta
strata pamieci. Ale za to metoda jest szybka. No nie wa?ne, pytanie nie
dotyczy3o FEM tylko biblioteki. Sam bym osobi?cie poszuka3 innej metody
rozwi?zywania uk3adu równan, bardziej optymalnej.

--
Pozdrawiam /KrzychK2 -- GG: 2471254. ICQ: 53263009, Skype: krzychk2 / K2 - korona swiata /