prime:programming:cas-solve_commands

Return to the Prime Programming Page: Prime Programming Language (PPL)

This section will cover the Calculus commands of the HP Prime. Unless noted, the commands are practically useful *only* in CAS Mode and in CAS programs. RPN Entry will not be covered in this section.

Examples given in this section is with the CAS Simplify setting set to Maximum. The “Include complex results in variables” option is turned off.

Solves an equation or set of polynomials. Real results are returned. If possible, exact results are returned. There are many possibilities with the solve command.

** Syntax **

** Input: **

** CAS Mode **

** Program Editor - CAS Programs **

Solve f(x)=0 for x:

solve( *f(x)* )

Solve f(x) = g(x) for x:

solve( *f(x)* = *g(x)* )

Solve an equation for any variable:

solve( *equation*, *variable*)

Solve a system of equations (polynomials in particular):

solve( *vector of equations*, *vector of variables to solve for* )

** Examples: **

CAS Mode

In Radians Mode:

Solve f(x)=0 for x:

solve(x²-6*x+1) returns {-2*√2+3, 2*√2+3}

Prime may give a message that the equation “f(x)=0” is solved.

solve(x^3+1) returns {-1}

Solve f(x) = g(x) for x:

solve(SIN(x)=1/2) returns {π/6, 5*π/6}

solve(EXP(x)=2) returns {LN(2)}

solve(x²-3=11*x) returns { (-√133 +11)/2, (√133 + 11)/2 }

Solve an equation for any variable:

solve(8*r-3,r) returns {3/8}

solve(8*r*x-3*x=2*r, r) returns { (3*x)/(8*x-2) }

Solve a system of equations (polynomials in particular):

solve([x+y=1, 2*x-3*y=0],[x,y]) returns {[3/5, 2/5]}

solve([x*(y^2+4)=16, x^2-y^2=2], [x,y]) returns

{[2.25634779672, 1.7581539693], [2.25634779672, -1.7581539693]}

** Notes: ** The solve command is not really useful in Home Mode, often returning {0} or {*variable*}.

** Access: ** Toolbox, CAS, 3. Solve, 1. Solve

** See Also: ** cSolve, nsolve, linsolve

Returns the zeros (roots) of an expression. The zeros command can solve multiple expressions. By default, zeros return real roots only.

** Syntax **

** Input: **

** CAS Mode **

** Program Editor - CAS Programs **

Finding the roots of f(x):

zeros( *f(x)* )

Finding the real roots of an equation of any variable:

zeros(*expression*, *variable*)

When possible, the exact roots are returned.

** Home Mode, Algebraic or Textbook Entry **

** Regular Program Editor **

CAS.zeros(*expression*, *variable*)

The variable must be in CAPITAL LETTERS in Home mode. The roots are returned as decimal approximations.

** Home Mode - RPN Entry **

2: '*expression in single quotes*'
1: '*variable in single quotes*'
CAS.zeros(2), press Enter

** Examples: **

CAS Mode

In Radians Mode:

zeros(x²-4) returns [2, -2]

zeros(x²+4) returns []

zeros(n*(n-3)-6,n) returns [ (√33 + 3)/2, (-√33 + 3)/2 ]

Home Mode - Algebraic Entry

zeros(N*(N-3)-6,N) returns [4.3722813237, -1.37228132327]

** Access: ** Toolbox, CAS, 3. Solve, 2. zeros

** See Also: ** cZeros, nsolve

Solves an equation or set of polynomials. Real and complex results are returned. If possible, exact results are returned. Like solve, cSolve has many possibilities of use.

** Syntax **

** Input: **

** CAS Mode **

** Program Editor - CAS Programs **

Solve f(x)=0 for x:

cSolve( *f(x)* )

Solve f(x) = g(x) for x:

cSolve( *f(x)* = *g(x)* )

Solve an equation for any variable:

cSolve( *equation*, *variable*)

