GSL - problem z gsl_matrix_free

0

Witam.
Od niedawna używam GSLa, ale natknąłem sie na coś dziwnego. Mianowicie mam nastepujący kod:

 gsl_matrix* m1 = gsl_matrix_calloc(dimension, dimension);
	gsl_matrix* m2 = gsl_matrix_calloc(dimension, dimension);
        //obliczenia macierzy m1 i m2
        gsl_matrix* iter = matrixMul(m1, m2); //w funkcji matrixMul wywolana gsl_matrix_alloc
	gsl_matrix_free(m1);
	gsl_matrix_free(m2);
	return iter;

Problem polega na tym, ze potem chce policzyc wartosci wlasne macierzy iter(w innej funkcji), a okazuje sie ze nie jest ona kwadratowa. Sprawdzielm ze po wywolani funkcji matrixMul wszytko jest oke, psuje si epo wywolani gsl_matrix_free....
Ktos ma jakis pomysl co robie zle?

0

wyobraz sobie taka sytuacje:

  1. przychodzisz do oddzialu swojego banku
  2. prosisz w okienku, aby umozliwili Ci odebranie X pieniedzy z Twojego konta w innym banku, nie w tym w ktorym jestes
  3. urzednik mowi - ok, nie ma sprawy. Wystawia Ci karteczke z informacja o co chodzi, podpisuje ja.
  4. Patrzysz na karteczke, a tam napis "Drogi pracowniku innego banku, ten klient chce cos zrobic na swoim koncie w jego banku. Jestem kasjer J.Kowalski, zadzwon do mnie, wytlumacze o co chodzi"
  5. bierzesz karteczke, strzelasz urzednikowi w glowe
  6. idziesz do innego banku, oni patrza na owa karteczke
  7. oni czytaja karteczke, a Ty sie dziwisz, czemu masz problem z wyplaceniem pieniedzy.

patrzac na Twoj kod:
linijki 1-2, to np. bank i inny bank
linijki 3-4, to karteczka informujaca oba banki o co chodzi
linijki 5-6, to zabicie urzednikow, wysadzene banku w powietrze, etc
linijka 7, to Ty dziwiacy sie, czemu karteczka "nie dziala"

1 użytkowników online, w tym zalogowanych: 0, gości: 1