Return to uldet.rr CVS log | Up to [local] / OpenXM / src / asir-contrib / packages / src |
File: [local] / OpenXM / src / asir-contrib / packages / src / uldet.rr (download)
Revision 1.1, Fri Apr 8 06:25:12 2005 UTC (19 years, 1 month ago) by takayama
Renaming: bench-1 --> bench-1.rr beta --> beta.rr fourier-0 --> edu_fourier_0.rr hg21 --> taka_hg21.rr igraph --> igraph.rr sets --> oh_sets.rr uldet --> uldet.rr |
/* -*- mode: C -*- */ /* $OpenXM: OpenXM/src/asir-contrib/packages/src/uldet.rr,v 1.1 2005/04/08 06:25:12 takayama Exp $ */ /* Old, uldet, see Attic */ /* The function "uldet_det" computes the determinant of a given square matrix M of rational functions and needs O(n^3) times multiplication. Here, ULDET is the initial word of "Ultra Loose DETerminant" function:-). */ def uldet_det(M) { Row = size(M)[0]; Column = size(M)[1]; NewM = newmat(Row, Column); Coef = 1; for(I=0; I<Row; I++) { for(J=0; J<Column; J++) { Coef *= dn(M[I][J]); NewM[I][J] = nm(M[I][J]); for(K=0; K<Column; K++) { if (K!=J) { NewM[I][J] *= dn(M[I][K]); } } } } return red(det(NewM)/Coef); }