Next: Package unit, Previous: Package to_poly_solve [Contents][Index]
Next: Functions and Variables for trigtools, Previous: Package trigtools, Up: Package trigtools [Contents][Index]
We use open-source computer algebra system(CAS) maxima 5.31.2. The trigtools package10 contains commands that help you work with trigonometric expessions. List of functions in trigtools package:
Next: References, Previous: Introduction to trigtools, Up: Package trigtools [Contents][Index]
Next: Convert to Trignometric Functions, Previous: Functions and Variables for trigtools, Up: Functions and Variables for trigtools [Contents][Index]
The function c2sin converts the expression \(a\cos x + b\sin x\) to \(r\sin(x+\phi).\)
The function c2cos converts the expression \(a\cos x + b\sin x\) to \(r\cos(x-\phi).\)
Examples:
(%i1) load("trigtools")$ (%i2) c2sin(3*sin(x)+4*cos(x)); 4 (%o2) 5 sin(x + atan(-)) 3 (%i3) trigexpand(%),expand; (%o3) 3 sin(x) + 4 cos(x)
(%i4) c2cos(3*sin(x)-4*cos(x)); 3 (%o4) - 5 cos(x + atan(-)) 4
(%i5) trigexpand(%),expand; (%o5) 3 sin(x) - 4 cos(x)
(%i6) c2sin(sin(x)+cos(x)); %pi (%o6) sqrt(2) sin(x + ---) 4
(%i7) trigexpand(%),expand; (%o7) sin(x) + cos(x) (%i8) c2cos(sin(x)+cos(x)); %pi (%o8) sqrt(2) cos(x - ---) 4
(%i9) trigexpand(%),expand; (%o9) sin(x) + cos(x)
Example. Solve trigonometric equation
(%i10) eq:3*sin(x)+4*cos(x)=2; (%o10) 3 sin(x) + 4 cos(x) = 2
(%i11) plot2d([3*sin(x)+4*cos(x),2],[x,-%pi,%pi]);
(%i12) eq1:c2sin(lhs(eq))=2; 4 (%o35) 5 sin(x + atan(-)) = 2 3 (%i13) solvetrigwarn:false$ (%i14) solve(eq1)[1]$ x1:rhs(%); 2 4 (%o15) asin(-) - atan(-) 5 3 (%i16) float(%), numer; (%o39) - 0.5157783719341241 (%i17) eq2:c2cos(lhs(eq))=2; 3 (%o17) 5 cos(x - atan(-)) = 2 (%i18) solve(eq2,x)[1]$ x2:rhs(%); 3 2 (%o19) atan(-) + acos(-) 4 5 (%i20) float(%), numer; (%o20) 1.802780589520693 (%i21) sol:[x1,x2]; 2 4 3 2 (%o44) [asin(-) - atan(-), atan(-) + acos(-)] 5 3 4 5
Answ.: \(x = x_1 + 2\pi k,\) \(x_1 = \sin^{-1}{2\over 5} - \tan^{-1}{4\over 3},\) or \(x_1 = \tan^{-1}{3\over 4} + \cos^{-1}{2\over 5},\) for k any integer.
Next: Convert to Hyperbolic Functions, Previous: Convert to sin and cos, Up: Functions and Variables for trigtools [Contents][Index]
The function c2trig (convert to trigonometric) reduce expression with hyperbolic functions sinh, cosh, tanh, coth to trigonometric expression with sin, cos, tan, cot.
Examples:
(%i1) load(trigtools)$ (%i2) sinh(x)=c2trig(sinh(x)); cosh(x)=c2trig(cosh(x)); tanh(x)=c2trig(tanh(x)); coth(x)=c2trig(coth(x)); (%o2) sinh(x) = - %i sin(%i x) (%o3) cosh(x) = cos(%i x) (%o4) tanh(x) = - %i tan(%i x) (%o5) coth(x) = %i cot(%i x)
(%i6) cos(p+q*%i); (%o6) cos(%i q + p) (%i7) trigexpand(%); (%o7) cos(p) cosh(q) - %i sin(p) sinh(q) (%i8) c2trig(%); (%o8) cos(%i q + p)
(%i9) sin(a+b*%i); (%o9) sin(%i b + a) (%i10) trigexpand(%); (%o10) %i cos(a) sinh(b) + sin(a) cosh(b) (%i11) c2trig(%); (%o11) sin(%i b + a)
(%i12) cos(a*%i+b*%i); (%o12) cos(%i b + %i a) (%i13) trigexpand(%); (%o13) sinh(a) sinh(b) + cosh(a) cosh(b) (%i14) c2trig(%); (%o14) cos(%i b + %i a)
(%i15) tan(a+%i*b); (%o15) tan(%i b + a)
(%i16) trigexpand(%); %i tanh(b) + tan(a) (%o16) --------------------- 1 - %i tan(a) tanh(b)
(%i17) c2trig(%); (%o217) tan(%i b + a)
(%i18) cot(x+%i*y); (%o18) cot(%i y + x) (%i19) trigexpand(%); (- %i cot(x) coth(y)) - 1 (%o19) ------------------------- cot(x) - %i coth(y) (%i20) c2trig(%); (%o20) cot(%i y + x)
Next: Factor Sums of sin and cos Functions, Previous: Convert to Trignometric Functions, Up: Functions and Variables for trigtools [Contents][Index]
The function c2hyp (convert to hyperbolic) convert expression with exp function to expression with hyperbolic functions sinh, cosh.
Examples:
(%i6) c2hyp(exp(x)); (%o6) sinh(x) + cosh(x) (%i7) c2hyp(exp(x)+exp(x^2)+1); 2 2 (%o7) sinh(x ) + cosh(x ) + sinh(x) + cosh(x) + 1 (%i8) c2hyp(exp(x)/(2*exp(y)-3*exp(z))); sinh(x) + cosh(x) (%o8) --------------------------------------------- 2 (sinh(y) + cosh(y)) - 3 (sinh(z) + cosh(z))
Next: Solve Trignometric Equations, Previous: Convert to Hyperbolic Functions, Up: Functions and Variables for trigtools [Contents][Index]
The function trigfactor factors expresions of form \(\pm \sin x \pm \cos y.\)
Examples:
(%i2) trigfactor(sin(x)+cos(x)); %pi (%o2) sqrt(2) cos(x - ---) 4 (%i3) trigrat(%); (%o3) sin(x) + cos(x)
(%i4) trigfactor(sin(x)+cos(y)); y x %pi y x %pi (%o4) 2 cos(- - - + ---) cos(- + - - ---) 2 2 4 2 2 4
(%i5) trigrat(%); (%o5) cos(y) + sin(x)
(%i6) trigfactor(sin(x)-cos(3*y)); 3 y x %pi 3 y x %pi (%o6) 2 sin(--- - - + ---) sin(--- + - - ---) 2 2 4 2 2 4 (%i7) trigrat(%); (%o7) sin(x) - cos(3 y)
(%i8) trigfactor(-sin(5*x)-cos(3*y)); 3 y 5 x %pi 3 y 5 x %pi (%o8) - 2 cos(--- - --- + ---) cos(--- + --- - ---) 2 2 4 2 2 4 (%i9) trigrat(%); (%o9) (- cos(3 y)) - sin(5 x)
(%i10) sin(alpha)+sin(beta)=trigfactor(sin(alpha)+sin(beta)); beta alpha beta alpha (%o10) sin(beta) + sin(alpha) = 2 cos(---- - -----) sin(---- + -----) 2 2 2 2
(%i11) trigrat(%); (%o78) sin(beta) + sin(alpha) = sin(beta) + sin(alpha)
(%i12) sin(alpha)-sin(beta)=trigfactor(sin(alpha)-sin(beta)); beta alpha beta alpha (%o12) sin(alpha) - sin(beta) = - 2 sin(---- - -----) cos(---- + -----) 2 2 2 2
(%i13) cos(alpha)+cos(beta)=trigfactor(cos(alpha)+cos(beta)); beta alpha beta alpha (%o80) cos(beta) + cos(alpha) = 2 cos(---- - -----) cos(---- + -----) 2 2 2 2
(%i14) cos(alpha)-cos(beta)=trigfactor(cos(alpha)-cos(beta)); beta alpha beta alpha (%o14) cos(alpha) - cos(beta) = 2 sin(---- - -----) sin(---- + -----) 2 2 2 2
(%i15) trigfactor(3*sin(x)+7*cos(x)); (%o15) 3 sin(x) + 7 cos(x)
(%i16) c2sin(%); 7 (%o16) sqrt(58) sin(x + atan(-)) 3
(%i17) trigexpand(%),expand; (%o17) 3 sin(x) + 7 cos(x)
10.
(%i18) trigfactor(sin(2*x)); (%o18) sin(2 x) (%i19) trigexpand(%); (%o19) 2 cos(x) sin(x)
Next: Evaluation of Trignometric Functions, Previous: Factor Sums of sin and cos Functions, Up: Functions and Variables for trigtools [Contents][Index]
The function trigsolve find solutions of trigonometric equation from interval \([a,b).\)
Examples:
(%i38) eq:eq:3*sin(x)+4*cos(x)=2; (%o38) 3 sin(x) + 4 cos(x) = 2 (%i39) plot2d([3*sin(x)+4*cos(x),2],[x,-%pi,%pi]);
(%o39) (%i40) sol:trigsolve(eq,-%pi,%pi); 2 sqrt(21) 12 2 sqrt(21) 12 (%o40) {atan(---------- - --), %pi - atan(---------- + --)} 5 5 5 5 (%i41) float(%), numer; (%o41) {- 0.5157783719341241, 1.802780589520693}
Answ. : \(x = \tan^{-1}\left({2\sqrt{21}\over 5} - {12\over 5}\right) + 2\pi k\) ; \(x = \pi - \tan^{-1}\left({2\sqrt{21}\over 5} + {12\over 5}\right) + 2\pi k,\) k – any integer.
(%i6) eq:cos(3*x)-sin(x)=sqrt(3)*(cos(x)-sin(3*x)); (%o6) cos(3 x) - sin(x) = sqrt(3) (cos(x) - sin(3 x)) (%i7) plot2d([lhs(eq)-rhs(eq)], [x,0,2*%pi])$
We have 6 solutions from [0, 2*pi].
(%i8) plot2d([lhs(eq)-rhs(eq)], [x,0.2,0.5]);
(%i9) plot2d([lhs(eq)-rhs(eq)], [x,3.3,3.6]);
(%i10) trigfactor(lhs(eq))=map(trigfactor,rhs(eq)); %pi %pi %pi %pi (%o15) - 2 sin(x + ---) sin(2 x - ---) = 2 sqrt(3) sin(x - ---) sin(2 x - ---) 4 4 4 4 (%i11) factor(lhs(%)-rhs(%)); 4 x + %pi 4 x - %pi 8 x - %pi (%o11) - 2 (sin(---------) + sqrt(3) sin(---------)) sin(---------) 4 4 4
Equation is equivalent to
(%i12) L:factor(rhs(%)-lhs(%)); 4 x + %pi 4 x - %pi 8 x - %pi (%o12) 2 (sin(---------) + sqrt(3) sin(---------)) sin(---------) 4 4 4
(%i13) eq1:part(L,2)=0; 4 x + %pi 4 x - %pi (%o13) sin(---------) + sqrt(3) sin(---------) = 0 4 4
(%i14) eq2:part(L,3)=0; 8 x - %pi (%o14) sin(---------) = 0 4
(%i15) S1:trigsolve(eq1,0,2*%pi); %pi 13 %pi (%o15) {---, ------} 12 12 (%i16) S2:trigsolve(eq2,0,2*%pi); %pi 5 %pi 9 %pi 13 %pi (%o16) {---, -----, -----, ------} 8 8 8 8 (%i17) S:listify(union(S1,S2)); %pi %pi 5 %pi 13 %pi 9 %pi 13 %pi (%o17) [---, ---, -----, ------, -----, ------] 12 8 8 12 8 8 (%i18) float(%), numer; (%o18) [0.2617993877991494, 0.3926990816987241, 1.963495408493621, 3.403392041388942, 3.534291735288517, 5.105088062083414]
Answer: \(x = a + 2\pi k,\) where a any from S, k any integer.
(%i19) eq:8*cos(x)*cos(4*x)*cos(5*x)-1=0; (%o19) 8 cos(x) cos(4 x) cos(5 x) - 1 = 0 (%i20) trigrat(%); (%o20) 2 cos(10 x) + 2 cos(8 x) + 2 cos(2 x) + 1 = 0
Left side is periodic with period \(T=\pi.\)
We have 10 solutions from [0, pi].
(%i21) plot2d([lhs(eq),rhs(eq)],[x,0,%pi]);
(%i22) x4:find_root(eq, x, 1.3, 1.32); (%o22) 1.308996938995747 (%i23) x5:find_root(eq, x, 1.32, 1.35); (%o23) 1.346396851538483 (%i24) plot2d([lhs(eq),0], [x,1.3,1.35], [gnuplot_preamble, "set grid;"]);
Equation we multiply by \(2\sin x\cos 2x:\)
(%i25) eq*2*sin(x)*cos(2*x); (%o25) 2 sin(x) cos(2 x) (8 cos(x) cos(4 x) cos(5 x) - 1) = 0 (%i26) eq1:trigreduce(%),expand; (%o26) sin(13 x) + sin(x) = 0
(%i27) trigfactor(lhs(eq1))=0; (%o27) 2 cos(6 x) sin(7 x) = 0
(%i28) S1:trigsolve(cos(6*x),0,%pi); %pi %pi 5 %pi 7 %pi 3 %pi 11 %pi (%o28) {---, ---, -----, -----, -----, ------} 12 4 12 12 4 12
(%i29) S2:trigsolve(sin(7*x),0,%pi); %pi 2 %pi 3 %pi 4 %pi 5 %pi 6 %pi (%o29) {0, ---, -----, -----, -----, -----, -----} 7 7 7 7 7 7
We remove solutions of \(\sin x = 0\) and \(\cos 2x = 0.\)
(%i30) S3:trigsolve(sin(x),0,%pi); (%o30) {0} (%i31) S4:trigsolve(cos(2*x),0,%pi); %pi 3 %pi (%o31) {---, -----} 4 4
We find 10 solutions from \([0, \pi]:\)
(%i32) union(S1,S2)$ setdifference(%,S3)$ setdifference(%,S4); %pi %pi 2 %pi 5 %pi 3 %pi 4 %pi 7 %pi 5 %pi 6 %pi 11 %pi (%o34) {---, ---, -----, -----, -----, -----, -----, -----, -----, ------} 12 7 7 12 7 7 12 7 7 12
(%i35) S:listify(%); %pi %pi 2 %pi 5 %pi 3 %pi 4 %pi 7 %pi 5 %pi 6 %pi 11 %pi (%o35) [---, ---, -----, -----, -----, -----, -----, -----, -----, ------] 12 7 7 12 7 7 12 7 7 12
(%i36) length(S); (%o36) 10 (%i37) float(S), numer; (%o37) [0.2617993877991494, 0.4487989505128276, 0.8975979010256552, 1.308996938995747, 1.346396851538483, 1.79519580205131, 1.832595714594046, 2.243994752564138, 2.692793703076966, 2.879793265790644]
Answer: \(x = a + 2\pi k,\) where a any from S, k any integer.
Next: Contract atan Functions, Previous: Solve Trignometric Equations, Up: Functions and Variables for trigtools [Contents][Index]
The function trigvalue compute values of \(\sin {m\pi\over n},\) \(\cos {m\pi\over n},\) \(\tan {m\pi\over n},\) and \(\cot {m\pi\over n}\) in radicals.
The function trigeval compute values of expressions with \(\sin {m\pi\over n},\) \(\cos {m\pi\over n},\) \(\tan {m\pi\over n},\) and \(\cot {m\pi\over n}\) in radicals.
Examples:
(%i1) load(trigtools)$
(%i2) trigvalue(sin(%pi/10)); sqrt(5) - 1 (%o2) ----------- 4
(%i3) trigvalue(cos(%pi/10)); sqrt(sqrt(5) + 5) (%o3) ----------------- 3/2 2
(%i4) trigvalue(tan(%pi/10)); sqrt(5 - 2 sqrt(5)) (%o4) ------------------- sqrt(5)
(%i5) float(%), numer; (%o5) 0.3249196962329063 (%i6) float(tan(%pi/10)), numer; (%o6) 0.3249196962329063 (%i7) trigvalue(cot(%pi/10)); (%o7) sqrt(2 sqrt(5) + 5) (%i8) float(%), numer; (%o8) 3.077683537175254 (%i9) float(cot(%pi/10)), numer; (%o9) 3.077683537175254 (%i10) trigvalue(sin(%pi/32)); sqrt(2 - sqrt(sqrt(sqrt(2) + 2) + 2)) (%o10) ------------------------------------- 2 (%i11) trigvalue(cos(%pi/32)); sqrt(sqrt(sqrt(sqrt(2) + 2) + 2) + 2) (%o11) ------------------------------------- 2 (%i12) trigvalue(cos(%pi/256)); sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(2) + 2) + 2) + 2) + 2) + 2) + 2) (%o12) ------------------------------------------------------------------- 2 (%i13) trigvalue(cos(%pi/60)); sqrt(sqrt(sqrt(2) sqrt(3) sqrt(sqrt(5) + 5) + sqrt(5) + 7) + 4) (%o13) --------------------------------------------------------------- 3/2 2
(%i14) trigvalue(sin(%pi/60)); sqrt(4 - sqrt(sqrt(2) sqrt(3) sqrt(sqrt(5) + 5) + sqrt(5) + 7)) (%o14) --------------------------------------------------------------- 3/2 2
(%i15) trigvalue(sin(%pi/18)); %pi (%o15) sin(---) 18
(%i16) trigvalue(sin(%pi/20)); sqrt(4 - sqrt(2) sqrt(sqrt(5) + 5)) (%o16) ----------------------------------- 3/2 2
(%i17) load(odes)$
(%i18) eq:'diff(y,x,5)+2*y=0; 5 d y (%o18) --- + 2 y = 0 5 dx
(%i19) odeL(eq,y,x);
1/5 4 %pi - 2 cos(-----) x 5 1/5 4 %pi (%o19) y = C5 %e sin(2 sin(-----) x) 5 1/5 4 %pi - 2 cos(-----) x 5 1/5 4 %pi + C4 %e cos(2 sin(-----) x) 5 1/5 2 %pi - 2 cos(-----) x 5 1/5 2 %pi + C3 %e sin(2 sin(-----) x) 5 1/5 2 %pi - 2 cos(-----) x 1/5 5 1/5 2 %pi - 2 x + C2 %e cos(2 sin(-----) x) + C1 %e 5
(%i20) sol:trigeval(%); (sqrt(5) - 1) x - --------------- 9/5 2 sqrt(sqrt(5) + 5) x (%o20) y = C3 %e sin(-------------------) 13/10 2 (sqrt(5) - 1) x - --------------- 9/5 2 sqrt(sqrt(5) + 5) x + C2 %e cos(-------------------) 13/10 2 (sqrt(5) + 1) x --------------- 9/5 2 sqrt(5 - sqrt(5)) x + C5 %e sin(-------------------) 13/10 2 (sqrt(5) + 1) x --------------- 9/5 1/5 2 sqrt(5 - sqrt(5)) x - 2 x + C4 %e cos(-------------------) + C1 %e 13/10 2
(%i21) subst(sol,eq)$ (%i22) ev(%, nouns)$ (%i23) radcan(%); (%o23) 0 = 0
Example. Find the 4-th roots of %i
(%i24) solve(x^4=%i,x); 1/8 1/8 1/8 1/8 (%o24) [x = (- 1) %i, x = - (- 1) , x = - (- 1) %i, x = (- 1) ]
(%i25) rectform(%); %pi %pi %pi %pi (%o25) [x = %i cos(---) - sin(---), x = (- %i sin(---)) - cos(---), 8 8 8 8 %pi %pi %pi %pi x = sin(---) - %i cos(---), x = %i sin(---) + cos(---)] 8 8 8 8
(%i26) trigeval(%); sqrt(sqrt(2) + 2) %i sqrt(2 - sqrt(2)) (%o26) [x = -------------------- - -----------------, 2 2 sqrt(2 - sqrt(2)) %i sqrt(sqrt(2) + 2) x = (- --------------------) - -----------------, 2 2 sqrt(2 - sqrt(2)) sqrt(sqrt(2) + 2) %i x = ----------------- - --------------------, 2 2 sqrt(2 - sqrt(2)) %i sqrt(sqrt(2) + 2) x = -------------------- + -----------------] 2 2
Previous: Evaluation of Trignometric Functions, Up: Functions and Variables for trigtools [Contents][Index]
The function atan_contract(r) contracts atan functions. We assume: \(|r| < {\pi\over 2}.\)
Examples:
(%i1) load(trigtools)$
(%i2) atan_contract(atan(x)+atan(y)); (%o2) atan(y) + atan(x) (%i3) assume(abs(atan(x)+atan(y))<%pi/2)$ (%i4) atan(x)+atan(y)=atan_contract(atan(x)+atan(y)); y + x (%o4) atan(y) + atan(x) = atan(-------) 1 - x y
(%i5) atan(1/3)+atan(1/5)+atan(1/7)+atan(1/8)$ %=atan_contract(%); 1 1 1 1 %pi (%o6) atan(-) + atan(-) + atan(-) + atan(-) = --- 3 5 7 8 4
(%i7) 4*atan(1/5)-atan(1/239)=atan_contract(4*atan(1/5)-atan(1/239)); 1 1 %pi (%o7) 4 atan(-) - atan(---) = --- 5 239 4
(%i8) 12*atan(1/49)+32*atan(1/57)-5*atan(1/239)+12*atan(1/110443)$ %=atan_contract(%); 1 1 1 1 %pi (%o9) 12 atan(--) + 32 atan(--) - 5 atan(---) + 12 atan(------) = --- 49 57 239 110443 4
Previous: Functions and Variables for trigtools, Up: Package trigtools [Contents][Index]
This is a conversion by hand of the original “trigtools-doc.pdf” file in “share/contrib/trigtools”, by Raymond Toy. See the pdf for the definitive version.
Next: Package unit, Previous: Package to_poly_solve [Contents][Index]