e48fb30ea6f7eb0c3092ca3b55bdc75176be272a,brian2/stateupdaters/exact.py,,get_linear_system,#Any#,20

Before Change


    
    symbols = [Symbol(name, real=True) for name in diff_eq_names]
    // Coefficients
    wildcards = [Wild("c_" + name, exclude=symbols) for name in diff_eq_names]
    
    //Additive constant
    constant_wildcard = Wild("c", exclude=symbols)
    
    pattern = reduce(operator.add, [c * s for c, s in zip(wildcards, symbols)])
    pattern += constant_wildcard
    
    coefficients = sp.zeros(len(diff_eq_names))
    constants = sp.zeros((len(diff_eq_names), 1))

After Change


    for row_idx, (name, expr) in enumerate(diff_eqs):
        s_expr = expr.sympy_expr.expand()

        current_s_expr = s_expr
        for col_idx, (name, symbol) in enumerate(zip(eqs.diff_eq_names, symbols)):
            current_s_expr = current_s_expr.collect(symbol)
            constant_wildcard = Wild("c", exclude=[symbol])
            factor_wildcard = Wild("c_"+name, exclude=symbols)
            one_pattern = factor_wildcard*symbol + constant_wildcard
            matches = current_s_expr.match(one_pattern)
            if matches is None:
                raise ValueError(("The expression "%s", defining the variable %s, "
                                 "could not be separated into linear components") %
                                 (expr, name))

            coefficients[row_idx, col_idx] = matches[factor_wildcard]
            current_s_expr = matches[constant_wildcard]

        // The remaining constant should be a true constant
        constants[row_idx] = current_s_expr

    return (diff_eq_names, coefficients, constants)
Italian Trulli
In pattern: SUPERPATTERN

Frequency: 3

Non-data size: 9

Instances


Project Name: brian-team/brian2
Commit Name: e48fb30ea6f7eb0c3092ca3b55bdc75176be272a
Time: 2013-10-11
Author: marcel.stimberg@ens.fr
File Name: brian2/stateupdaters/exact.py
Class Name:
Method Name: get_linear_system


Project Name: CellProfiler/CellProfiler
Commit Name: 44992c89c37343cbaeb5bc28e723f564926356b0
Time: 2009-10-23
Author: klmadden@1fc53939-2000-0410-845c-e8453a809027
File Name: pyCellProfiler/cellprofiler/modules/measureimageintensity.py
Class Name: MeasureImageIntensity
Method Name: settings


Project Name: CellProfiler/CellProfiler
Commit Name: 44992c89c37343cbaeb5bc28e723f564926356b0
Time: 2009-10-23
Author: klmadden@1fc53939-2000-0410-845c-e8453a809027
File Name: pyCellProfiler/cellprofiler/modules/measureimageintensity.py
Class Name: MeasureImageIntensity
Method Name: visible_settings