Manual de Maxima 5.47.7.g39559bd: Paquete facexp

Siguiente: Paquete functs, Previous: Paquete absimp, Subir: simplification [Índice general][Índice]

### 72.3 Paquete facexp

El paquete `facexp` contiene varias funciones que le aportan al usuario la posibilidad de estructurar expresiones controlando su expansión. Esta capacidad es especialmente útil cuando la expresión contiene variables con significado físico, ya que se suele dar el caso de que la forma más sencilla para estas expresiones se obtiene cuando se expanden respecto de estas variables y luego se factoriza respecto de sus coeficientes. Si bien es cierto que este procedimiento no es difícil de llevar a cabo con las funciones estándar de Maxima, pueden ser necesarios algunos retoques adicionales que sí pueden ser más difíciles de hacer.

La función `facsum` y sus formas relacionadas proporcionan un método para controlar la estructura de expresiones. La función `collectterms` puede usarse para añadir dos o más expresiones que ya hayan sido simplificadas de la forma indicada, sin necesidad de volver a simplificar la expresión completa. Esta función puede ser útil cuando las expresiones sean largas.

La instrucción `load ("facexp")` carga este paquete y `demo (facexp)` hace una demostración sobre su uso.

Función: facsum (expr, arg_1, ..., arg_n)

  Devuelve una expresión equivalente a expr, la cual depende de los argumentos arg_1, ..., arg_n, y éstos pueden ser de cualquiera de las formas aceptables para `ratvars`, o listas de estas formas. Si los argumentos no son listas, la forma devuelta se expande completamente con respecto de los argumentos, siendo los coeficientes de tales argumentos factorizados. Estos coeficientes no contienen a ninguno de los argumentos, excepto quizás de una forma no racional.

  En caso de que cualquiera de los argumentos sea una lista, entonces todos ellos se combinan en una única lista, y en lugar de llamar a `factor` para los coeficientes de los argumentos, `facsum` se llama a sí misma utilizando esta nueva lista única como lista de argumentos.

  Es posible que se quiera utilizar `facsum` con respecto a expresiones más complicadas, tales como `log (x + y)`. Estos argumentos son también admisibles.

  En ocasiones puede ser necesario obtener cualquiera de las formas anteriores especificadas por sus operadores principales. Por ejemplo, se puede querer aplicar `facsum` con respecto a todos los `log`; en este caso, se puede incluir entre los argumentos bien los `log` específicos que se quieran tratar de esta manera, bien la expresión `operator (log)` o `'operator (log)`. Si se quiere aplicar `facsum` a expr con respecto a los operadores op_1, ..., op_n, se debe evaluar `facsum (expr, operator (op_1, ..., op_n))`. La forma `operator` puede aparecer también dentro de las listas de argumentos.

  Además, dándole valores a las variables opcionales `facsum_combine` y `nextlayerfactor` se puede controlar el resultado de `facsum`.

Variable global: nextlayerfactor

  Valor por defecto: `false`

  Si `nextlayerfactor` vale `true`, las llamadas recursivas de `facsum` se aplican a los factores de la forma factorizada de los coeficientes de los argumentos.

  Si vale `false`, `facsum` se aplica a cada coeficiente como un todo cada vez que se efectúen llamadas recursivas a `facsum`.

  La inclusión del átomo `nextlayerfactor` en la lista de argumentos de `facsum` tiene el mismo efecto que `nextlayerfactor: true`, pero solamente para el siguiente nivel de la expresión. Puesto que `nextlayerfactor` toma siempre uno de los valores `true` o `false`, debe aparecer comentado (comilla simple) cada vez que aparezca en la lista de argumentos de `facsum`.

Variable global: facsum_combine

  Valor por defecto: `true`

  La variable `facsum_combine` controla la forma del resultado final devuelto por `facsum` si su argumento es un cociente de polinomios. Si `facsum_combine` vale `false`, el resultado será una suma completamente expandida, pero si vale `true`, la expresión devuelta es un cociente de polinomios.

Función: factorfacsum (expr, arg_1, ... arg_n)

  Devuelve una expresión equivalente a expr obtenida aplicando `facsum` a los factores de expr, de argumentos arg_1, ... arg_n. Si alguno de los factores de expr se eleva a una potencia, tanto el factor como el exponente se procesarán de esta manera.

Función: collectterms (expr, arg_1, …, arg_n)

  Si algunas expresiones fueron ya simplificadas con `facsum`, `factorfacsum`, `factenexpand`, `facexpten` o `factorfacexpten`, debiendo ser luego sumadas, puede ser conveniente combinarlas utilizando la función `collecterms`, la cual admite como argumentos todos aquéllos que se puedan pasar a las anteriormente citadas funciones, con la excepción de `nextlayerfactor`, que no tiene efecto alguno sobre `collectterms`. La ventaja de `collectterms` es que devuelve una forma similar a la de `facsum`, pero debido a que suma expresiones que ya han sido previamente procesadas, no necesita repetir esta operación, lo cual resulta ser especialmente útil cuando las expresiones a sumar son muy grandes.

Siguiente: Paquete functs, Previous: Paquete absimp, Subir: simplification [Índice general][Índice]