Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.83 KB | None | 0 0
  1. int tri_sylvester_solve(const matrix_t *R, matrix_t *C) {
  2. int i,j,k = 0;
  3. if(R->m != R->n | C->m != R->n | C->n != R->n){
  4. return -2;
  5. }
  6.  
  7.  
  8. //algorithm starts
  9. for(k = 0; k < C->n; k++){
  10. for(j = 0; j < k; j++) {
  11. for(i = 0; i < C->n; i++) {
  12. if(!C->A[k][i]) {
  13. return -2;
  14. }
  15. C->A[k][i] -= C->A[j][i]*R->A[j][k];
  16. }
  17. }
  18. if(!C->A[k][k]) {
  19. return -2;
  20. }
  21. if(R->A[k][k] == 0){
  22. return -1;
  23. }
  24. else if (R->A[k][k] != R->A[k][k]){
  25. return -1;
  26. }
  27. else if (R->A[k][k] > pow(10,300) | R->A[k][k] < -pow(10,300)){
  28. return -1;
  29. }
  30. fwsubst(C->m,R->A[k][k],R->A,C->A[k]);
  31. }
  32.  
  33. for(k = 0; k < C->n; k++){
  34. for(j = 0; j < C->n; j++) {
  35. printf("C = %f\n",C->A[j][k]);
  36. }
  37. }
  38. return 0;
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement