File: frobenius.mac

package info (click to toggle)
maxima 5.27.0-3
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 120,648 kB
  • sloc: lisp: 322,503; fortran: 14,666; perl: 14,343; tcl: 11,031; sh: 4,146; makefile: 2,047; ansic: 471; awk: 24; sed: 10
file content (24 lines) | stat: -rw-r--r-- 925 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/*  written by Gosei Furuya <go.maxima@gmail.com> 
#  This program is free software; you can redistribute it and/or modify        
#  it under the terms of the GNU General Public License as published by        
#  the Free Software Foundation; either version 2 of the License, or           
#  (at your option) any later version.                
*/

/*to find integral factor for a diff form,if posiible */
trans_toexact(_w):= block([anorm_table,a,b,c],
    if d(_w)@ _w # 0 then return("no answer")
    else (
	   anorm_table:norm_table,
	   a:makelist(concat('u,i),i,1,dim),
	   norm_table:map("*",a,norm_table),
	   for i:1 thru dim do
             ( extsubb2[i]:cons(basis[i]=norm_table[i]/basis[i],extsub[i])),
           b:_w & _w,
           c:( d(_w) & _w) /b,
           norm_table:anorm_table,
	   for i:1 thru dim do
             ( extsubb2[i]:cons(basis[i]=norm_table[i]/basis[i],extsub[i]))
           ),
	c
	);