Solve a system of equations (polynomials in particular):

cSolve( *vector of equations*, *vector of variables to solve for* )

** Examples: **

CAS Mode

In Radians Mode:

Solve f(x)=0 for x:

cSolve(x²-6*x+1) returns {-2*√2+3, 2*√2+3}

Prime may give a message that the equation “f(x)=0” is solved.

cSolve(x^3+1) returns {-1, (i*√3+1)/2, (-i*√3+1)/2}

Solve f(x) = g(x) for x:

cSolve(SIN(x)=1/2) returns {π/6, 5*π/6}

cSolve(EXP(x)=-2) returns {LN(-2)}

cSolve(x²=i+x) returns

{ ( √17 * √(2*(√17+1)) + 2*√17 + (1+4*i)*√(2*(√17+1)) + 2)/(4*√17 + 4),

(- √17 * √(2*(√17+1)) + 2*√17 - (1+4*i)*√(2*(√17+1)) + 2)/(4*√17 + 4) }

Solve an equation for any variable:

cSolve(8*r-3,r) returns {3/8}

cSolve(8*r*x-3*x=2*i*r, r) returns { (3*x)/(8*x-2*i) }

Solve a system of equations (polynomials in particular):

cSolve( [x+y=1, 2*x-3*y²=0],[x,y]) returns

{ [ (√7 + 4)/3, (-√7-1)/3 ] , [ (-√7 + 4)/3, (√7 - 1)/3 ] }

cSolve( [x²+y=1, 2*x-3*y²=-1],[x,y]) returns

{ [-0.95781842831 + 0.302361832019*i, 0.17400653583+0.579215469458*i],

[-0.95781842831 - 0.302361832019*i, 0.17400653583-0.579215469458*i],

[0.451270904, 0.796354571027], [1.46436595245, -1.14436764269]}

** Notes: ** The cSolve command is not really useful in Home Mode, often returning {0} or {*variable*}.

** Access: ** Toolbox, CAS, 3. Solve, 3. cSolve

** See Also: ** solve, nsolve

Returns both real and complex zeros (roots) of an expression. The zeros command can solve multiple expressions.

** Syntax **

** Input: **

** CAS Mode **

** Program Editor - CAS Programs **

Finding the roots of f(x):

cZeros( *f(x)* )

Finding the real roots of an equation of any variable:

cZeros(*expression*, *variable*)

When possible, the exact roots are returned.

** Home Mode, Algebraic or Textbook Entry **

** Regular Program Editor **

CAS.cZeros(*expression*, *variable*)

The variable must be in CAPITAL LETTERS in Home mode.
** Home Mode - RPN Entry **

2: '*expression in single quotes*'
1: '*variable in single quotes*'
CAS.cZeros(2), press Enter

** Examples: **

CAS Mode

In Radians Mode:

cZeros(x²-4) returns [2, -2]

cZeros(x²+4) returns [-2*i, 2*i]

cZeros(n*(2*i*n-3),n) returns [0, (-3*i)/2]

Home Mode - Textbook Entry

cZeros(N²-3*N+6,N) returns [1.5+1.9364916731*i, 1.5-1.9364916731*i]

** Access: ** Toolbox, CAS, 3. Solve, 4. cZeros

** See Also: ** zeros, nsolve

Numeric Solver. Returns a real numerical solution near a given guess.

** Syntax **

** Input: **

** CAS Mode **

** Program Editor - CAS Programs **

nSolve( *equation*, *variable*=*initial guess*)

If the *equation* is an *expression*, then the *expression* is assumed to equal zero.

** Examples: **

CAS Mode

In Radians Mode:

nSolve(x²+5*x-6,x=0) returns 1

nSolve(x²+5*x-6,x=-10) returns -6

nSolve(EXP(t-3)=2*t+1, t=10) returns 5.48188249798

** Notes: ** The nSolve command returns a bad argument error in Home mode.

