Algebraic - Maple Programming Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Mathematics : Algebra : Algebraic Numbers : Algebraic/ConvertRootOf

Algebraic

  

ConvertRootOf

  

convert algebraic objects to RootOf notation

 

Calling Sequence

Parameters

Options

Description

Examples

Calling Sequence

ConvertRootOf(f, options)

Parameters

f

-

any Maple object

options

-

(optional) equation(s) of the form keyword = value, where keyword is either 'makeindependent' or 'substitutions'

Options

• 

If the option 'makeindependent' = true is given, ConvertRootOf will attempt to rewrite all algebraic objects, including RootOfs that are present in f, in terms of independent RootOfs, using the command evala/Algfield. Note that this computation can be very expensive. If 'makeindependent' = false is given, then ConvertRootOf will not perform any independence checking, and the RootOfs in the output may not be independent. By default, 'makeindependent' = FAIL is assumed, and a rewrite in terms of independent RootOfs will only be attempted if there are at most 4 distinct algebraic objects in f.

• 

If the option 'substitutions' = true is given (or 'substitutions' for short), then ConvertRootOf does not actually perform the conversion but instead returns an expression sequence F, B, S, where

– 

F is a set of forward substitutions, such that the result of subs(F, f) is equal to what ConvertRootOf returns without option substitutions,

– 

B is a set of backward substitutions, essentially the inverse of the substitution induced by F, and

– 

S, of type boolean, indicates whether the RootOfs in subs(F, f) are independent.

Description

• 

The ConvertRootOf command changes all occurrences of algebraic objects (typically radicals) in f to indexed RootOf notation.

• 

Usually, the radical apm, for integers p<m, is transformed into the equivalent expression RootOf_Zma&comma;index=1p.

• 

The imaginary unit I is replaced by RootOf_Z2+1&comma;index=1, unless it occurs in the second or third argument of a RootOf.

• 

This command descends recursively into subexpressions, including tables. In particular, nested radicals are converted.

• 

By default, this command performs a limited amount of independence checking, for efficiency reasons, unless the option 'makeindependent' is given (see below).

• 

If the input is a single algebraic object, then ConvertRootOf always returns an irreducible RootOf.

Examples

AlgebraicConvertRootOfsqrt5

RootOf_Z25&comma;index=1

(1)

AlgebraicConvertRootOfI+sqrt5

RootOf_Z2+1&comma;index=1+RootOf_Z25&comma;index=1

(2)

AlgebraicConvertRootOfI+sqrt5&comma;substitutions

I=RootOf_Z2+1&comma;index=1&comma;5=RootOf_Z25&comma;index=1,RootOf_Z25&comma;index=1=5&comma;RootOf_Z2+1&comma;index=1=I,true

(3)

AlgebraicConvertRootOfRootOf_Z2sqrt2_Z+1&comma;index=2

RootOf_Z2RootOf_Z22&comma;index=1_Z+1&comma;index=2

(4)

The imaginary unit I is replaced by RootOf_Z2+1&comma;index=1, unless it occurs in the second or third argument of a RootOf:

AlgebraicConvertRootOfx+I+RootOf_Z3I&comma;0..1+I

x+RootOf_Z2+1&comma;index=1+RootOf_Z2RootOf_Z2+1&comma;index=1_Z1&comma;index=1

(5)

If there are at most 4 algebraic numbers in the input, the output RootOfs will be independent by default:

AlgebraicConvertRootOfsqrt2&comma;sqrt3&comma;sqrt6

RootOf_Z22&comma;index=1&comma;RootOf_Z23&comma;index=1&comma;RootOf_Z23&comma;index=1RootOf_Z22&comma;index=1

(6)

AlgebraicConvertRootOfsqrt2&comma;sqrt3&comma;sqrt6&comma;substitutions

2=RootOf_Z22&comma;index=1&comma;3=RootOf_Z23&comma;index=1&comma;6=RootOf_Z23&comma;index=1RootOf_Z22&comma;index=1,RootOf_Z23&comma;index=1=3&comma;RootOf_Z22&comma;index=1=2,true

(7)

If the input contains more than 4 algebraic objects, the output RootOfs are not necessarily independent:

AlgebraicConvertRootOfI&comma;sqrt2&comma;sqrt3&comma;sqrt5&comma;sqrt6

RootOf_Z2+1&comma;index=1&comma;RootOf_Z22&comma;index=1&comma;RootOf_Z23&comma;index=1&comma;RootOf_Z25&comma;index=1&comma;RootOf_Z26&comma;index=1

(8)

AlgebraicConvertRootOfI&comma;sqrt2&comma;sqrt3&comma;sqrt5&comma;sqrt6&comma;makeindependent

RootOf_Z2+1&comma;index=1&comma;RootOf_Z22&comma;index=1&comma;RootOf_Z23&comma;index=1&comma;RootOf_Z25&comma;index=1&comma;RootOf_Z23&comma;index=1RootOf_Z22&comma;index=1

(9)

ConvertRootOf recognizes trigonometric algebraic numbers:

AlgebraicConvertRootOfsinπ5

RootOf_Z45_Z2+5&comma;index=12

(10)

Unless the only algebraic object in the input is a trigonometric algebraic number, ConvertRootOf first converts to radicals and then to RootOfs:

AlgebraicConvertRootOfsinπ5+I

RootOf_Z22&comma;index=1RootOf_Z25+RootOf_Z25&comma;index=1&comma;index=14+RootOf_Z2+1&comma;index=1

(11)

See Also

Algebraic

convert,radical

convert,RootOf

evala,Algfield

evala,Indep

radfield