Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int tri_sylvester_solve(const matrix_t *R, matrix_t *C) {
- int i,j,k = 0;
- if(R->m != R->n | C->m != R->n | C->n != R->n){
- return -2;
- }
- //algorithm starts
- for(k = 0; k < C->n; k++){
- for(j = 0; j < k; j++) {
- for(i = 0; i < C->n; i++) {
- if(!C->A[k][i]) {
- return -2;
- }
- C->A[k][i] -= C->A[j][i]*R->A[j][k];
- }
- }
- if(!C->A[k][k]) {
- return -2;
- }
- if(R->A[k][k] == 0){
- return -1;
- }
- else if (R->A[k][k] != R->A[k][k]){
- return -1;
- }
- else if (R->A[k][k] > pow(10,300) | R->A[k][k] < -pow(10,300)){
- return -1;
- }
- fwsubst(C->m,R->A[k][k],R->A,C->A[k]);
- }
- for(k = 0; k < C->n; k++){
- for(j = 0; j < C->n; j++) {
- printf("C = %f\n",C->A[j][k]);
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement