finesse.symbols

Symbolic manipulations (expand, collect, etc.) are based on the book:

Cohen JS. Computer algebra and symbolic computation: mathematical methods. First edition, 2003.

Classes

Constant(value[, name])

Defines a constant symbol that can be used in symbolic math.

Function(name, operation, *args)

This is a symbol to represent a mathematical function.

LazySymbol(name, function, *args)

A generic way to make some lazily evaluated symbol.

Matrix(name)

A Matrix symbol.

Resolving()

A special symbol that represents a symbol that is not yet resolved.

Symbol()

Variable(name)

Makes a variable symbol that can be used in symbolic math.

Functions

MAKE_LOP_simplify_truediv()

MAKE_ROP_simplify_truediv()

MAKE_simplify_add(dir)

MAKE_simplify_mul(dir)

MAKE_simplify_neg()

MAKE_simplify_pos()

MAKE_simplify_pow(dir)

MAKE_simplify_sub(dir)

add_sort_key(a)

as_symbol(x)

base_exponent(y)

coefficient_and_term(y)

collect(y)

display(a[, dunder])

For a given Symbol this method will return a human readable string representing the various operations it contains.

eval_symbolic_numpy(a, *keep)

evaluate(x)

Evaluates a symbol or N-dimensional array of symbols.

expand(y)

expand_mul(y)

expand_pow(y)

finesse2sympy(expr[, iter_num])

Notes

is_integer(n)

Checks if n is an integer.

mul_sort_key(a)

Sorting key for multiplication arguments.

np_eval_symbolic_numpy(a, *keep)

operator_add(*args)

operator_mul(*args)

operator_sub(*args)

reduce_mul_args(args)

Sorts and reduces a multiply operation arguments.

simplification([allow_flagged])

When used any symbolic operations will apply various simplification rules rather than recording everything symbolic operation, to preserve intent.

sympy2finesse(expr[, symbol_dict, iter_num])