Changeset 06b3e8 in git
- Timestamp:
- Dec 7, 2017, 11:10:06 AM (6 years ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- a1d4a2fe2dac9eb7b440649aca38054530ce8ea0
- Parents:
- aad4ca42fd2df029c3026bf93dfc208d7275cbdb
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/ncfactor.lib
raad4ca4 r06b3e8 1 1 /////////////////////////////////////////////////////////// 2 version="version ncfactor.lib 4. 0.3.2 Jul_2016"; // $Id$2 version="version ncfactor.lib 4.1.1.0 Dec_2017 "; // $Id$ 3 3 category="Noncommutative"; 4 4 info=" … … 8 8 9 9 OVERVIEW: 10 @texinfo 11 In this library, new methods for factorization on polynomials 10 New methods for factorization on polynomials 12 11 are implemented for three types of algebras, all generated by 13 2*n, n in NN, generators (n'th Weyl, n'th shift and graded polynomials in n'th q-Weyl algebras)14 over a field K.12 2*n, n in NN, generators (n'th Weyl, n'th shift and graded polynomials in n'th q-Weyl algebras) 13 over a field K. 15 14 @* More detailled description of the algorithms and related publications can be found at 16 15 @uref{https://cs.uwaterloo.ca/\~aheinle/}. 17 @end texinfo18 16 19 17 PROCEDURES: … … 6737 6735 result = 0; 6738 6736 } 6737 input = (x(1)^2 +x(1)*d(1)+2)*(x(1)+d(1)); 6738 expected = list(list(number(1), x(1)+d(1), x(1)+d(1), x(1)), 6739 list(number(1), x(1)^2+x(1)*d(1)+2, x(1)+d(1))); 6740 obtained = facWeyl(input); 6741 if ((!isListEqual(expected,obtained))) 6742 { 6743 print("Test 5 for facWeyl failed."); 6744 print("Expected:\n"); 6745 print(expected); 6746 print("obtained:\n"); 6747 print(obtained); 6748 result = 0; 6749 } 6739 6750 return(result); 6740 6751 }//testing facWeyl … … 6815 6826 for (j=i+1; j<=posRight; j++) 6816 6827 {//multiplying homogeneous elements from the right 6817 if(!homogwithorderNthWeyl(factors[j]))6818 {break;}6819 tempElem = tempElem*factors[j];6820 tempRightBorder = j;6828 if(!homogwithorderNthWeyl(factors[j])) 6829 {break;} 6830 tempElem = tempElem*factors[j]; 6831 tempRightBorder = j; 6821 6832 }//multiplying homogeneous elements from the right 6822 6833 for (j=i-1; j>=posLeft; j--) … … 7038 7049 return(homogfacNthWeyl_all(h)); 7039 7050 }//we are already dealing with a -1,1 homogeneous poly 7051 return(ncfactor_without_opt(h)); //temp fix for now; soon, a more 7052 //major refactor follows 7040 7053 list resulttemp = 7041 7054 extractHomogeneousDivisorsNthWeyl(h/commonCoefficient); … … 10796 10809 for (i = 1; i<=voice;i++) 10797 10810 {dbprintWhitespace = dbprintWhitespace + " ";} 10798 10811 return(ncfactor_without_opt(h));//temporary thing until bugfix. 10799 10812 //---------- Start of interesting part ---------- 10800 10813 … … 11466 11479 11467 11480 proc homogfacNthQWeyl(poly h) 11468 "USAGE: 11469 @format 11470 homogfacNthQWeyl(h); h is a homogeneous polynomial in the 11481 "USAGE: homogfacNthQWeyl(h); h is a homogeneous polynomial in the 11471 11482 n'th q-Weyl algebra with respect to the weight vector 11472 [-1,...,-1,1,...,1]. 11473 \__ __/ \__ __/ 11474 \/ \/ 11475 n/2 n/2 11476 @end format 11483 @ [-1,...,-1,1,...,1]. 11484 @ \__ __/ \__ __/ 11485 @ \/ \/ 11486 @ n/2 n/2 11477 11487 RETURN: list 11478 11488 PURPOSE: Computes a factorization of a homogeneous polynomial h … … 11769 11779 @format 11770 11780 homogfacNthQWeyl_all(h); h is a homogeneous polynomial in the 11771 n'th q-Weyl algebra with respect to the weight vector 11772 11773 [-1,...,-1,1,...,1]. 11774 \__ __/ \__ __/ 11775 \/ \/ 11776 n/2 n/2 11781 n'th q-Weyl algebra with respect to the weight vector 11782 [-1,...,-1,1,...,1]. 11783 \__ __/ \__ __/ 11784 \/ \/ 11785 n/2 n/2 11777 11786 @end format 11778 11787 RETURN: list … … 11788 11797 - We have n parameters q_1,..., q_n given. 11789 11798 11790 SEE ALSO: homogfac FirstQWeyl, homogfacFirstQWeyl_all11799 SEE ALSO: homogfacNthWeyl, homogfacFirstQWeyl, homogfacFirstQWeyl_all 11791 11800 " 11792 11801 {//proc homogfacNthQWeyl_all
Note: See TracChangeset
for help on using the changeset viewer.