00001 /* 00002 * PROPRIETARY INFORMATION. This software is proprietary to 00003 * Side Effects Software Inc., and is not to be reproduced, 00004 * transmitted, or disclosed in any way without written permission. 00005 * 00006 * Produced by: 00007 * Jeff Lait 00008 * Side Effects 00009 * 477 Richmond Street West 00010 * Toronto, Ontario 00011 * Canada M5V 3E7 00012 * 416-504-9876 00013 * 00014 * NAME: Matrix Resultant (C++) 00015 * 00016 * COMMENTS: Calculates resultant matrices from descriptions 00017 * of the original polynomials. 00018 * 00019 */ 00020 00021 #ifndef __UT_MatrixResultant_H__ 00022 #define __UT_MatrixResultant_H__ 00023 00024 #include "UT_API.h" 00025 #include "UT_Assert.h" 00026 00027 #include "UT_Vector.h" 00028 class UT_Matrix; 00029 00030 class UT_API UT_MatrixResultant 00031 { 00032 public: 00033 // Finds dixon's resultant for tensor product polynomials, 00034 // resulting degree is 2*m*n. 00035 // A, B, and C are matrices vdeg+1 by udeg+1, starting at 1,1 00036 void DixonTP3(UT_Matrix &coeff, const UT_Matrix &A, 00037 const UT_Matrix &B, const UT_Matrix &C) const; 00038 00039 // Calculates Cayley's form of Bezout's resultant for two 00040 // univariate polynomials. 00041 // F & G are vectors from 0 to deg (inclusive). 00042 void Cayley2(UT_Matrix &coeff, const UT_Vector &F, 00043 const UT_Vector &G) const; 00044 }; 00045 00046 #endif
1.5.9