gpkit.tools package

Submodules

gpkit.tools.autosweep module

Tools for optimal fits to GP sweeps

class gpkit.tools.autosweep.BinarySweepTree(bounds, sols, sweptvar, costposy)

Bases: object

Spans a line segment. May contain two subtrees that divide the segment.

bounds : two-element list
The left and right boundaries of the segment
sols : two-element list
The left and right solutions of the segment
costs : array
The left and right logcosts of the segment
splits : None or two-element list
If not None, contains the left and right subtrees
splitval : None or float
The worst-error point, where the split will be if tolerance is too low
splitlb : None or float
The cost lower bound at splitval
splitub : None or float
The cost upper bound at splitval
add_split(splitval, splitsol)

Creates subtrees from bounds[0] to splitval and splitval to bounds[1]

add_splitcost(splitval, splitlb, splitub)

Adds a splitval, lower bound, and upper bound

cost_at(_, value, bound=None)

Logspace interpolates between split and costs. Guaranteed bounded.

min_bst(value)

Returns smallest bst around value.

posy_at(posy, value)

Logspace interpolates between sols to get posynomial values.

No guarantees, just like a regular sweep.

sample_at(values)

Creates a SolutionOracle at a given range of values

save(filename='autosweep.p')

Pickles the autosweep and saves it to a file.

The saved autosweep is identical except for two things:
  • the cost is made unitless
  • each solution’s ‘program’ attribute is removed
Solution can then be loaded with e.g.:
>>> import cPickle as pickle
>>> pickle.load(open("autosweep.p"))
solarray

Returns a solution array of all the solutions in an autosweep

sollist

Returns a list of all the solutions in an autosweep

class gpkit.tools.autosweep.SolutionOracle(bst, sampled_at)

Bases: object

Acts like a SolutionArray for autosweeps

cost_lb()

Gets cost lower bounds from the BST and units them

cost_ub()

Gets cost upper bounds from the BST and units them

plot(posys=None, axes=None)

Plots the sweep for each posy

gpkit.tools.autosweep.autosweep_1d(model, logtol, sweepvar, bounds, **solvekwargs)

Autosweep a model over one sweepvar

gpkit.tools.autosweep.get_tol(costs, bounds, sols, variable)

Gets the intersection point and corresponding bounds from two solutions.

gpkit.tools.autosweep.recurse_splits(model, bst, variable, logtol, solvekwargs, sols)

Recursively splits a BST until logtol is reached

gpkit.tools.docstring module

Docstring-parsing methods

gpkit.tools.docstring.check_and_parse_flag(string, flag, declaration_func=None)

Checks for instances of flag in string and parses them.

gpkit.tools.docstring.constant_declare(string, flag, idx2, countstr)

Turns Variable declarations into Constant ones

gpkit.tools.docstring.expected_unbounded(instance, doc)

Gets expected-unbounded variables from a string

class gpkit.tools.docstring.parse_variables(string, scopevars=None)

Bases: object

decorator for adding local Variables from a string.

Generally called as @parse_variables(__doc__, globals()).

gpkit.tools.docstring.parse_varstring(string)

Parses a string to determine what variables to create from it

gpkit.tools.docstring.variable_declaration(nameval, units, label, line, errorcatch=True)

Turns parsed output into a Variable declaration

gpkit.tools.docstring.vv_declare(string, flag, idx2, countstr)

Turns Variable declarations into VectorVariable ones

gpkit.tools.tools module

Non-application-specific convenience methods for GPkit

gpkit.tools.tools.te_exp_minus1(posy, nterm)

Taylor expansion of e^{posy} - 1

posy : gpkit.Posynomial
Variable or expression to exponentiate
nterm : int
Number of non-constant terms in resulting Taylor expansion
gpkit.Posynomial
Taylor expansion of e^{posy} - 1, carried to nterm terms
gpkit.tools.tools.te_secant(var, nterm)

Taylor expansion of secant(var).

var : gpkit.monomial
Variable or expression argument
nterm : int
Number of non-constant terms in resulting Taylor expansion
gpkit.Posynomial
Taylor expansion of secant(x), carried to nterm terms
gpkit.tools.tools.te_tangent(var, nterm)

Taylor expansion of tangent(var).

var : gpkit.monomial
Variable or expression argument
nterm : int
Number of non-constant terms in resulting Taylor expansion
gpkit.Posynomial
Taylor expansion of tangent(x), carried to nterm terms

Module contents

Contains miscellaneous tools including fmincon comparison tool