trigsimp.rlg 36 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408
  1. Tue Apr 15 00:36:09 2008 run on win32
  2. % Test file for TrigSimp package
  3. %-------------------------TrigSimp--------------------------
  4. trigsimp(tan(x+y), keepalltrig);
  5. - (tan(x) + tan(y))
  6. ----------------------
  7. tan(x)*tan(y) - 1
  8. trigsimp(ws, keepalltrig, combine);
  9. tan(x + y)
  10. trigsimp(sin(5x-9y));
  11. 4 9 4 7
  12. - 4096*cos(x)*sin(x) *sin(y) + 9216*cos(x)*sin(x) *sin(y)
  13. 4 5 4 3
  14. - 6912*cos(x)*sin(x) *sin(y) + 1920*cos(x)*sin(x) *sin(y)
  15. 4 2 9
  16. - 144*cos(x)*sin(x) *sin(y) + 3072*cos(x)*sin(x) *sin(y)
  17. 2 7 2 5
  18. - 6912*cos(x)*sin(x) *sin(y) + 5184*cos(x)*sin(x) *sin(y)
  19. 2 3 2 9
  20. - 1440*cos(x)*sin(x) *sin(y) + 108*cos(x)*sin(x) *sin(y) - 256*cos(x)*sin(y)
  21. 7 5 3
  22. + 576*cos(x)*sin(y) - 432*cos(x)*sin(y) + 120*cos(x)*sin(y)
  23. 5 8 5 6
  24. - 9*cos(x)*sin(y) + 4096*cos(y)*sin(x) *sin(y) - 7168*cos(y)*sin(x) *sin(y)
  25. 5 4 5 2 5
  26. + 3840*cos(y)*sin(x) *sin(y) - 640*cos(y)*sin(x) *sin(y) + 16*cos(y)*sin(x)
  27. 3 8 3 6
  28. - 5120*cos(y)*sin(x) *sin(y) + 8960*cos(y)*sin(x) *sin(y)
  29. 3 4 3 2 3
  30. - 4800*cos(y)*sin(x) *sin(y) + 800*cos(y)*sin(x) *sin(y) - 20*cos(y)*sin(x)
  31. 8 6
  32. + 1280*cos(y)*sin(x)*sin(y) - 2240*cos(y)*sin(x)*sin(y)
  33. 4 2
  34. + 1200*cos(y)*sin(x)*sin(y) - 200*cos(y)*sin(x)*sin(y) + 5*cos(y)*sin(x)
  35. trigsimp(ws, combine);
  36. sin(5*x - 9*y)
  37. trigsimp(cos(10x), cos);
  38. 10 8 6 4 2
  39. 512*cos(x) - 1280*cos(x) + 1120*cos(x) - 400*cos(x) + 50*cos(x) - 1
  40. trigsimp(cos(10x), sin);
  41. 10 8 6 4 2
  42. - 512*sin(x) + 1280*sin(x) - 1120*sin(x) + 400*sin(x) - 50*sin(x) + 1
  43. trigsimp((sin(x-a)+sin(x+a))/(cos(x-a)+cos(x+a)));
  44. sin(x)
  45. --------
  46. cos(x)
  47. trigsimp(cos(6x+4y), sin);
  48. 5 3 5
  49. 256*cos(x)*cos(y)*sin(x) *sin(y) - 128*cos(x)*cos(y)*sin(x) *sin(y)
  50. 3 3 3
  51. - 256*cos(x)*cos(y)*sin(x) *sin(y) + 128*cos(x)*cos(y)*sin(x) *sin(y)
  52. 3
  53. + 48*cos(x)*cos(y)*sin(x)*sin(y) - 24*cos(x)*cos(y)*sin(x)*sin(y)
  54. 6 4 6 2 6 4 4
  55. - 256*sin(x) *sin(y) + 256*sin(x) *sin(y) - 32*sin(x) + 384*sin(x) *sin(y)
  56. 4 2 4 2 4 2 2
  57. - 384*sin(x) *sin(y) + 48*sin(x) - 144*sin(x) *sin(y) + 144*sin(x) *sin(y)
  58. 2 4 2
  59. - 18*sin(x) + 8*sin(y) - 8*sin(y) + 1
  60. trigsimp(ws, expon);
  61. 12*i*x + 8*i*y
  62. e + 1
  63. ---------------------
  64. 6*i*x + 4*i*y
  65. 2*e
  66. trigsimp(ws, hyp);
  67. 5 3
  68. 256*cosh(i*x)*cosh(i*y)*sinh(i*x) *sinh(i*y)
  69. 5
  70. + 128*cosh(i*x)*cosh(i*y)*sinh(i*x) *sinh(i*y)
  71. 3 3
  72. + 256*cosh(i*x)*cosh(i*y)*sinh(i*x) *sinh(i*y)
  73. 3
  74. + 128*cosh(i*x)*cosh(i*y)*sinh(i*x) *sinh(i*y)
  75. 3
  76. + 48*cosh(i*x)*cosh(i*y)*sinh(i*x)*sinh(i*y)
  77. 6 4
  78. + 24*cosh(i*x)*cosh(i*y)*sinh(i*x)*sinh(i*y) + 256*sinh(i*x) *sinh(i*y)
  79. 6 2 6 4 4
  80. + 256*sinh(i*x) *sinh(i*y) + 32*sinh(i*x) + 384*sinh(i*x) *sinh(i*y)
  81. 4 2 4 2 4
  82. + 384*sinh(i*x) *sinh(i*y) + 48*sinh(i*x) + 144*sinh(i*x) *sinh(i*y)
  83. 2 2 2 4 2
  84. + 144*sinh(i*x) *sinh(i*y) + 18*sinh(i*x) + 8*sinh(i*y) + 8*sinh(i*y) + 1
  85. trigsimp(ws, combine);
  86. cosh(6*i*x + 4*i*y)
  87. trigsimp(ws, trig, combine);
  88. cos(6*x + 4*y)
  89. trigsimp(sqrt(1-cos(2x)));
  90. sqrt(2)*abs(sin(x))
  91. trigsimp(sin(x)^20*cos(x)^20, sin);
  92. 20 20 18 16 14 12
  93. sin(x) *(sin(x) - 10*sin(x) + 45*sin(x) - 120*sin(x) + 210*sin(x)
  94. 10 8 6 4 2
  95. - 252*sin(x) + 210*sin(x) - 120*sin(x) + 45*sin(x) - 10*sin(x)
  96. + 1)
  97. trigsimp(sin(x)^20*cos(x)^20, cos);
  98. 20 20 18 16 14 12
  99. cos(x) *(cos(x) - 10*cos(x) + 45*cos(x) - 120*cos(x) + 210*cos(x)
  100. 10 8 6 4 2
  101. - 252*cos(x) + 210*cos(x) - 120*cos(x) + 45*cos(x) - 10*cos(x)
  102. + 1)
  103. trigsimp(sin(x)^20*cos(x)^20, compact);
  104. 20 20
  105. cos(x) *sin(x)
  106. trigsimp(sin(x)^10, combine);
  107. - cos(10*x) + 10*cos(8*x) - 45*cos(6*x) + 120*cos(4*x) - 210*cos(2*x) + 126
  108. ------------------------------------------------------------------------------
  109. 512
  110. trigsimp(ws, hyp);
  111. 10
  112. - sinh(i*x)
  113. trigsimp(ws, expon);
  114. 20*i*x 18*i*x 16*i*x 14*i*x 12*i*x 10*i*x
  115. ( - e + 10*e - 45*e + 120*e - 210*e + 252*e
  116. 8*i*x 6*i*x 4*i*x 2*i*x 10*i*x
  117. - 210*e + 120*e - 45*e + 10*e - 1)/(1024*e )
  118. trigsimp(ws, trig);
  119. 10
  120. sin(x)
  121. int(sin(x+y)*cos(x-y)*tan(x), x);
  122. int(cos(x - y)*sin(x + y)*tan(x),x)
  123. int(trigsimp(sin(x+y)*cos(x-y)*tan(x)), x);
  124. 2 2
  125. cos(x) *x - cos(x)*sin(x) - 2*cos(y)*log(cos(x))*sin(y) + sin(x) *x
  126. ---------------------------------------------------------------------
  127. 2
  128. % int(sin(x+y)*cos(x-y)/tan(x), x) hangs
  129. int(trigsimp(sin(x+y)*cos(x-y)/tan(x)), x);
  130. x 2
  131. (cos(x)*sin(x) - 2*cos(y)*log(tan(---) + 1)*sin(y)
  132. 2
  133. x
  134. + 2*cos(y)*log(tan(---))*sin(y) + x)/2
  135. 2
  136. trigsimp(2tan(x)*(sec(x)^2 - tan(x)^2 - 1));
  137. 0
  138. on rationalize;
  139. df(sqrt(1+cos(x)), x, 4);
  140. 4 2 2 2
  141. (sqrt(cos(x) + 1)*( - 4*cos(x) - 20*cos(x) *sin(x) + 12*cos(x)
  142. 2 4 2
  143. - 4*cos(x)*sin(x) + 8*cos(x) - 15*sin(x) + 16*sin(x) ))/(16
  144. 4 3 2
  145. *(cos(x) + 4*cos(x) + 6*cos(x) + 4*cos(x) + 1))
  146. off rationalize;
  147. trigsimp(ws);
  148. sqrt(cos(x) + 1)
  149. ------------------
  150. 16
  151. df(2cos((x+y)/2)*cos((x-y)/2), x);
  152. x - y x + y x + y x - y
  153. - (cos(-------)*sin(-------) + cos(-------)*sin(-------))
  154. 2 2 2 2
  155. trigsimp(ws, combine);
  156. - sin(x)
  157. df(int(1/cos(x), x), x);
  158. x 2
  159. - (tan(---) + 1)
  160. 2
  161. --------------------
  162. x 2
  163. tan(---) - 1
  164. 2
  165. trigsimp(ws, combine);
  166. 1
  167. --------
  168. cos(x)
  169. trigsimp(cos(100x));
  170. 100
  171. 633825300114114700748351602688*sin(x)
  172. 98
  173. - 15845632502852867518708790067200*sin(x)
  174. 96
  175. + 192128294097091018664344079564800*sin(x)
  176. 94
  177. - 1505335087771022414277335056384000*sin(x)
  178. 92
  179. + 8567473526884295537508113973248000*sin(x)
  180. 90
  181. - 37750993877408064336851542202122240*sin(x)
  182. 88
  183. + 134036108580690866727917044786790400*sin(x)
  184. 86
  185. - 394078512785625681900511864396185600*sin(x)
  186. 84
  187. + 978503372439851812055958467641344000*sin(x)
  188. 82
  189. - 2082455895192505138478065456775168000*sin(x)
  190. 80
  191. + 3842131126630171980492030767750184960*sin(x)
  192. 78
  193. - 6200783636440931286187342812099379200*sin(x)
  194. 76
  195. + 8816739233064449172547628060953804800*sin(x)
  196. 74
  197. - 11108623702136905456127648087408640000*sin(x)
  198. 72
  199. + 12460295938318846194767764735918080000*sin(x)
  200. 70
  201. - 12489614281703125832873100652943769600*sin(x)
  202. 68
  203. + 11221137831217652115471926367879168000*sin(x)
  204. 66
  205. - 9058026923994972189597820080095232000*sin(x)
  206. 64
  207. + 6581798018959761296303294062264320000*sin(x)
  208. 62
  209. - 4310885252184171141438414824407040000*sin(x)
  210. 60
  211. + 2547463753712583633893763260298035200*sin(x)
  212. 58
  213. - 1358954443662228159129584379363328000*sin(x)
  214. 56
  215. + 654531379770880870350000868032512000*sin(x)
  216. 54
  217. - 284578860769948204500000377405440000*sin(x)
  218. 52
  219. + 111631674825053695350740279623680000*sin(x)
  220. 50
  221. - 39472960218138986676021762874933248*sin(x)
  222. 48
  223. + 12566106098549963273941439584665600*sin(x)
  224. 46
  225. - 3595780740528756614156758967910400*sin(x)
  226. 44
  227. + 923024074019658505866132324352000*sin(x)
  228. 42
  229. - 212040013118649088525828358144000*sin(x)
  230. 40
  231. + 43468202689323063147794813419520*sin(x)
  232. 38
  233. - 7925478751208973645460484915200*sin(x)
  234. 36
  235. + 1280241627320751027747867852800*sin(x)
  236. 34
  237. - 182395347175955031090266112000*sin(x)
  238. 32
  239. + 22799418396994378886283264000*sin(x)
  240. 30 28
  241. - 2485387148331694929142087680*sin(x) + 234623135747458180159897600*sin(x)
  242. 26 24
  243. - 19023497493037149742694400*sin(x) + 1312104559685287280640000*sin(x)
  244. 22 20
  245. - 76111992112891822080000*sin(x) + 3662889620432918937600*sin(x)
  246. 18 16
  247. - 143850563845029888000*sin(x) + 4517474603507712000*sin(x)
  248. 14 12
  249. - 110586893598720000*sin(x) + 2042087523840000*sin(x)
  250. 10 8 6
  251. - 27227833651200*sin(x) + 246628928000*sin(x) - 1386112000*sin(x)
  252. 4 2
  253. + 4165000*sin(x) - 5000*sin(x) + 1
  254. trigsimp(ws, combine);
  255. cos(100*x)
  256. trigsimp(sinh(3a+4b-5c)*cosh(3a-5b-6c));
  257. 5 10
  258. 16384*cosh(a)*cosh(b)*cosh(c)*sinh(a) *sinh(c)
  259. 5 8
  260. + 36864*cosh(a)*cosh(b)*cosh(c)*sinh(a) *sinh(c)
  261. 5 6
  262. + 28672*cosh(a)*cosh(b)*cosh(c)*sinh(a) *sinh(c)
  263. 5 4
  264. + 8960*cosh(a)*cosh(b)*cosh(c)*sinh(a) *sinh(c)
  265. 5 2
  266. + 960*cosh(a)*cosh(b)*cosh(c)*sinh(a) *sinh(c)
  267. 5
  268. + 16*cosh(a)*cosh(b)*cosh(c)*sinh(a)
  269. 3 10
  270. + 16384*cosh(a)*cosh(b)*cosh(c)*sinh(a) *sinh(c)
  271. 3 8
  272. + 36864*cosh(a)*cosh(b)*cosh(c)*sinh(a) *sinh(c)
  273. 3 6
  274. + 28672*cosh(a)*cosh(b)*cosh(c)*sinh(a) *sinh(c)
  275. 3 4
  276. + 8960*cosh(a)*cosh(b)*cosh(c)*sinh(a) *sinh(c)
  277. 3 2
  278. + 960*cosh(a)*cosh(b)*cosh(c)*sinh(a) *sinh(c)
  279. 3
  280. + 16*cosh(a)*cosh(b)*cosh(c)*sinh(a)
  281. 10
  282. + 3072*cosh(a)*cosh(b)*cosh(c)*sinh(a)*sinh(c)
  283. 8
  284. + 6912*cosh(a)*cosh(b)*cosh(c)*sinh(a)*sinh(c)
  285. 6
  286. + 5376*cosh(a)*cosh(b)*cosh(c)*sinh(a)*sinh(c)
  287. 4
  288. + 1680*cosh(a)*cosh(b)*cosh(c)*sinh(a)*sinh(c)
  289. 2
  290. + 180*cosh(a)*cosh(b)*cosh(c)*sinh(a)*sinh(c)
  291. 5 11
  292. + 3*cosh(a)*cosh(b)*cosh(c)*sinh(a) + 16384*cosh(a)*sinh(a) *sinh(b)*sinh(c)
  293. 5 9
  294. + 45056*cosh(a)*sinh(a) *sinh(b)*sinh(c)
  295. 5 7
  296. + 45056*cosh(a)*sinh(a) *sinh(b)*sinh(c)
  297. 5 5
  298. + 19712*cosh(a)*sinh(a) *sinh(b)*sinh(c)
  299. 5 3 5
  300. + 3520*cosh(a)*sinh(a) *sinh(b)*sinh(c) + 176*cosh(a)*sinh(a) *sinh(b)*sinh(c)
  301. 3 11
  302. + 16384*cosh(a)*sinh(a) *sinh(b)*sinh(c)
  303. 3 9
  304. + 45056*cosh(a)*sinh(a) *sinh(b)*sinh(c)
  305. 3 7
  306. + 45056*cosh(a)*sinh(a) *sinh(b)*sinh(c)
  307. 3 5
  308. + 19712*cosh(a)*sinh(a) *sinh(b)*sinh(c)
  309. 3 3 3
  310. + 3520*cosh(a)*sinh(a) *sinh(b)*sinh(c) + 176*cosh(a)*sinh(a) *sinh(b)*sinh(c)
  311. 11
  312. + 3072*cosh(a)*sinh(a)*sinh(b)*sinh(c)
  313. 9 7
  314. + 8448*cosh(a)*sinh(a)*sinh(b)*sinh(c) + 8448*cosh(a)*sinh(a)*sinh(b)*sinh(c)
  315. 5 3
  316. + 3696*cosh(a)*sinh(a)*sinh(b)*sinh(c) + 660*cosh(a)*sinh(a)*sinh(b)*sinh(c)
  317. 6 11
  318. + 33*cosh(a)*sinh(a)*sinh(b)*sinh(c) - 16384*cosh(b)*sinh(a) *sinh(c)
  319. 6 9 6 7
  320. - 45056*cosh(b)*sinh(a) *sinh(c) - 45056*cosh(b)*sinh(a) *sinh(c)
  321. 6 5 6 3
  322. - 19712*cosh(b)*sinh(a) *sinh(c) - 3520*cosh(b)*sinh(a) *sinh(c)
  323. 6 4 11
  324. - 176*cosh(b)*sinh(a) *sinh(c) - 24576*cosh(b)*sinh(a) *sinh(c)
  325. 4 9 4 7
  326. - 67584*cosh(b)*sinh(a) *sinh(c) - 67584*cosh(b)*sinh(a) *sinh(c)
  327. 4 5 4 3
  328. - 29568*cosh(b)*sinh(a) *sinh(c) - 5280*cosh(b)*sinh(a) *sinh(c)
  329. 4 2 11
  330. - 264*cosh(b)*sinh(a) *sinh(c) - 9216*cosh(b)*sinh(a) *sinh(c)
  331. 2 9 2 7
  332. - 25344*cosh(b)*sinh(a) *sinh(c) - 25344*cosh(b)*sinh(a) *sinh(c)
  333. 2 5 2 3
  334. - 11088*cosh(b)*sinh(a) *sinh(c) - 1980*cosh(b)*sinh(a) *sinh(c)
  335. 2 8
  336. - 99*cosh(b)*sinh(a) *sinh(c) + 128*cosh(b)*sinh(b) *sinh(c)
  337. 6 4
  338. + 224*cosh(b)*sinh(b) *sinh(c) + 120*cosh(b)*sinh(b) *sinh(c)
  339. 2 11 9
  340. + 20*cosh(b)*sinh(b) *sinh(c) - 512*cosh(b)*sinh(c) - 1408*cosh(b)*sinh(c)
  341. 7 5 3
  342. - 1408*cosh(b)*sinh(c) - 616*cosh(b)*sinh(c) - 110*cosh(b)*sinh(c)
  343. 6 10
  344. - 5*cosh(b)*sinh(c) - 16384*cosh(c)*sinh(a) *sinh(b)*sinh(c)
  345. 6 8
  346. - 36864*cosh(c)*sinh(a) *sinh(b)*sinh(c)
  347. 6 6
  348. - 28672*cosh(c)*sinh(a) *sinh(b)*sinh(c)
  349. 6 4
  350. - 8960*cosh(c)*sinh(a) *sinh(b)*sinh(c)
  351. 6 2 6
  352. - 960*cosh(c)*sinh(a) *sinh(b)*sinh(c) - 16*cosh(c)*sinh(a) *sinh(b)
  353. 4 10
  354. - 24576*cosh(c)*sinh(a) *sinh(b)*sinh(c)
  355. 4 8
  356. - 55296*cosh(c)*sinh(a) *sinh(b)*sinh(c)
  357. 4 6
  358. - 43008*cosh(c)*sinh(a) *sinh(b)*sinh(c)
  359. 4 4
  360. - 13440*cosh(c)*sinh(a) *sinh(b)*sinh(c)
  361. 4 2 4
  362. - 1440*cosh(c)*sinh(a) *sinh(b)*sinh(c) - 24*cosh(c)*sinh(a) *sinh(b)
  363. 2 10
  364. - 9216*cosh(c)*sinh(a) *sinh(b)*sinh(c)
  365. 2 8
  366. - 20736*cosh(c)*sinh(a) *sinh(b)*sinh(c)
  367. 2 6
  368. - 16128*cosh(c)*sinh(a) *sinh(b)*sinh(c)
  369. 2 4
  370. - 5040*cosh(c)*sinh(a) *sinh(b)*sinh(c)
  371. 2 2 2
  372. - 540*cosh(c)*sinh(a) *sinh(b)*sinh(c) - 9*cosh(c)*sinh(a) *sinh(b)
  373. 9 7 5
  374. + 128*cosh(c)*sinh(b) + 288*cosh(c)*sinh(b) + 216*cosh(c)*sinh(b)
  375. 3 10
  376. + 60*cosh(c)*sinh(b) - 512*cosh(c)*sinh(b)*sinh(c)
  377. 8 6
  378. - 1152*cosh(c)*sinh(b)*sinh(c) - 896*cosh(c)*sinh(b)*sinh(c)
  379. 4 2
  380. - 280*cosh(c)*sinh(b)*sinh(c) - 30*cosh(c)*sinh(b)*sinh(c)
  381. + 4*cosh(c)*sinh(b)
  382. trigsimp(ws, combine);
  383. sinh(9*b + c) + sinh(6*a - b - 11*c)
  384. --------------------------------------
  385. 2
  386. trigsimp(sec(20x-y), keepalltrig);
  387. 20 20 20 19
  388. (csc(x) *csc(y)*sec(x) *sec(y))/(csc(x) *csc(y) + 20*csc(x) *sec(x)*sec(y)
  389. 18 2 17 3
  390. - 190*csc(x) *csc(y)*sec(x) - 1140*csc(x) *sec(x) *sec(y)
  391. 16 4 15 5
  392. + 4845*csc(x) *csc(y)*sec(x) + 15504*csc(x) *sec(x) *sec(y)
  393. 14 6 13 7
  394. - 38760*csc(x) *csc(y)*sec(x) - 77520*csc(x) *sec(x) *sec(y)
  395. 12 8 11 9
  396. + 125970*csc(x) *csc(y)*sec(x) + 167960*csc(x) *sec(x) *sec(y)
  397. 10 10 9 11
  398. - 184756*csc(x) *csc(y)*sec(x) - 167960*csc(x) *sec(x) *sec(y)
  399. 8 12 7 13
  400. + 125970*csc(x) *csc(y)*sec(x) + 77520*csc(x) *sec(x) *sec(y)
  401. 6 14 5 15
  402. - 38760*csc(x) *csc(y)*sec(x) - 15504*csc(x) *sec(x) *sec(y)
  403. 4 16 3 17
  404. + 4845*csc(x) *csc(y)*sec(x) + 1140*csc(x) *sec(x) *sec(y)
  405. 2 18 19 20
  406. - 190*csc(x) *csc(y)*sec(x) - 20*csc(x)*sec(x) *sec(y) + csc(y)*sec(x) )
  407. trigsimp(csc(10a-9b), keepalltrig);
  408. 10 9 10 9 10 8
  409. ( - csc(a) *csc(b) *sec(a) *sec(b) )/(9*csc(a) *csc(b) *sec(b)
  410. 10 6 3 10 4 5
  411. - 84*csc(a) *csc(b) *sec(b) + 126*csc(a) *csc(b) *sec(b)
  412. 10 2 7 10 9 9 9
  413. - 36*csc(a) *csc(b) *sec(b) + csc(a) *sec(b) - 10*csc(a) *csc(b) *sec(a)
  414. 9 7 2 9 5 4
  415. + 360*csc(a) *csc(b) *sec(a)*sec(b) - 1260*csc(a) *csc(b) *sec(a)*sec(b)
  416. 9 3 6 9 8
  417. + 840*csc(a) *csc(b) *sec(a)*sec(b) - 90*csc(a) *csc(b)*sec(a)*sec(b)
  418. 8 8 2 8 6 2 3
  419. - 405*csc(a) *csc(b) *sec(a) *sec(b) + 3780*csc(a) *csc(b) *sec(a) *sec(b)
  420. 8 4 2 5
  421. - 5670*csc(a) *csc(b) *sec(a) *sec(b)
  422. 8 2 2 7 8 2 9
  423. + 1620*csc(a) *csc(b) *sec(a) *sec(b) - 45*csc(a) *sec(a) *sec(b)
  424. 7 9 3 7 7 3 2
  425. + 120*csc(a) *csc(b) *sec(a) - 4320*csc(a) *csc(b) *sec(a) *sec(b)
  426. 7 5 3 4
  427. + 15120*csc(a) *csc(b) *sec(a) *sec(b)
  428. 7 3 3 6
  429. - 10080*csc(a) *csc(b) *sec(a) *sec(b)
  430. 7 3 8 6 8 4
  431. + 1080*csc(a) *csc(b)*sec(a) *sec(b) + 1890*csc(a) *csc(b) *sec(a) *sec(b)
  432. 6 6 4 3
  433. - 17640*csc(a) *csc(b) *sec(a) *sec(b)
  434. 6 4 4 5
  435. + 26460*csc(a) *csc(b) *sec(a) *sec(b)
  436. 6 2 4 7 6 4 9
  437. - 7560*csc(a) *csc(b) *sec(a) *sec(b) + 210*csc(a) *sec(a) *sec(b)
  438. 5 9 5 5 7 5 2
  439. - 252*csc(a) *csc(b) *sec(a) + 9072*csc(a) *csc(b) *sec(a) *sec(b)
  440. 5 5 5 4
  441. - 31752*csc(a) *csc(b) *sec(a) *sec(b)
  442. 5 3 5 6
  443. + 21168*csc(a) *csc(b) *sec(a) *sec(b)
  444. 5 5 8 4 8 6
  445. - 2268*csc(a) *csc(b)*sec(a) *sec(b) - 1890*csc(a) *csc(b) *sec(a) *sec(b)
  446. 4 6 6 3
  447. + 17640*csc(a) *csc(b) *sec(a) *sec(b)
  448. 4 4 6 5
  449. - 26460*csc(a) *csc(b) *sec(a) *sec(b)
  450. 4 2 6 7 4 6 9
  451. + 7560*csc(a) *csc(b) *sec(a) *sec(b) - 210*csc(a) *sec(a) *sec(b)
  452. 3 9 7 3 7 7 2
  453. + 120*csc(a) *csc(b) *sec(a) - 4320*csc(a) *csc(b) *sec(a) *sec(b)
  454. 3 5 7 4
  455. + 15120*csc(a) *csc(b) *sec(a) *sec(b)
  456. 3 3 7 6
  457. - 10080*csc(a) *csc(b) *sec(a) *sec(b)
  458. 3 7 8 2 8 8
  459. + 1080*csc(a) *csc(b)*sec(a) *sec(b) + 405*csc(a) *csc(b) *sec(a) *sec(b)
  460. 2 6 8 3
  461. - 3780*csc(a) *csc(b) *sec(a) *sec(b)
  462. 2 4 8 5
  463. + 5670*csc(a) *csc(b) *sec(a) *sec(b)
  464. 2 2 8 7 2 8 9
  465. - 1620*csc(a) *csc(b) *sec(a) *sec(b) + 45*csc(a) *sec(a) *sec(b)
  466. 9 9 7 9 2
  467. - 10*csc(a)*csc(b) *sec(a) + 360*csc(a)*csc(b) *sec(a) *sec(b)
  468. 5 9 4 3 9 6
  469. - 1260*csc(a)*csc(b) *sec(a) *sec(b) + 840*csc(a)*csc(b) *sec(a) *sec(b)
  470. 9 8 8 10
  471. - 90*csc(a)*csc(b)*sec(a) *sec(b) - 9*csc(b) *sec(a) *sec(b)
  472. 6 10 3 4 10 5
  473. + 84*csc(b) *sec(a) *sec(b) - 126*csc(b) *sec(a) *sec(b)
  474. 2 10 7 10 9
  475. + 36*csc(b) *sec(a) *sec(b) - sec(a) *sec(b) )
  476. trigsimp(ws, combine);
  477. 1
  478. -----------------
  479. sin(10*a - 9*b)
  480. trigsimp(cosh(50*acosh(x))-cos(50*acos(x)));
  481. 0
  482. trigsimp(cos(n*acos(x))-cosh(n*acosh(x)), trig);
  483. 0
  484. trigsimp((2tan(log(x))*(sec(log(x))^2 - tan(log(x))^2 - 1))/x);
  485. 0
  486. trigsimp(sech(10x), keepalltrig);
  487. 10 10 10 8 2 6 4
  488. (csch(x) *sech(x) )/(csch(x) + 45*csch(x) *sech(x) + 210*csch(x) *sech(x)
  489. 4 6 2 8 10
  490. + 210*csch(x) *sech(x) + 45*csch(x) *sech(x) + sech(x) )
  491. trigsimp(ws, combine);
  492. 1
  493. ------------
  494. cosh(10*x)
  495. trigsimp(csch(3x-5y), keepalltrig);
  496. 3 5 3 5 3 4
  497. ( - csch(x) *csch(y) *sech(x) *sech(y) )/(5*csch(x) *csch(y) *sech(y)
  498. 3 2 3 3 5
  499. + 10*csch(x) *csch(y) *sech(y) + csch(x) *sech(y)
  500. 2 5 2 3 2
  501. - 3*csch(x) *csch(y) *sech(x) - 30*csch(x) *csch(y) *sech(x)*sech(y)
  502. 2 4
  503. - 15*csch(x) *csch(y)*sech(x)*sech(y)
  504. 4 2
  505. + 15*csch(x)*csch(y) *sech(x) *sech(y)
  506. 2 2 3 2 5
  507. + 30*csch(x)*csch(y) *sech(x) *sech(y) + 3*csch(x)*sech(x) *sech(y)
  508. 5 3 3 3 2
  509. - csch(y) *sech(x) - 10*csch(y) *sech(x) *sech(y)
  510. 3 4
  511. - 5*csch(y)*sech(x) *sech(y) )
  512. trigsimp(ws, combine);
  513. 1
  514. -----------------
  515. sinh(3*x - 5*y)
  516. off precise;
  517. trigsimp((sinh(x)+cosh(x))^n+(cosh(x)-sinh(x))^n, expon);
  518. 2*n*x
  519. e + 1
  520. ------------
  521. n*x
  522. e
  523. on precise;
  524. trigsimp(ws, hyp);
  525. 2*cosh(n*x)
  526. load_package taylor;
  527. taylor(sin(x+a)*cos(x+b), x, 0, 4);
  528. cos(b)*sin(a) + (cos(a)*cos(b) - sin(a)*sin(b))*x
  529. 2
  530. - (cos(a)*sin(b) + cos(b)*sin(a))*x
  531. 2*( - cos(a)*cos(b) + sin(a)*sin(b)) 3
  532. + --------------------------------------*x
  533. 3
  534. cos(a)*sin(b) + cos(b)*sin(a) 4 5
  535. + -------------------------------*x + O(x )
  536. 3
  537. trigsimp(ws, combine);
  538. sin(a - b) + sin(a + b) 2 2*cos(a + b) 3
  539. ------------------------- + cos(a + b)*x - sin(a + b)*x - --------------*x
  540. 2 3
  541. sin(a + b) 4 5
  542. + ------------*x + O(x )
  543. 3
  544. %-----------------------TrigFactorize-----------------------
  545. on nopowers;
  546. % for comparison with version 2.0
  547. trigfactorize(sin(x)**2, x);
  548. {sin(x),sin(x)}
  549. trigfactorize(1+cos(x), x);
  550. {cos(x) + 1}
  551. trigfactorize(1+cos(x), x/2);
  552. x x
  553. {2,cos(---),cos(---)}
  554. 2 2
  555. trigfactorize(1+cos(x), x/6);
  556. {2,
  557. x 2
  558. - 4*sin(---) + 1,
  559. 6
  560. x 2
  561. - 4*sin(---) + 1,
  562. 6
  563. x
  564. cos(---),
  565. 6
  566. x
  567. cos(---)}
  568. 6
  569. trigfactorize(sin(x)*(1-cos(x)), x);
  570. {sin(x)*( - cos(x) + 1)}
  571. trigfactorize(sin(x)*(1-cos(x)), x/2);
  572. {4,
  573. x
  574. cos(---),
  575. 2
  576. x
  577. sin(---),
  578. 2
  579. x
  580. sin(---),
  581. 2
  582. x
  583. sin(---)}
  584. 2
  585. trigfactorize(tan(x), x);
  586. {tan(x)}
  587. trigfactorize(sin(x*3), x);
  588. 2
  589. { - 4*sin(x) + 3,sin(x)}
  590. trigfactorize(sin(4x)-1, x);
  591. {-1,
  592. 2
  593. 2*cos(x)*sin(x) + 2*sin(x) - 1,
  594. 2
  595. 2*cos(x)*sin(x) + 2*sin(x) - 1}
  596. trigfactorize(sin(x)**4-1, x);
  597. 2
  598. {-1,sin(x) + 1,cos(x),cos(x)}
  599. trigfactorize(cos(x)**4-1, x);
  600. 2
  601. {sin(x) - 2,sin(x),sin(x)}
  602. trigfactorize(sin(x)**10-cos(x)**6, x);
  603. {-1,
  604. 2 5
  605. cos(x)*sin(x) - cos(x) - sin(x) ,
  606. 2 5
  607. cos(x)*sin(x) - cos(x) + sin(x) }
  608. trigfactorize(sin(x)*cos(y), x);
  609. {cos(y),sin(x)}
  610. trigfactorize(sin(2x)*cos(y)**2, y/2);
  611. {2*cos(x)*sin(x),
  612. y y
  613. cos(---) + sin(---),
  614. 2 2
  615. y y
  616. cos(---) + sin(---),
  617. 2 2
  618. y y
  619. cos(---) - sin(---),
  620. 2 2
  621. y y
  622. cos(---) - sin(---)}
  623. 2 2
  624. trigfactorize(sin(y)**4-x**2, y);
  625. 2 2
  626. {sin(y) - x,sin(y) + x}
  627. trigfactorize(sin(x), x+1);
  628. ***** TrigGCD/Factorize error: last arg must be [number*]variable.
  629. trigfactorize(sin(x), 2x);
  630. ***** TrigGCD/Factorize error: basis not possible.
  631. trigfactorize(sin(x)*cosh(x), x/2);
  632. {2,
  633. x
  634. cos(---),
  635. 2
  636. x
  637. sin(---),
  638. 2
  639. x x
  640. cosh(---) - i*sinh(---),
  641. 2 2
  642. x x
  643. cosh(---) + i*sinh(---)}
  644. 2 2
  645. trigfactorize(1+cos(2x)+2cos(x)*cosh(x), x/2);
  646. {4,
  647. x x x x
  648. cos(---)*cosh(---) + i*sin(---)*sinh(---),
  649. 2 2 2 2
  650. x x x x
  651. cos(---)*cosh(---) - i*sin(---)*sinh(---),
  652. 2 2 2 2
  653. x x
  654. cos(---) + sin(---),
  655. 2 2
  656. x x
  657. cos(---) - sin(---)}
  658. 2 2
  659. %-------------------------TrigGCD---------------------------
  660. triggcd(sin(x), cos(x), x);
  661. 1
  662. triggcd(1-cos(x)^2, sin(x)^2, x);
  663. 2
  664. - sin(x)
  665. triggcd(sin(x)^4-1, cos(x)^2, x);
  666. 2
  667. - sin(x) + 1
  668. triggcd(sin(5x+1), cos(x), x);
  669. 1
  670. triggcd(1-cos(2x), sin(2x), x);
  671. sin(x)
  672. triggcd(-5+cos(2x)-6sin(x), -7+cos(2x)-8sin(x), x/2);
  673. x x
  674. 2*cos(---)*sin(---) + 1
  675. 2 2
  676. triggcd(1-2cosh(x)+cosh(2x), 1+2cosh(x)+cosh(2x), x/2);
  677. x 2
  678. 2*sinh(---) + 1
  679. 2
  680. triggcd(1+cos(2x)+2cos(x)*cosh(x), 1+2cos(x)*cosh(x)+cosh(2x), x/2);
  681. x 2 x 2
  682. - sin(---) + sinh(---) + 1
  683. 2 2
  684. triggcd(-1+2a*b+cos(2x)-2a*sin(x)+2b*sin(x),
  685. -1-2a*b+cos(2x)-2a*sin(x)-2b*sin(x), x/2);
  686. x x
  687. 2*cos(---)*sin(---) + a
  688. 2 2
  689. triggcd(sin(x)^10-1, cos(x), x);
  690. cos(x)
  691. triggcd(sin(5x)+sin(3x), cos(x), x);
  692. cos(x)
  693. triggcd(sin(3x)+sin(5x), sin(5x)+sin(7x), x);
  694. 2
  695. sin(x)*(sin(x) - 1)
  696. %-----------------------------------------------------------
  697. % New facilities in version 2
  698. %-----------------------------------------------------------
  699. % TrigSimp applied to non-scalars data structures:
  700. trigsimp( sin(2x) = cos(2x) );
  701. 2
  702. 2*cos(x)*sin(x)= - 2*sin(x) + 1
  703. trigsimp( { sin(2x), cos(2x) } );
  704. 2
  705. {2*cos(x)*sin(x), - 2*sin(x) + 1}
  706. trigsimp( { sin(2x) = cos(2x) } );
  707. 2
  708. {2*cos(x)*sin(x)= - 2*sin(x) + 1}
  709. trigsimp( mat((sin(2x),cos(2x)),
  710. (csc(2x),sec(2x))) );
  711. [ 2 ]
  712. [ 2*cos(x)*sin(x) - 2*sin(x) + 1]
  713. [ ]
  714. [ 1 - 1 ]
  715. [----------------- --------------- ]
  716. [ 2*cos(x)*sin(x) 2 ]
  717. [ 2*sin(x) - 1 ]
  718. % An amusing identify:
  719. trigsimp(csc x - cot x - tan(x/2));
  720. 0
  721. % which could be DERIVED like this:
  722. trigsimp(csc x - cot x, x/2, tan);
  723. x
  724. tan(---)
  725. 2
  726. % A silly illustration of multiple additional trig arguments:
  727. trigsimp(csc x - cot x, x/2, x/3);
  728. x 5 x 3 x
  729. 16*sin(---) - 24*sin(---) + 9*sin(---)
  730. 6 6 6
  731. ------------------------------------------------------------
  732. x x 4 x x 2 x
  733. 16*cos(---)*sin(---) - 16*cos(---)*sin(---) + 3*cos(---)
  734. 6 6 6 6 6
  735. % A more useful illustration of multiple additional trig arguments:
  736. trigsimp(csc x - cot x + csc y - cot y, x/2, y/2, tan);
  737. x y
  738. tan(---) + tan(---)
  739. 2 2
  740. %-----------------------------------------------------------
  741. % New TrigFactorize facility:
  742. off nopowers;
  743. % REDUCE 3.7 default, gives more compact output ...
  744. trigfactorize(sin(x)^2, x);
  745. {{sin(x),2}}
  746. trigfactorize(1+cos(x), x);
  747. {{cos(x) + 1,1}}
  748. trigfactorize(1+cos(x), x/2);
  749. x
  750. {{2,1},{cos(---),2}}
  751. 2
  752. trigfactorize(1+cos(x), x/6);
  753. x x 2
  754. {{2,1},{cos(---),2},{ - 4*sin(---) + 1,2}}
  755. 6 6
  756. trigfactorize(sin(x)*(1-cos(x)), x);
  757. {{sin(x)*( - cos(x) + 1),1}}
  758. trigfactorize(sin(x)*(1-cos(x)), x/2);
  759. x x
  760. {{4,1},{sin(---),3},{cos(---),1}}
  761. 2 2
  762. trigfactorize(tan(x), x);
  763. {{tan(x),1}}
  764. trigfactorize(sin(3x), x);
  765. 2
  766. {{sin(x),1},{ - 4*sin(x) + 3,1}}
  767. trigfactorize(sin(4x) - 1, x);
  768. 2
  769. {{-1,1},{2*cos(x)*sin(x) + 2*sin(x) - 1,2}}
  770. trigfactorize(sin(x)^4 - 1, x);
  771. 2
  772. {{-1,1},{cos(x),2},{sin(x) + 1,1}}
  773. trigfactorize(cos(x)^4 - 1, x);
  774. 2
  775. {{sin(x),2},{sin(x) - 2,1}}
  776. trigfactorize(sin(x)^10 - cos(x)^6, x);
  777. {{-1,1},
  778. 2 5
  779. {cos(x)*sin(x) - cos(x) + sin(x) ,1},
  780. 2 5
  781. {cos(x)*sin(x) - cos(x) - sin(x) ,1}}
  782. trigfactorize(sin(x)*cos(y), x);
  783. {{cos(y),1},{sin(x),1}}
  784. trigfactorize(sin(2x)*cos(y)^2, y/2);
  785. {{2*cos(x)*sin(x),1},
  786. y y
  787. {cos(---) - sin(---),2},
  788. 2 2
  789. y y
  790. {cos(---) + sin(---),2}}
  791. 2 2
  792. trigfactorize(sin(y)^4 - x^2, y);
  793. 2 2
  794. {{sin(y) + x,1},{sin(y) - x,1}}
  795. trigfactorize(sin(x), x+1);
  796. ***** TrigGCD/Factorize error: last arg must be [number*]variable.
  797. trigfactorize(sin(x), 2x);
  798. ***** TrigGCD/Factorize error: basis not possible.
  799. trigfactorize(sin(x)*cosh(x), x/2);
  800. {{2,1},
  801. x x
  802. {cosh(---) + i*sinh(---),1},
  803. 2 2
  804. x x
  805. {cosh(---) - i*sinh(---),1},
  806. 2 2
  807. x
  808. {sin(---),1},
  809. 2
  810. x
  811. {cos(---),1}}
  812. 2
  813. trigfactorize(1 + cos(2x) + 2cos(x)*cosh(x), x/2);
  814. {{4,1},
  815. x x
  816. {cos(---) - sin(---),1},
  817. 2 2
  818. x x
  819. {cos(---) + sin(---),1},
  820. 2 2
  821. x x x x
  822. {cos(---)*cosh(---) - i*sin(---)*sinh(---),
  823. 2 2 2 2
  824. 1},
  825. x x x x
  826. {cos(---)*cosh(---) + i*sin(---)*sinh(---),
  827. 2 2 2 2
  828. 1}}
  829. end;
  830. Time for test: 3492 ms, plus GC time: 85 ms