** Access: ** Toolbox, CAS, 3. Solve, 5. nSolve

** See Also: ** cSolve, solve

Gives the generic solution to a differential equation, if there is one. Solves many first order differential equations and linear differential equations with constant coefficients.

** Syntax **

** Input: **

** CAS Mode **

** Program Editor - CAS Programs **

desolve( *equation*, *independent variable*, *dependent variable*)

You can either signify the derivative by using the diff command, nested if necessary, or by single quotes. For example:

y' can be typed by pressing ALPHA + 1, Shift + ( ), Backspace

y' ' can be typed by pressing ALPHA + 1, Shift + ( )

The independent variable can be left out (x is assumed to be the independent variable).

G_0, G_1, G_2, … are constants.

** Examples: **

CAS Mode

In Radians Mode:

desolve(y' '-y'=SIN(x),x,y) returns

G_0 + G_1 * EXP(x) - G_1 + 1/2*COS(x) + 1/2*EXP(x) + -1/2*SIN(x) - 1

desolve(y' '+2*y'+1=0,t,y) returns

(4*G_0 - 2*G_1*EXP(-2*t) + 2*G_1 - 2*t - EXP(2*t)+ 1)/4

desolve(y'+a*y=0,x,y) returns

G_0*EXP(-a*x)

desolve(x'=√x,t,x) returns

[(G_0² - 2*G_0*t + t²)/4]

** Notes: ** The desolve command returns a syntax error in Home Mode.

** Access: ** Toolbox, CAS, 3. Solve, 6. desolve

** See Also: ** cSolve, solve

Estimates y(t) given an ordinary differential equation and its initial conditions. Symbolically:

Find y(t) given y'=f(t,y) with the initial conditions y(t_0) = y_0

** Syntax **

** Input: **

** CAS Mode **

** Program Editor - CAS Programs **

Let y' = f(t,y), t be the independent variable, y be the dependent variable. The initial condition is the point (t0, y0). The syntax for odesolve would be:

odesolve( y', [t, y], [t0, y0], t1)

Leaving out [t,y] will cause a “Error: Bad Argument Type”.

** Output: ** The approximation will be returned in an one-element vector.

** Examples: **

CAS Mode

In Radians Mode:

odesolve(t*y, [t,y], [0,1], 0.5) returns [1.13314845307]

odesolve(COS(x²*y),[x,y],[π/2,1],π/4) returns [1.03810590405]

** Notes: ** The odesolve command returns a syntax error in Home Mode.

** Access: ** Toolbox, CAS, 3. Solve, 7. odesolve

** See Also: ** desolve

The linsolve command solves a system of linear equations. Answers are returned in a vector.

** Syntax **

** Input: **

** CAS Mode **

** Program Editor - CAS Programs **

linsolve( [*vector of equations*], [*common variable set*])

If the expression lacks an equals sign, the expression is assumed to equal 0.

** Examples: **

CAS Mode

In Radians Mode:

linsolve( [a+b=-2, 2*a+4*b=1/4], [a, b] ) returns [ -33/8, 17/8 ]

linsolve( [2*a*x-4*y=5, x+3*y=9, [x,y] ) returns [ 51/(6*a+4), (18*a-5)/(6*a+4)]

linsolve( [x+y, 3*x-5*y], [x,y] ) returns [0, 0]

linsolve( [x+y=0, 3*x-5*y=0], [x,y] ) returns [0, 0]

For nonlinear equations, non-numerical solutions will be returned:

linsolve( [a²+b=-2, 2*a+4*b=1/4], [a,b] ) returns [ -33/(32*a-8), (a+8)/(16*a-4) ]

** Notes: ** The linsolve command returns a syntax error in Home Mode.

** Access: ** Toolbox, CAS, 3. Solve, 8. linsolve

** See Also: ** solve, nSolve, cSolve

prime/programming/cas-solve_commands.txt · Last modified: 2013/10/16 06:37 by ed314