๐Ÿ™ bertini.system๏ƒ

Notes๏ƒ

Auto-generated docs๏ƒ

Provides utilities for working with systems of functions โ€“ polynomials are intended, although you can work with functions involving things like trig functions, arbitrary powers, etc.

Making a new System is the starting point you want, probably some of these things:

sys = bertini.system.System()
sys.add_function(...)
sys.add_variable_group(...)

x = sys.dehomogenize_point(z)
class bertini.system.System((object)arg1)๏ƒ

The type in Bertini for systems of simultaneous equations. Add functions and variable groups via member functions.

__init__((object)arg1) None๏ƒ
add_function((System)self, (bertini._pybertini.function_tree.root.Function)f) None :๏ƒ

Add a function to the System

add_function( (System)self, (bertini._pybertini.function_tree.AbstractNode)f, (str)name) -> None :

Add a function to the System, naming it too

add_function( (System)self, (bertini._pybertini.function_tree.AbstractNode)f) -> None :

Add a function to the System, giving it the default name

add_functions((System)self, (bertini._pybertini.container.ListOfFunction)functions) None :๏ƒ

Add some functions to the System. Expects a list of functions

add_hom_variable_group((System)self, (bertini._pybertini.container.VariableGroup)group) None :๏ƒ

Add a projective or homogeneous variable group to the System

add_path_variable((System)self, (bertini._pybertini.function_tree.symbol.Variable)pathvar) None :๏ƒ

Add a path variable to the System

add_variable_group((System)self, (bertini._pybertini.container.VariableGroup)group) None :๏ƒ

Add a (affine) variable group to the System

auto_patch((System)self) None :๏ƒ

Apply a patch to the system, given its current variable group structure.

clear_variables((System)self) None :๏ƒ

Remove the variable structure from the system

copy_patches((System)self, (System)other) None :๏ƒ

Copy the patches from another system into this one.

copy_variable_structure((System)self, (System)other) None :๏ƒ

Copy the variable structure from another System

degrees((System)self) bertini._pybertini.container.ListOfInt :๏ƒ

Get a list of the degrees of the functions in the system, with respect to all variables in all groups (and in fact overall)

degrees( (System)self, (bertini._pybertini.container.VariableGroup)group) -> bertini._pybertini.container.ListOfInt :

Get a list of the degrees of the functions in the system, with respect to a variable_group passed in to this function. Negative numbers indicate non-polynomial

dehomogenize_point((System)self, (numpy.ndarray)point) numpy.ndarray :๏ƒ

Dehomogenize a vector of doubles (complex), using the variable structure in this System

dehomogenize_point( (System)self, (numpy.ndarray)point) -> numpy.ndarray :

Dehomogenize a vector of mpfrโ€™s (complex), using the variable structure in this System

differentiate((System)self) None :๏ƒ

differentiate the system with respect to the declared variable groups

eval((System)self) numpy.ndarray :๏ƒ

Evaluate the system in multiple precision, using already-set variable values.

eval( (System)self) -> numpy.ndarray :

Evaluate the system in double precision, using already-set variable values.

eval( (System)arg1, (numpy.ndarray)self) -> numpy.ndarray :

Evaluate the system in multiple precision, using space variable values passed into this function.

eval( (System)arg1, (numpy.ndarray)self) -> numpy.ndarray :

Evaluate the system in double precision, using space variable values passed into this function.

eval( (System)arg1, (numpy.ndarray)arg2, (bertini._pybertini.multiprec.Complex)self) -> numpy.ndarray :

Evaluate the system in multiple precision using space and time values passed into this function. Throws if doesnโ€™t use a time variable

eval( (System)arg1, (numpy.ndarray)arg2, (complex)self) -> numpy.ndarray :

Evaluate the system in double precision using space and time values passed into this function. Throws if doesnโ€™t use a time variable

eval_jacobian((System)self) numpy.ndarray :๏ƒ

Evaluate the Jacobian (martix of partial derivatives) of the system, using already-set time and space value.

eval_jacobian( (System)self) -> numpy.ndarray :

Evaluate the Jacobian (martix of partial derivatives) of the system, using already-set time and space value.

eval_jacobian( (System)arg1, (numpy.ndarray)self) -> numpy.ndarray :

Evaluate the Jacobian (martix of partial derivatives) of the system, using space values you pass in to this function

eval_jacobian( (System)arg1, (numpy.ndarray)self) -> numpy.ndarray :

Evaluate the Jacobian (martix of partial derivatives) of the system, using space values you pass in to this function

eval_jacobian( (System)arg1, (numpy.ndarray)arg2, (complex)self) -> numpy.ndarray :

Evaluate the Jacobian (martix of partial derivatives) of the system, using time and space values passed into this function. Throws if doesnโ€™t use a time variable

