### The Maxima on-line user's manual

Algebra Calculator

#### Pickapart

Function: pickapart (<expr>, <n>) Assigns intermediate expression labels to subexpressions of <expr> at depth <n>, an integer. Subexpressions at greater or lesser depths are not assigned labels. `pickapart` returns an expression in terms of intermediate expressions equivalent to the original expression <expr>.

See also `part`, `dpart`, `lpart`, `inpart`, and `reveal`.

Examples:

```          (%i1) expr: (a+b)/2 + sin (x^2)/3 - log (1 + sqrt(x+1));
2
sin(x )   b + a
(%o1)       - log(sqrt(x + 1) + 1) + ------- + -----
3        2
(%i2) pickapart (expr, 0);```

2 sin(x ) b + a

`          (%t2)       - log(sqrt(x + 1) + 1) + ------- + -----`
`                                                  3        2`

```          (%o2)                          %t2
(%i3) pickapart (expr, 1);```

`          (%t3)                - log(sqrt(x + 1) + 1)`

2 sin(x )

`          (%t4)                        -------`
`                                          3`

```                                        b + a
(%t5)                         -----
2```

```          (%o5)                    %t5 + %t4 + %t3
(%i5) pickapart (expr, 2);```

`          (%t6)                 log(sqrt(x + 1) + 1)`

```                                            2
(%t7)                        sin(x )```

`          (%t8)                         b + a`

```                                   %t8   %t7
(%o8)                    --- + --- - %t6
2     3
(%i8) pickapart (expr, 3);```

`          (%t9)                    sqrt(x + 1) + 1`

```                                          2
(%t10)                         x```

```                            b + a              sin(%t10)
(%o10)            ----- - log(%t9) + ---------
2                    3
(%i10) pickapart (expr, 4);```

`          (%t11)                     sqrt(x + 1)`

```                                2
sin(x )   b + a
(%o11)           ------- + ----- - log(%t11 + 1)
3        2
(%i11) pickapart (expr, 5);```

`          (%t12)                        x + 1`

```                             2
sin(x )   b + a
(%o12)        ------- + ----- - log(sqrt(%t12) + 1)
3        2
(%i12) pickapart (expr, 6);
2
sin(x )   b + a
(%o12)       ------- + ----- - log(sqrt(x + 1) + 1)
3        2```

```(%o1)                                true
(%i2) ```

### Related Examples

##### pickapart

f:(x^2-1)/(x^2+1);

pickapart(f,2);

Calculate

##### pickapart

pickapart(P = Q,2);

Calculate

##### pickapart

f:(x^2-1)/(x^2+1);

pickapart(f,3);

Calculate

##### pickapart

pickapart(not M(x,y),0);

Calculate

##### pickapart

pickapart(P = Q,2);

Calculate

(x^2-1)/(x^2+1);

pickapart(%,1);

pickapart(%,2);

Calculate

##### pickapart-reveal

reveal(pickapart(not ...

Calculate

##### pickapart

pickapart(part(not M(...

Calculate

##### pickapart

f:(x^2-1)/(x^2+1);

pickapart(f,2);

Calculate

##### pickapart

pickapart(part(not M(...

Calculate