// Svmult() multiplies mathematically the matrix of 'sylvester' with the matrix of 'vector' void Svmult(Sylvester * sylvester, Vector * vector, Vector ** fin){ if(vector->dim!=sylvester->dim){ printf("Multiplication impossible due to different matrix dimensions!\n"); deleteVector(vector); return; } int i=0,j=0; char v='x'; if(sylvester->hidden=='x'){v='y';} Sylvester * temp=NULL; copysylvester(&temp, sylvester); for(i=0;i<temp->dim;i++){ for(j=0;j<temp->dim;j++){ multiply1polyonym(&(temp->matrix[i][j]), &(temp->matrix[i][j]),(vector->matrix[j]).matrix[0]); } } printVector(vector); createZeroVector(fin, vector->dim, v); for(i=0;i<temp->dim;i++){ for(j=0;j<temp->dim;j++){ add1polyonyms(&((*fin)->matrix[i]), &((*fin)->matrix[i]), &(temp->matrix[i][j])); } } printVector(*fin); destroysylvester(&temp); deleteVector(vector); deleteVector(*fin); }
void testcreateZeroVector(void) { Vector * s = NULL; int dim = 1; char v = 'y'; createZeroVector(&s, dim, v); }