eval_jacobian( (System)arg1, (numpy.ndarray)arg2, (bertini._pybertini.multiprec.Complex)self) -> numpy.ndarray :

Evaluate the Jacobian (martix of partial derivatives) of the system, using time and space values passed into this function. Throws if doesnโ€™t use a time variable

function((System)self, (int)index) bertini._pybertini.function_tree.root.Function :๏ƒ

Get a function with a given index. Problems ensue if out of range โ€“ uses un-rangechecked version of underlying getter

get_patch((System)self) object :๏ƒ

Get (a reference to) the patches from the system.

have_path_variable((System)self) bool :๏ƒ

Asks whether the System has a path variable defined

hom_variable_groups((System)self) bertini._pybertini.container.ListOfVariableGroup :๏ƒ

Get the list of projective / homogeneous variable_groups from the system

homogenize((System)self) None :๏ƒ

Homogenize the system, adding new homogenizing variables if necessary. This may change your polynomials; that is, it has side effects.

is_homogeneous((System)self) bool :๏ƒ

Determines whether all polynomials in the system have the same degree. Non-polynomial functions are not homogeneous.

is_patched((System)self) bool :๏ƒ

Check whether the system is patched.

is_polynomial((System)self) bool :๏ƒ

Determines whether all polynomials are polynomial. Transcendental functions, e.g., are non-polynomial. Returns a bool.

num_functions((System)self) int :๏ƒ

The total number of functions in the system. Does not include patches.

num_hom_variable_groups((System)self) int :๏ƒ

The number of homogeneous or projective variable groups. The number of homogenizing variables should eventually equal this.

num_hom_variables((System)self) int :๏ƒ

The number of homogenizing variables defined in the system. Should be equal to the number of homvargroups

num_ungrouped_variables((System)self) int :๏ƒ

The number of variables, not grouped into an affine or projective space

num_variable_groups((System)self) int :๏ƒ

The number of affine variable groups. This should probably be renamed to num_affine_variable_groups

num_variables((System)self) int :๏ƒ

the total number of variables in the system. Includes homogenizing variables

precision((System)self) int :๏ƒ

Get the current precision of the system. Returns a postive number, representing the number of digits (not bits) at which the system is currently represented. (there is a reference-level precision stored, so you can change this up / down mostly fearlessly)

precision( (System)self, (int)precision) -> None :

Set / change the precision of the system. Feed in a positive number, representing the digits (not bits) of the precision. Double precision is 16, but that only effects the multi-precision precisionโ€ฆ you can eval in double precision without changing the precision to 16.

reorder_functions_by_degree_decreasing((System)self) None :๏ƒ

Change the order of the functions to be in decreasing order

reorder_functions_by_degree_increasing((System)self) None :๏ƒ

Change the order of the functions to be in decreasing order

rescale_point_to_fit_patch((System)self, (numpy.ndarray)point) numpy.ndarray :๏ƒ

Return a rescaled version of the input point, which fits the patch for the system.

rescale_point_to_fit_patch( (System)self, (numpy.ndarray)point) -> numpy.ndarray :

Return a rescaled version of the input point, which fits the patch for the system.

rescale_point_to_fit_patch_in_place((System)self, (numpy.ndarray)point) None :๏ƒ

Re-scale the input point, in place, to fit the patch for the system. This assumes you have properly set the variable groups and auto-patched the system.

rescale_point_to_fit_patch_in_place( (System)self, (numpy.ndarray)point) -> None :

Re-scale the input point, in place, to fit the patch for the system. This assumes you have properly set the variable groups and auto-patched the system.

set_path_variable((System)self, (complex)values) None :๏ƒ

Set the value of the path variable. This oneโ€™s double-precision. Throws if path variable not defined.

set_path_variable( (System)self, (bertini._pybertini.multiprec.Complex)values) -> None :

Set the value of the path variable. This oneโ€™s variable-precision. Throws if path variable not defined.

set_variables((System)self, (numpy.ndarray)values) None :๏ƒ

Set the values of the variables. Expects a vector of doubles

set_variables( (System)self, (numpy.ndarray)values) -> None :

Set the values of the variables. Expects a vector of complex mpfrโ€™s

variable_groups((System)self) bertini._pybertini.container.ListOfVariableGroup :๏ƒ

Get the list of (affine) variable_groups from the system

bertini.system.clone((System)self) System :๏ƒ

Make a complete clone of a System. Includes all functions, variables, etc. Truly and genuinely distinct.

bertini.system.concatenate((System)self, (System)other) System :๏ƒ

concatenate two Systems to produce a new one. Appends the second onto what was the first.

bertini.system.simplify((object)self) None :๏ƒ

Perform all possible simplifications. Has side effects of modifying your functions, if held separately. Shared nodes between multiple systems may have adverse effects