list - Maple Help

convert/list

convert to a list

 Calling Sequence convert( expr, list, expected_type, opts )

Parameters

 expr - expression to convert expected_type - (optional) +, *, or ^ opts - (optional) option name or equation of the form option = value where option is one of dimension or nested.

Options

 • dimension : nonnegint
 When expr is an rtable and dimension=d for some positive integer d, the rtable will be split upon dimension d. The dimension d must be less than or equal to n, the number of dimensions of expr. The result is a list of n-1-dimensional rtables if n>1, or a list of scalars if n=1.
 The default is dimension=0, meaning the rtable will be fully converted to a list or nested list.
 Note this option is only relevant if the input expr is an rtable (Matrix, Array, or Vector) and one cannot specify both a positive value for dimension and nested=true.
 • nested : true or false
 This option specifies whether to preserve the structure of rtables and arrays in the returned result using nested lists. The default is false.
 Note this option is only relevant if the input expr is an rtable (Matrix, Array, or Vector) or array, matrix, or vector, and one cannot specify both a positive value for dimension and nested=true.

Description

 • This command can be used to convert a variety of expressions into list form. The precise form of the result is determined by the input expr, the expected_type option, and any additional options opts.
 • The use of the expected_type option enables the convenient extraction of terms, factors or (base, exponent) pairs without worrying about the trivial cases. If expected_type is given and expr is not of type expected_type, expr is interpreted trivially to be of that type: a sum of one term, a product of one factor, or a power with exponent 1. The return value is [expr, 1] if expected_type=^, and [expr] otherwise.

 Input type dimension and nested options Output form rtable dimension=0, nested=false single-level (flattened) list rtable dimension=d for d>0, nested=false list of rtables, or list of scalars if expr is one-dimensional rtable dimension=0, nested or nested=true nested list with structure reflecting input (*) array, matrix, vector nested=false single-level (flattened list) array, matrix, vector nested or nested=true nested list with structure reflecting input table with integer indices list ordered by table index other table unordered list string list of characters (equivalent to StringTools[Explode]) MultiSet [ op(Entries(expr)) ] other [ op(expr) ]

(*) If the rtable is 0-dimensional, the empty list is returned, rather than NULL.

 • Note that when converting an rtable to unnested list form, the order of elements in the output list will depend on the storage order of the rtable.

Examples

 > $\mathrm{convert}\left("abc",\mathrm{list}\right)$
 $\left[{"a"}{,}{"b"}{,}{"c"}\right]$ (1)
 > $A≔\mathrm{Array}\left(3..4,-1..1,0..3,\left(i,j,k\right)→\frac{j+k}{i}\right):$
 > $\mathrm{convert}\left(A,\mathrm{list}\right)$
 $\left[{-}\frac{{1}}{{3}}{,}{-}\frac{{1}}{{4}}{,}{0}{,}{0}{,}\frac{{1}}{{3}}{,}\frac{{1}}{{4}}{,}{0}{,}{0}{,}\frac{{1}}{{3}}{,}\frac{{1}}{{4}}{,}\frac{{2}}{{3}}{,}\frac{{1}}{{2}}{,}\frac{{1}}{{3}}{,}\frac{{1}}{{4}}{,}\frac{{2}}{{3}}{,}\frac{{1}}{{2}}{,}{1}{,}\frac{{3}}{{4}}{,}\frac{{2}}{{3}}{,}\frac{{1}}{{2}}{,}{1}{,}\frac{{3}}{{4}}{,}\frac{{4}}{{3}}{,}{1}\right]$ (2)
 > $\mathrm{convert}\left(A,\mathrm{list},\mathrm{nested}\right)$
 $\left[\left[\left[{-}\frac{{1}}{{3}}{,}{0}{,}\frac{{1}}{{3}}{,}\frac{{2}}{{3}}\right]{,}\left[{0}{,}\frac{{1}}{{3}}{,}\frac{{2}}{{3}}{,}{1}\right]{,}\left[\frac{{1}}{{3}}{,}\frac{{2}}{{3}}{,}{1}{,}\frac{{4}}{{3}}\right]\right]{,}\left[\left[{-}\frac{{1}}{{4}}{,}{0}{,}\frac{{1}}{{4}}{,}\frac{{1}}{{2}}\right]{,}\left[{0}{,}\frac{{1}}{{4}}{,}\frac{{1}}{{2}}{,}\frac{{3}}{{4}}\right]{,}\left[\frac{{1}}{{4}}{,}\frac{{1}}{{2}}{,}\frac{{3}}{{4}}{,}{1}\right]\right]\right]$ (3)
 > $\mathrm{convert}\left(A,\mathrm{list},\mathrm{dimension}=1\right)$
 > $\mathrm{convert}\left(A,\mathrm{list},\mathrm{dimension}=2\right)$
 > $\mathrm{convert}\left(A,\mathrm{list},\mathrm{dimension}=3\right)$
 > $\mathrm{convert}\left(\mathrm{Array}\left(\right),\mathrm{list}\right)$
 $\left[\right]$ (4)
 > $\mathrm{convert}\left(⟨⟨1|2⟩,⟨3|4⟩⟩,\mathrm{list}\right)$
 $\left[{1}{,}{3}{,}{2}{,}{4}\right]$ (5)
 > $\mathrm{convert}\left(\mathrm{Matrix}\left(⟨⟨1|2⟩,⟨3|4⟩⟩,\mathrm{order}=\mathrm{C_order}\right),\mathrm{list}\right)$
 $\left[{1}{,}{2}{,}{3}{,}{4}\right]$ (6)
 > $\mathrm{convert}\left(f\left(a,b,c\right),\mathrm{list}\right)$
 $\left[{a}{,}{b}{,}{c}\right]$ (7)

The default behavior is to extract operands:

 > ${\mathrm{~}}_{\mathrm{convert}}\left(\left[{x}^{2},{x}^{2}+2x,{x}^{2}+2x+1\right],\mathrm{list}\right)$
 $\left[\left[{x}{,}{2}\right]{,}\left[{{x}}^{{2}}{,}{2}{}{x}\right]{,}\left[{{x}}^{{2}}{,}{2}{}{x}{,}{1}\right]\right]$ (8)

By setting + as the expected_type, one can extract terms instead:

 > ${\mathrm{~}}_{\mathrm{convert}}\left(\left[{x}^{2},{x}^{2}+2x,{x}^{2}+2x+1\right],\mathrm{list},\mathrm{+}\right)$
 $\left[\left[{{x}}^{{2}}\right]{,}\left[{{x}}^{{2}}{,}{2}{}{x}\right]{,}\left[{{x}}^{{2}}{,}{2}{}{x}{,}{1}\right]\right]$ (9)

Now get the factors in each term:

 > ${\mathrm{~}}_{\mathrm{convert}}\left(\left[{x}^{2},2x,1\right],\mathrm{list},\mathrm{*}\right)$
 $\left[\left[{{x}}^{{2}}\right]{,}\left[{2}{,}{x}\right]{,}\left[{1}\right]\right]$ (10)

And the bases and exponents:

 > ${\mathrm{~}}_{\mathrm{convert}}\left(\left[{x}^{2},x,1\right],\mathrm{list},\mathrm{^}\right)$
 $\left[\left[{x}{,}{2}\right]{,}\left[{x}{,}{1}\right]{,}\left[{1}{,}{1}\right]\right]$ (11)

Compatibility

 • The expected_type parameter was introduced in Maple 18.