Procedures

ProcedureLocationProcedure TypeDescription
achecklsqr_moduleSubroutine

Checks the two modes of aprod for LSQR.

Read more…
add_edgedag_moduleSubroutine

add an edge index for this vertex

add_edgeproblem_23Subroutine

add an edge to this node (path to another node with the specified distance)

add_lensproblem_15_moduleSubroutine
add_to_queueproblem_17Subroutine
add_to_queueproblem_17Subroutine
all_in_setproblem_8Function

returns true if all the elements of ivals are in the set iset

aprod1lsqrtest_moduleSubroutine

aprod1 computes y = y + Ax for subroutine aprod, where A is a test matrix of the form A = HYD*HZ, and the latter matrices HY, D, HZ are represented by input vectors with the same name.

aprod2lsqrtest_moduleSubroutine

aprod2 computes x = x + A(t)y for subroutine aprod, where A is a test matrix of the form A = HYD*HZ, and the latter matrices HY, D, HZ are represented by input vectors with the same name.

aprod_ezlsqr_moduleSubroutine

The internal aprod function for the lsqr_solver_ez class.

aprod_test_solverlsqrtest_moduleSubroutine

This is the matrix-vector product routine required by subroutines LSQR and CRAIG for a test matrix of the form A = HYDHZ. The quantities defining D, HY, HZ are in the work array rw, followed by a work array w. These are passed to aprod1 and aprod2 in order to make the code readable.

backtracking_linesearchnlesolver_moduleSubroutine

Backtracking line search.

Read more…
beatsproblem_7Function

return true if hand1 beats hand2 (has a higher score)

build_graphproblem_23Subroutine
char_array_to_intaoc_utilitiesFunction

Character array to integer routine

char_to_intaoc_utilitiesFunction

Basic string to integer routine

char_to_int64aoc_utilitiesFunction

Basic string to integer(ip) routine. Hacky hack just so we can overload as int()

checkproblem_17Subroutine
checkproblem_17Subroutine
checkproblem_3Function

if the char is part of a number, then get it and append to ivals

clear_exceptionsnumerical_differentiation_moduleSubroutine

Clear all exceptions.

clock_endaoc_utilitiesSubroutine

Print runtime in milliseconds form the start of the clock.

clock_startaoc_utilitiesSubroutine

Start the clock

columns_in_partition_groupnumerical_differentiation_moduleSubroutine

Returns the columns in a sparsity partition group.

Read more…
compute_function_with_cachenumerical_differentiation_moduleSubroutine

Wrapper for computing the function, using the cache.

compute_indicesnumerical_differentiation_moduleSubroutine

Computes the indices vector in the class.

compute_jacobiannumerical_differentiation_moduleSubroutine

Compute the Jacobian.

Read more…
compute_jacobian_densenumerical_differentiation_moduleSubroutine

just a wrapper for compute_jacobian, that returns a dense (m x n) matrix.

Read more…
compute_jacobian_for_sparsitynumerical_differentiation_moduleSubroutine

A separate version of compute_jacobian to be used only when computing the sparsity pattern in compute_sparsity_random_2. It uses class_meths and the sparsity dperts and bounds.

Read more…
compute_jacobian_partitionednumerical_differentiation_moduleSubroutine

Compute the Jacobian using finite differences, (using the partitioned sparsity pattern to compute multiple columns at a time).

compute_jacobian_standardnumerical_differentiation_moduleSubroutine

Compute the Jacobian using finite differences. (one column at a time)

compute_jacobian_times_vectornumerical_differentiation_moduleSubroutine

Returns the product J*v, where J is the m x n Jacobian matrix and v is an n x 1 vector.

Read more…
compute_jacobian_with_diffnumerical_differentiation_moduleSubroutine

Compute the Jacobian one element at a time using the Neville's process algorithm diff. This takes a very large number of function evaluations, but should give a very accurate answer.

compute_perturb_vectornumerical_differentiation_moduleSubroutine

Compute dx, the perturbation vector for x

compute_perturbation_vectornumerical_differentiation_moduleSubroutine

Compute dx, the perturbation vector for x used when computing the gradients.

compute_sparsity_densenumerical_differentiation_moduleSubroutine

assume all elements of Jacobian are non-zero.

compute_sparsity_patternnumerical_differentiation_moduleSubroutine

Computes the sparsity pattern and return it. Uses the settings currently in the class.

compute_sparsity_perturbation_vectornumerical_differentiation_moduleSubroutine

Compute dx, the perturbation vector for x used when computing the sparsity pattern.

compute_sparsity_randomnumerical_differentiation_moduleSubroutine

Compute the sparsity pattern by computing the function at three "random" points in the [xlow_for_sparsity, xhigh_for_sparsity] interval and checking if the function values are the same.

compute_sparsity_random_2numerical_differentiation_moduleSubroutine

Compute the sparsity pattern by computing a 2-point jacobian at a specified number of "random" points (num_sparsity_points) in the [xlow_for_sparsity, xhigh_for_sparsity] interval and checking if they are the same.

count_adjacentproblem_23Function

count the number of adjacent cells not a tree

crossaoc_utilitiesFunction

Cross product of two real 3x1 vectors

d2normlsqr_moduleFunction

Returns with precautions to avoid overflow.

Read more…
dag_destroydag_moduleSubroutine

Destroy the dag.

dag_generate_dependency_matrixdag_moduleSubroutine

Generate the dependency matrix for the DAG.

Read more…
dag_generate_digraphdag_moduleFunction

Generate a Graphviz digraph structure for the DAG.

Read more…
dag_get_dependenciesdag_moduleFunction

get all the vertices that depend on this vertex.

dag_get_edgesdag_moduleFunction

get the edges for the vertex (all the the vertices that this vertex depends on).

dag_save_digraphdag_moduleSubroutine

Generate a Graphviz digraph structure for the DAG and write it to a file.

dag_set_edgesdag_moduleSubroutine

set the edges for a vertex in a dag

dag_set_vertex_infodag_moduleSubroutine

set info about a vertex in a dag.

dag_set_verticesdag_moduleSubroutine

set the number of vertices in the dag

dag_toposortdag_moduleSubroutine

Main toposort routine

dcopylsqpblas_moduleSubroutine

copies a vector, x, to a vector, y.

ddotlsqpblas_moduleFunction

dot product of two vectors

degrdsm_moduleSubroutine

Given the sparsity pattern of an m by n matrix a, this subroutine determines the degree sequence for the intersection graph of the columns of a.

Read more…
derivtest2Function

Problem function true derivative

destinationproblem_18Function

get destination point

destroy_cachenumdiff_cache_moduleSubroutine

Destroy a cache.

destroy_cacheaoc_cache_moduleSubroutine

Destroy a cache.

destroy_nlesolver_variablesnlesolver_moduleSubroutine

Destructor

destroy_numdiff_typenumerical_differentiation_moduleSubroutine

destroy the numdiff_type class.

destroy_sparsitynumerical_differentiation_moduleSubroutine

destroy a sparsity_pattern type.

destroy_sparsity_patternnumerical_differentiation_moduleSubroutine

Destroy the sparsity pattern in the class.

diffdiff_moduleSubroutine

the procedure diff calculates the first, second or third order derivative of a function by using neville's process to extrapolate from a sequence of simple polynomial approximations based on interpolating points distributed symmetrically about x0 (or lying only on one side of x0 should this be necessary). if the specified tolerance is non-zero then the procedure attempts to satisfy this absolute or relative accuracy requirement, while if it is unsuccessful or if the tolerance is set to zero then the result having the minimum achievable estimated error is returned instead.

diffaoc_utilitiesFunction

Difference ip vector

dijkstraproblem_23Subroutine
divide_intervalnumdiff_utilities_moduleFunction

Returns a set of slightly randomized equally-spaced points that divide an interval.

Read more…
dnrm2lsqpblas_moduleFunction

euclidean norm of a vector.

dropproblem_22Subroutine

continue forward in time until all the bricks settle.

dscallsqpblas_moduleSubroutine

scales a vector by a constant.

dsmdsm_moduleSubroutine

The purpose of dsm is to determine an optimal or near- optimal consistent partition of the columns of a sparse m by n matrix a.

Read more…
dsm_wrappernumerical_differentiation_moduleSubroutine

Wrapper for dsm to compute the sparsity pattern partition.

equal_within_tolnumdiff_utilities_moduleFunction

Returns true if the values in the array are the same (to within the specified absolute tolerance).

exact_linesearchnlesolver_moduleSubroutine

An exact linesearch that uses a derivative-free minimizer to find the minimum value of f(x) between x = xold + p * alpha_min and x = xold + p * alpha_max.

Read more…
expand_queueproblem_17Subroutine

Add elements to the integer vector in chunks.

expand_vectornumdiff_utilities_moduleInterface
expand_vectoraoc_utilitiesSubroutine

Add elements to the integer vector in chunks.

expand_vector_intnumdiff_utilities_moduleSubroutine

Add elements to the integer vector in chunks.

expand_vector_realnumdiff_utilities_moduleSubroutine

Add elements to the real vector in chunks.

exportsparse_testSubroutine

export an iteration:

exportnlesolver_test_1Subroutine

export an iteration:

extrapolateproblem_9Function

extrapolate the next value in the sequence using a difference table. Straightfoward implemention: create the full table, and then evaluate it.

faccurdiff_moduleSubroutine

This procedure attempts to estimate the level of rounding errors in the calculated function values near the point x0+h0 by fitting a least-squares straight-line approximation to the function at the six points x0+h0-j*h1, (j = 0,1,3,5,7,9), and then setting facc to twice the largest deviation of the function values from this line. hi is adjusted if necessary so that it is approximately 8 times the smallest spacing at which the function values are unequal near x0+h0.

failednumerical_differentiation_moduleFunction

Returns True if an exception has been raised.

fcndsm_testSubroutine

Function subroutine for testing fdjs.

fdjsdsm_moduleSubroutine

Given a consistent partition of the columns of an m by n jacobian matrix into groups, this subroutine computes approximations to those columns in a given group. the approximations are stored into either a column-oriented or a row-oriented pattern.

Read more…
find_nodeproblem_8Function
finite_diff_methodnumerical_differentiation_moduleInterface

constructor

fixed_point_linesearchnlesolver_moduleSubroutine

A simple search that just evaluates the function at a specified number of points and picks the one with the minimum function value.

fminfmin_moduleFunction

An approximation x to the point where f attains a minimum on the interval (ax,bx) is determined.

Read more…
functest2Function

Problem function

functestFunction

Test function to minimize.

funcsparse_testSubroutine

compute the function

funcnlesolver_test_1Subroutine

compute the function

generate_dense_sparsity_partitionnumerical_differentiation_moduleSubroutine

Generate a "dense" sparsity partition.

get_acceptedproblem_19bFunction

count of all the parts in the set

get_all_methods_in_classnumerical_differentiation_moduleFunction

Returns all the methods with the given class (i.e., number of points in the formula).

get_all_pieces_aboveproblem_22Function

reursively get a list of all pieces above piece i

get_all_pieces_belowproblem_22Function

reursively get a list of all pieces below piece i

get_cellproblem_23Function
get_error_statusnumerical_differentiation_moduleSubroutine

Returns the current error code and message.

get_finite_diff_formulanumerical_differentiation_moduleSubroutine

Return a string with the finite difference formula. Input is the method id code.

Read more…
get_finite_difference_methodnumerical_differentiation_moduleSubroutine

Return a finite_diff_method given the id code. (the id codes begin at 1, are sequential, and uniquely define the method).

Read more…
get_formulanumerical_differentiation_moduleSubroutine

Return a string with the finite difference formula.

Read more…
get_from_cachenumdiff_cache_moduleSubroutine

Check if the x vector is in the cache, if so return f. Note that only some of the elements may be present, so it will return the ones there are there, and indicate which ones were found.

get_from_cacheaoc_cache_moduleSubroutine

Check if the x vector is in the cache, if so return f. Note that only some of the elements may be present, so it will return the ones there are there, and indicate which ones were found.

get_numberproblem_3Function

get the full number contining the character at i,j

get_pieces_aboveproblem_22Function

get set of pieces directly above piece i

get_pieces_belowproblem_22Function

get set of pieces directly below piece i

get_sparsity_patternnumerical_differentiation_moduleSubroutine

Returns the sparsity pattern from the class. If it hasn't been computed, the output arrays will not be allocated.

get_statusnlesolver_moduleSubroutine

Return the status code and message from the nlesolver_type class.

Read more…
goproblem_16Subroutine
goproblem_18Subroutine
goproblem_11Function
goproblem_6Function
goproblem_13Subroutine

compute the number of cols to left of mirror (0 if none) call with transpose(puzzle) to get number of rows above.

goproblem_12Subroutine
goproblem_12bFunction
goproblem_23Subroutine

solve the case

gradsparse_testSubroutine

compute the gradient of the function (Jacobian):

gradnlesolver_test_1Subroutine

compute the gradient of the function (Jacobian):

grad_sparsesparse_testSubroutine

compute the gradient of the function (Jacobian):

hand_typeproblem_7Function

returns the type of hand

hashproblem_15Function

Determine the ASCII code for the current character of the string.

HbuildlusolSubroutine
HchangelusolSubroutine
HdeletelusolSubroutine
HdownlusolSubroutine
hex2intaoc_utilitiesFunction
HinsertlusolSubroutine
hprodlsqrtest_moduleSubroutine

hprod applies a Householder transformation stored in hz to get y = ( I - 2hzhz(transpose) ) * x.

HuplusolSubroutine
idodsm_moduleSubroutine

given the sparsity pattern of an m by n matrix a, this subroutine determines an incidence-degree ordering of the columns of a.

Read more…
in_seed_listproblem_5Function
index_in_cardsproblem_7Function
index_in_queueproblem_17Function
index_in_queueproblem_17Function
initializeproblem_22Subroutine

read the data

initialize_cachenumdiff_cache_moduleSubroutine

Initialize the cache. Must be called first before use.

initialize_cacheaoc_cache_moduleSubroutine

Initialize the cache. Must be called first before use.

initialize_ezlsqr_moduleSubroutine

Constructor for lsqr_solver_ez.

initialize_finite_difference_methodnumerical_differentiation_moduleFunction

Constructor for a finite_diff_method.

Read more…
initialize_nlesolver_variablesnlesolver_moduleSubroutine

Constructor for the class.

initialize_numdiffnumerical_differentiation_moduleSubroutine

Initialize a numdiff_type class. This must be called first.

Read more…
initialize_numdiff_for_diffnumerical_differentiation_moduleSubroutine

Alternate version of initialize_numdiff routine when using diff to compute the Jacobian.

intaoc_utilitiesInterface
int_array_to_char_arrayaoc_utilitiesFunction

integer array to Character array

integer_to_stringnumerical_differentiation_moduleFunction

Convert an integer to a string.

integer_to_stringdag_moduleFunction

Integer to allocatable string.

inverseaoc_utilitiesSubroutine

inverse of a 2x2 matrix.

Read more…
ipointproblem_12bFunction
ipoundproblem_12bFunction
is_nodeproblem_23Function

returns true if a node is at these coordinates

is_not_numberaoc_utilitiesFunction

returns true if the character is not a number.

is_numberaoc_utilitiesFunction

returns true if the character is a number from 0 to 9.

is_symbolproblem_3Function
jdamaxlusolFunction
lcmaoc_utilitiesFunction

LCM. based on code from NCAR Command Language

linear_solvernlesolver_moduleSubroutine

Solve the linear system: , using a dense, direct method.

Read more…
locptaoc_utilitiesSubroutine

given a polygonal line connecting the vertices (x(i),y(i)) (i = 1,...,n) taken in this order. it is assumed that the polygonal path is a loop, where (x(n),y(n)) = (x(1),y(1)) or there is an arc from (x(n),y(n)) to (x(1),y(1)).

Read more…
LSQRlsqr_moduleSubroutine

LSQR finds a solution to the following problems:

Read more…
lsqr_testlsqrtest_moduleSubroutine

Unit test.

lstplsqrtest_moduleSubroutine

lstp generate a sparse least-squares test problem of the form ( A )x = ( b ) ( dampI ) ( 0 ) for solution by LSQR, or a sparse underdetermined system Ax + damps = b for solution by CRAIG. The matrix A is m by n and is constructed in the form A = HYD*HZ, where D is an m by n diagonal matrix, and HY and HZ are Householder transformations.

Read more…
lu1DCPlusolSubroutine
lu1DPPlusolSubroutine
lu1faclusolSubroutine

! nelem = numnz !!! Don't change nelem. ! nelem is now numnz below (it might be less than the input value).

lu1fadlusolSubroutine

! a(ldiagU + nrowu) = abest ! This was in pivot order. !!! DEBUG

lu1fullusolSubroutine
lu1gaulusolSubroutine
lu1marlusolSubroutine

! TPP ! Absolute test for Complete Pivoting

lu1mCPlusolSubroutine
lu1mRPlusolSubroutine
lu1mSPlusolSubroutine
lu1mxclusolSubroutine
lu1mxrlusolSubroutine
lu1or1lusolSubroutine
lu1or2lusolSubroutine
lu1or3lusolSubroutine
lu1or4lusolSubroutine
lu1penlusolSubroutine
lu1pq1lusolSubroutine
lu1pq2lusolSubroutine
lu1pq3lusolSubroutine
lu1reclusolSubroutine
lu1slklusolSubroutine
lu6chklusolSubroutine
lu6LlusolSubroutine
lu6LDlusolSubroutine
lu6LtlusolSubroutine
lu6sollusolSubroutine
lu6UlusolSubroutine
lu6UtlusolSubroutine
lu7addlusolSubroutine
lu7cyclusolSubroutine
lu7elmlusolSubroutine
lu7forlusolSubroutine
lu7rnklusolSubroutine
lu7zaplusolSubroutine
lu8rpclusolSubroutine
manhatten_distanceaoc_utilitiesInterface
manhatten_distance_64aoc_utilitiesFunction

Manhattan distance between two ip points.

mapproblem_5Function
matchproblem_12Function

returns true if the pattern is valid for the int list.

moveproblem_10Subroutine
move_piece_downproblem_22Subroutine

move a piece down (fall one square) if it can be moved

movesproblem_8Function
moves_any_zproblem_8Function
my_functest1Subroutine

Problem function

my_functest2Subroutine

Problem function interface for numdiff

nlesolver_solvernlesolver_moduleSubroutine

Main solver.

node_indexproblem_25Function

find the node number for this name

node_numberproblem_23Function

returns the index of these coordinates in the list of nodes (0 if it is not a node)

not_treeproblem_23Function

returns true if the cell isn't a tree

number_of_lines_in_fileaoc_utilitiesFunction

Returns the number of lines in a file (assumed to be open)

numsrtdsm_moduleSubroutine

Given a sequence of integers, this subroutine groups together those indices with the same sequence value and, optionally, sorts the sequence into either ascending or descending order.

Read more…
pareaaoc_utilitiesFunction

given a sequence of nb points (x(i),y(i)). parea computes the area bounded by the closed polygonal curve which passes through the points in the order that they are indexed. the final point of the curve is assumed to be the first point given. therefore, it need not be listed at the end of x and y. the curve is not required to be simple.

Read more…
parseaoc_utilitiesInterface
parse_intsaoc_utilitiesFunction

parse positive ints from a string that also includes text

parse_ints64aoc_utilitiesFunction

Parse positive ints from a string that also includes text

parse_nums64aoc_utilitiesFunction

parse space-deliminated ip sequence (positive or negative)

parse_ruleproblem_19Function
parse_ruleproblem_19bFunction
perturb_x_and_compute_fnumerical_differentiation_moduleSubroutine

Perturb the specified optimization variable, and compute the function. This routine is designed so that df is accumulated as each function evaluation is done, to avoid having to allocate more temporary storage.

perturb_x_and_compute_f_partitionednumerical_differentiation_moduleSubroutine

Perturb the specified optimization variable, and compute the function. This routine is designed so that df is accumulated as each function evaluation is done, to avoid having to allocate more temporary storage.

pipe_infoproblem_10Function
populateproblem_5Subroutine
print_cachenumdiff_cache_moduleSubroutine

Print the contents of the cache. Used for debugging.

print_finite_difference_methodnumerical_differentiation_moduleSubroutine

Print the contents of a finite_diff_method. Used for debugging.

print_sparsitynumerical_differentiation_moduleSubroutine

Print the sparsity pattern.

print_sparsity_matrixnumerical_differentiation_moduleSubroutine

Print the sparsity pattern in matrix form.

print_sparsity_patternnumerical_differentiation_moduleSubroutine

Print the sparsity pattern in vector form (irow, icol).

processproblem_19Function

process this part through all the workflows.

processproblem_19bFunction

process this part range starting with irule

put_in_cachenumdiff_cache_moduleSubroutine

Put a value into the cache.

put_in_cacheaoc_cache_moduleSubroutine

Put a value into the cache.

raise_exceptionnumerical_differentiation_moduleSubroutine

Raise an exception.

ratingproblem_19Function
read_file_to_char_arrayaoc_utilitiesFunction

Read a file into a 2d character array.

read_file_to_int_arrayaoc_utilitiesFunction

Read a file into a 2d character array.

read_file_to_integer64_arrayaoc_utilitiesFunction

Read a file into an ip integer array (one element per line)

read_file_to_integer_arrayaoc_utilitiesFunction

Read a file into an integer array (one element per line)

read_lineaoc_utilitiesFunction

Reads the next line from a file.

remove_lensproblem_15_moduleSubroutine

remove the lens with the label (if present)

resize_sparsity_vectorsnumerical_differentiation_moduleSubroutine

Resize the sparsity arrays after accumulating them.

reverseaoc_utilitiesFunction

Reverse an ip vector

select_finite_diff_methodnumerical_differentiation_moduleSubroutine

Select a finite diff method of a given class so that the perturbations of x will not violate the variable bounds.

select_finite_diff_method_for_partition_groupnumerical_differentiation_moduleSubroutine

Select a finite diff method of a given class so that the perturbations of x will not violate the variable bounds for any variable in the group.

Read more…
seqdsm_moduleSubroutine

given the sparsity pattern of an m by n matrix a, this subroutine determines a consistent partition of the columns of a by a sequential algorithm.

Read more…
set_edge_vectordag_moduleSubroutine

specify the edge indices for this vertex

set_functiondiff_moduleSubroutine

Set the function in a diff_func. Must be called before diff.

set_numdiff_boundsnumerical_differentiation_moduleSubroutine

Change the variable bounds in a numdiff_type.

Read more…
set_numdiff_sparsity_boundsnumerical_differentiation_moduleSubroutine

Sets the variable bounds for sparsity in a numdiff_type. These are only used for sparsity_mode=2.

Read more…
set_sparsity_modenumerical_differentiation_moduleSubroutine

Set sparsity mode.

set_sparsity_patternnumerical_differentiation_moduleSubroutine

To specify the sparsity pattern directly if it is already known.

Read more…
set_statusnlesolver_moduleSubroutine

Set status flag and message.

setrdsm_moduleSubroutine

given a column-oriented definition of the sparsity pattern of an m by n matrix a, this subroutine determines a row-oriented definition of the sparsity pattern of a.

Read more…
simple_stepnlesolver_moduleSubroutine

Take a simple step in the search direction of p * alpha.

slodsm_moduleSubroutine

given the sparsity pattern of an m by n matrix a, this subroutine determines the smallest-last ordering of the columns of a.

Read more…
solvelusol_ez_moduleSubroutine

Wrapper for lu1fac + lu6sol to solve a linear system A*x = b.

solve_ezlsqr_moduleSubroutine

Wrapper for LSQR for the easy version of the class.

sortaoc_utilitiesInterface
sort_ascendingnumdiff_utilities_moduleInterface
sort_ascendingaoc_utilitiesSubroutine

Sorts an integer array ivec in increasing order. Uses a basic recursive quicksort (with insertion sort for partitions with 20 elements).

sort_ascending_64aoc_utilitiesSubroutine
sort_ascending_intnumdiff_utilities_moduleSubroutine

Sorts an integer array ivec in increasing order. Uses a basic recursive quicksort (with insertion sort for partitions with 20 elements).

sort_ascending_realnumdiff_utilities_moduleSubroutine

Sorts a real array ivec in increasing order. Uses a basic recursive quicksort (with insertion sort for partitions with 20 elements).

splitaoc_utilitiesInterface
split1aoc_utilitiesFunction

Split a character string using a token. This routine is inspired by the Python split function.

Read more…
split2aoc_utilitiesFunction

Split a string, given a token.

srtdatdsm_moduleSubroutine

given the non-zero elements of an m by n matrix a in arbitrary order as specified by their row and column indices, this subroutine permutes these elements so that their column indices are in non-decreasing order.

Read more…
startswithaoc_utilitiesInterface

test if a string starts with a specified substring

startswith_ccaoc_utilitiesFunction

starts with function for strings

startswith_csaoc_utilitiesFunction
startswith_scaoc_utilitiesFunction
startswith_ssaoc_utilitiesFunction
stepproblem_21Subroutine

take all valid steps from any # elements in array

str_to_arrayaoc_utilitiesFunction

convert the character string to an array of characters

str_to_int64_array_with_mappingaoc_utilitiesFunction

Convert a string to a numeric array by mapping characters to integers (user-specified)

str_to_int_array_with_mappingaoc_utilitiesFunction

Convert a string to a numeric array by mapping characters to integers (user-specified)

string_to_intaoc_utilitiesFunction

Basic string to integer routine

string_to_int_64aoc_utilitiesFunction

Basic string to integer routine

swapnumdiff_utilities_moduleInterface
swapaoc_utilitiesInterface
swap32aoc_utilitiesSubroutine

Swap two integer values.

swap64aoc_utilitiesSubroutine

Swap two integer values.

swap_handsproblem_7Subroutine

swap function for hand type

swap_intnumdiff_utilities_moduleSubroutine

Swap two integer values.

swap_realnumdiff_utilities_moduleSubroutine

Swap two integer values.

swap_straoc_utilitiesSubroutine

Swap two character string values

terminatenumerical_differentiation_moduleSubroutine

A user-callable routine. When called, it will terminate all computations and return. The istat return code will be set to -1. This can be called in the function or the info function.

terminatediff_moduleSubroutine

Can be called by the user in the function to terminate the computation. This will set ifail=-1.

testlsqrtest_moduleSubroutine

This is an example driver routine for running LSQR. It generates a test problem, solves it, and examines the results. Note that subroutine aprod must be declared external if it is used only in the call to LSQR (and acheck).

Read more…
testproblem_12Subroutine

each ? can be either a . or a # check pattern to match the int list

test_1mainSubroutine
test_2mainSubroutineRead more…
traverseproblem_5Function
traverseproblem_23Subroutine

traverse the graph until we get to the end and check the max distance

traverseproblem_25Subroutine

travere the graph and visit all the connected nodes

uniquenumdiff_utilities_moduleInterface
uniqueaoc_utilitiesInterface
unique32aoc_utilitiesFunction

Return only the unique values from vec.

unique64aoc_utilitiesFunction

Return only the unique values from vec.

unique_intnumdiff_utilities_moduleFunction

Returns only the unique elements of the vector (sorted in ascending order).

unique_realnumdiff_utilities_moduleFunction

Returns only the unique elements of the vector (sorted in ascending order).

update_arrayproblem_22Subroutine

populate the array using the start/end indices

vector_djb_hashnumdiff_cache_moduleFunction

DJB hash algorithm for a real(wp) vector.

Read more…
vector_djb_hashaoc_cache_moduleFunction

DJB hash algorithm for a integer(ip) vector.

Read more…
workflow_name_to_indexproblem_19Function

get the index of this workflow in the array

workflow_name_to_indexproblem_19bFunction

get the index of this workflow in the array

xchecklsqr_moduleSubroutine

Tests if x solves a certain least-squares problem.

Read more…
call~~graph~~CallGraph interface~expand_vector numdiff_utilities_module::expand_vector proc~expand_vector_int numdiff_utilities_module::expand_vector_int interface~expand_vector->proc~expand_vector_int proc~expand_vector_real numdiff_utilities_module::expand_vector_real interface~expand_vector->proc~expand_vector_real interface~finite_diff_method numerical_differentiation_module::finite_diff_method proc~initialize_finite_difference_method numerical_differentiation_module::initialize_finite_difference_method interface~finite_diff_method->proc~initialize_finite_difference_method interface~int aoc_utilities::int proc~char_array_to_int aoc_utilities::char_array_to_int interface~int->proc~char_array_to_int proc~char_to_int aoc_utilities::char_to_int interface~int->proc~char_to_int proc~char_to_int64 aoc_utilities::char_to_int64 interface~int->proc~char_to_int64 proc~string_to_int aoc_utilities::string%string_to_int interface~int->proc~string_to_int interface~manhatten_distance aoc_utilities::manhatten_distance proc~manhatten_distance_64 aoc_utilities::manhatten_distance_64 interface~manhatten_distance->proc~manhatten_distance_64 interface~parse aoc_utilities::parse proc~parse_nums64 aoc_utilities::parse_nums64 interface~parse->proc~parse_nums64 interface~sort aoc_utilities::sort proc~sort_ascending aoc_utilities::sort_ascending interface~sort->proc~sort_ascending proc~sort_ascending_64 aoc_utilities::sort_ascending_64 interface~sort->proc~sort_ascending_64 interface~sort_ascending numdiff_utilities_module::sort_ascending proc~sort_ascending_int numdiff_utilities_module::sort_ascending_int interface~sort_ascending->proc~sort_ascending_int proc~sort_ascending_real numdiff_utilities_module::sort_ascending_real interface~sort_ascending->proc~sort_ascending_real interface~split aoc_utilities::split proc~split1 aoc_utilities::split1 interface~split->proc~split1 proc~split2 aoc_utilities::split2 interface~split->proc~split2 interface~startswith aoc_utilities::startswith proc~startswith_cc aoc_utilities::startswith_cc interface~startswith->proc~startswith_cc proc~startswith_cs aoc_utilities::startswith_cs interface~startswith->proc~startswith_cs proc~startswith_sc aoc_utilities::startswith_sc interface~startswith->proc~startswith_sc proc~startswith_ss aoc_utilities::startswith_ss interface~startswith->proc~startswith_ss interface~swap numdiff_utilities_module::swap proc~swap_int numdiff_utilities_module::swap_int interface~swap->proc~swap_int proc~swap_real numdiff_utilities_module::swap_real interface~swap->proc~swap_real interface~swap~2 aoc_utilities::swap proc~swap32 aoc_utilities::swap32 interface~swap~2->proc~swap32 proc~swap64 aoc_utilities::swap64 interface~swap~2->proc~swap64 proc~swap_str aoc_utilities::swap_str interface~swap~2->proc~swap_str interface~unique numdiff_utilities_module::unique proc~unique_int numdiff_utilities_module::unique_int interface~unique->proc~unique_int proc~unique_real numdiff_utilities_module::unique_real interface~unique->proc~unique_real interface~unique~2 aoc_utilities::unique proc~unique32 aoc_utilities::unique32 interface~unique~2->proc~unique32 proc~unique64 aoc_utilities::unique64 interface~unique~2->proc~unique64 none~set_edges dag_module::vertex%set_edges proc~add_edge dag_module::vertex%add_edge none~set_edges->proc~add_edge proc~set_edge_vector dag_module::vertex%set_edge_vector none~set_edges->proc~set_edge_vector proc~acheck lsqr_module::lsqr_solver%acheck proc~dcopy lsqpblas_module::dcopy proc~acheck->proc~dcopy proc~ddot lsqpblas_module::ddot proc~acheck->proc~ddot proc~dnrm2 lsqpblas_module::dnrm2 proc~acheck->proc~dnrm2 proc~dscal lsqpblas_module::dscal proc~acheck->proc~dscal aprod aprod proc~acheck->aprod proc~add_edge~2 problem_23::add_edge proc~add_lens problem_15_module::box%add_lens proc~add_to_queue problem_17::add_to_queue proc~add_to_queue~2 problem_17::add_to_queue proc~expand_queue problem_17::expand_queue proc~add_to_queue~2->proc~expand_queue proc~all_in_set problem_8::all_in_set proc~aprod1 lsqrtest_module::test_solver%aprod1 proc~hprod lsqrtest_module::hprod proc~aprod1->proc~hprod proc~aprod2 lsqrtest_module::test_solver%aprod2 proc~aprod2->proc~hprod proc~aprod_ez lsqr_module::lsqr_solver_ez%aprod_ez proc~aprod_test_solver lsqrtest_module::test_solver%aprod_test_solver proc~aprod_test_solver->proc~aprod1 proc~aprod_test_solver->proc~aprod2 proc~backtracking_linesearch nlesolver_module::backtracking_linesearch proc~beats problem_7::beats proc~hand_type problem_7::hand_type proc~beats->proc~hand_type proc~index_in_cards problem_7::index_in_cards proc~beats->proc~index_in_cards proc~build_graph problem_23::build_graph proc~build_graph->proc~add_edge~2 proc~build_graph->proc~build_graph proc~get_cell problem_23::get_cell proc~build_graph->proc~get_cell proc~node_number problem_23::node_number proc~build_graph->proc~node_number proc~char_array_to_int->proc~char_to_int proc~check problem_17::check proc~check->proc~add_to_queue proc~index_in_queue problem_17::index_in_queue proc~check->proc~index_in_queue proc~check~2 problem_17::check proc~check~2->proc~add_to_queue~2 proc~index_in_queue~2 problem_17::index_in_queue proc~check~2->proc~index_in_queue~2 proc~check~3 problem_3::check proc~get_number problem_3::get_number proc~check~3->proc~get_number proc~is_number aoc_utilities::is_number proc~check~3->proc~is_number proc~clear_exceptions numerical_differentiation_module::numdiff_type%clear_exceptions proc~clock_end aoc_utilities::clock%clock_end proc~clock_start aoc_utilities::clock%clock_start proc~columns_in_partition_group numerical_differentiation_module::sparsity_pattern%columns_in_partition_group proc~compute_function_with_cache numerical_differentiation_module::compute_function_with_cache proc~get_from_cache numdiff_cache_module::function_cache%get_from_cache proc~compute_function_with_cache->proc~get_from_cache proc~put_in_cache numdiff_cache_module::function_cache%put_in_cache proc~compute_function_with_cache->proc~put_in_cache proc~compute_indices numerical_differentiation_module::sparsity_pattern%compute_indices proc~compute_jacobian numerical_differentiation_module::numdiff_type%compute_jacobian proc~compute_perturbation_vector numerical_differentiation_module::numdiff_type%compute_perturbation_vector proc~compute_jacobian->proc~compute_perturbation_vector proc~raise_exception numerical_differentiation_module::numdiff_type%raise_exception proc~compute_jacobian->proc~raise_exception proc~compute_jacobian_dense numerical_differentiation_module::numdiff_type%compute_jacobian_dense proc~compute_jacobian_dense->proc~compute_jacobian proc~compute_jacobian_for_sparsity numerical_differentiation_module::numdiff_type%compute_jacobian_for_sparsity proc~compute_sparsity_perturbation_vector numerical_differentiation_module::numdiff_type%compute_sparsity_perturbation_vector proc~compute_jacobian_for_sparsity->proc~compute_sparsity_perturbation_vector proc~perturb_x_and_compute_f numerical_differentiation_module::numdiff_type%perturb_x_and_compute_f proc~compute_jacobian_for_sparsity->proc~perturb_x_and_compute_f proc~select_finite_diff_method numerical_differentiation_module::numdiff_type%select_finite_diff_method proc~compute_jacobian_for_sparsity->proc~select_finite_diff_method proc~compute_jacobian_partitioned numerical_differentiation_module::compute_jacobian_partitioned proc~compute_jacobian_partitioned->proc~columns_in_partition_group proc~perturb_x_and_compute_f_partitioned numerical_differentiation_module::numdiff_type%perturb_x_and_compute_f_partitioned proc~compute_jacobian_partitioned->proc~perturb_x_and_compute_f_partitioned proc~compute_jacobian_partitioned->proc~raise_exception proc~select_finite_diff_method_for_partition_group numerical_differentiation_module::numdiff_type%select_finite_diff_method_for_partition_group proc~compute_jacobian_partitioned->proc~select_finite_diff_method_for_partition_group proc~compute_jacobian_standard numerical_differentiation_module::compute_jacobian_standard proc~compute_jacobian_standard->proc~perturb_x_and_compute_f proc~compute_jacobian_standard->proc~raise_exception proc~compute_jacobian_standard->proc~select_finite_diff_method proc~compute_jacobian_times_vector numerical_differentiation_module::numdiff_type%compute_jacobian_times_vector proc~compute_jacobian_times_vector->proc~compute_jacobian proc~compute_jacobian_with_diff numerical_differentiation_module::compute_jacobian_with_diff proc~diff diff_module::diff_func%diff proc~compute_jacobian_with_diff->proc~diff proc~compute_jacobian_with_diff->proc~raise_exception proc~set_function diff_module::diff_func%set_function proc~compute_jacobian_with_diff->proc~set_function proc~compute_perturb_vector numerical_differentiation_module::numdiff_type%compute_perturb_vector proc~compute_perturb_vector->proc~raise_exception proc~compute_perturbation_vector->proc~compute_perturb_vector proc~compute_sparsity_dense numerical_differentiation_module::compute_sparsity_dense proc~compute_sparsity_dense->proc~compute_indices proc~destroy_sparsity_pattern numerical_differentiation_module::numdiff_type%destroy_sparsity_pattern proc~compute_sparsity_dense->proc~destroy_sparsity_pattern proc~generate_dense_sparsity_partition numerical_differentiation_module::numdiff_type%generate_dense_sparsity_partition proc~compute_sparsity_dense->proc~generate_dense_sparsity_partition proc~compute_sparsity_pattern numerical_differentiation_module::numdiff_type%compute_sparsity_pattern proc~get_sparsity_pattern numerical_differentiation_module::numdiff_type%get_sparsity_pattern proc~compute_sparsity_pattern->proc~get_sparsity_pattern proc~compute_sparsity_perturbation_vector->proc~compute_perturb_vector proc~compute_sparsity_random numerical_differentiation_module::compute_sparsity_random proc~compute_sparsity_random->interface~expand_vector proc~compute_sparsity_random->proc~compute_indices proc~compute_sparsity_random->proc~destroy_sparsity_pattern proc~dsm_wrapper numerical_differentiation_module::sparsity_pattern%dsm_wrapper proc~compute_sparsity_random->proc~dsm_wrapper proc~equal_within_tol numdiff_utilities_module::equal_within_tol proc~compute_sparsity_random->proc~equal_within_tol proc~compute_sparsity_random->proc~raise_exception proc~resize_sparsity_vectors numerical_differentiation_module::numdiff_type%resize_sparsity_vectors proc~compute_sparsity_random->proc~resize_sparsity_vectors proc~compute_sparsity_random_2 numerical_differentiation_module::compute_sparsity_random_2 proc~compute_sparsity_random_2->interface~expand_vector proc~compute_sparsity_random_2->proc~compute_indices proc~compute_sparsity_random_2->proc~compute_jacobian_for_sparsity proc~compute_sparsity_random_2->proc~destroy_sparsity_pattern proc~divide_interval numdiff_utilities_module::divide_interval proc~compute_sparsity_random_2->proc~divide_interval proc~compute_sparsity_random_2->proc~dsm_wrapper proc~compute_sparsity_random_2->proc~equal_within_tol proc~compute_sparsity_random_2->proc~generate_dense_sparsity_partition proc~get_all_methods_in_class numerical_differentiation_module::get_all_methods_in_class proc~compute_sparsity_random_2->proc~get_all_methods_in_class proc~compute_sparsity_random_2->proc~raise_exception proc~compute_sparsity_random_2->proc~resize_sparsity_vectors proc~count_adjacent problem_23::count_adjacent proc~not_tree problem_23::not_tree proc~count_adjacent->proc~not_tree proc~cross aoc_utilities::cross proc~d2norm lsqr_module::d2norm proc~dag_destroy dag_module::dag%dag_destroy proc~dag_generate_dependency_matrix dag_module::dag%dag_generate_dependency_matrix proc~dag_generate_digraph dag_module::dag%dag_generate_digraph proc~integer_to_string~2 dag_module::integer_to_string proc~dag_generate_digraph->proc~integer_to_string~2 proc~dag_get_dependencies dag_module::dag%dag_get_dependencies proc~dag_get_edges dag_module::dag%dag_get_edges proc~dag_save_digraph dag_module::dag%dag_save_digraph proc~dag_save_digraph->proc~dag_generate_digraph proc~dag_set_edges dag_module::dag%dag_set_edges proc~dag_set_edges->none~set_edges proc~dag_set_vertex_info dag_module::dag%dag_set_vertex_info proc~dag_set_vertex_info->proc~integer_to_string~2 proc~dag_set_vertices dag_module::dag%dag_set_vertices proc~dag_toposort dag_module::dag%dag_toposort proc~degr dsm_module::degr proc~deriv test2::deriv proc~destination problem_18::destination proc~destroy_cache numdiff_cache_module::function_cache%destroy_cache proc~destroy_cache~2 aoc_cache_module::function_cache%destroy_cache proc~destroy_nlesolver_variables nlesolver_module::nlesolver_type%destroy_nlesolver_variables proc~destroy_numdiff_type numerical_differentiation_module::numdiff_type%destroy_numdiff_type proc~destroy_sparsity numerical_differentiation_module::sparsity_pattern%destroy_sparsity proc~destroy_sparsity_pattern->proc~destroy_sparsity proc~faccur diff_module::diff_func%faccur proc~diff->proc~faccur proc~diff~2 aoc_utilities::diff proc~dijkstra problem_23::dijkstra proc~divide_interval->interface~unique proc~drop problem_22::drop proc~move_piece_down problem_22::move_piece_down proc~drop->proc~move_piece_down proc~dsm dsm_module::dsm proc~dsm->proc~degr proc~ido dsm_module::ido proc~dsm->proc~ido proc~numsrt dsm_module::numsrt proc~dsm->proc~numsrt proc~seq dsm_module::seq proc~dsm->proc~seq proc~setr dsm_module::setr proc~dsm->proc~setr proc~slo dsm_module::slo proc~dsm->proc~slo proc~srtdat dsm_module::srtdat proc~dsm->proc~srtdat proc~dsm_wrapper->proc~dsm proc~exact_linesearch nlesolver_module::exact_linesearch proc~fmin fmin_module::fmin proc~exact_linesearch->proc~fmin proc~expand_vector aoc_utilities::expand_vector proc~export sparse_test::export proc~export~2 nlesolver_test_1::export proc~extrapolate problem_9::extrapolate proc~extrapolate->proc~diff~2 proc~failed numerical_differentiation_module::numdiff_type%failed proc~fcn dsm_test::fcn proc~fdjs dsm_module::fdjs proc~find_node problem_8::find_node proc~fixed_point_linesearch nlesolver_module::fixed_point_linesearch proc~func test2::func proc~func~2 test::func proc~func~3 sparse_test::func proc~func~4 nlesolver_test_1::func proc~get_accepted problem_19b::get_accepted proc~get_finite_difference_method numerical_differentiation_module::get_finite_difference_method proc~get_all_methods_in_class->proc~get_finite_difference_method proc~get_all_pieces_above problem_22::get_all_pieces_above proc~get_all_pieces_above->interface~unique~2 proc~get_all_pieces_above->proc~get_all_pieces_above proc~get_from_cache~2 aoc_cache_module::function_cache%get_from_cache proc~get_all_pieces_above->proc~get_from_cache~2 proc~get_pieces_above problem_22::get_pieces_above proc~get_all_pieces_above->proc~get_pieces_above proc~put_in_cache~2 aoc_cache_module::function_cache%put_in_cache proc~get_all_pieces_above->proc~put_in_cache~2 proc~get_all_pieces_below problem_22::get_all_pieces_below proc~get_all_pieces_below->interface~unique~2 proc~get_all_pieces_below->proc~get_all_pieces_below proc~get_all_pieces_below->proc~get_from_cache~2 proc~get_pieces_below problem_22::get_pieces_below proc~get_all_pieces_below->proc~get_pieces_below proc~get_all_pieces_below->proc~put_in_cache~2 proc~get_error_status numerical_differentiation_module::numdiff_type%get_error_status proc~get_finite_diff_formula numerical_differentiation_module::get_finite_diff_formula proc~get_finite_diff_formula->proc~get_finite_difference_method proc~get_formula numerical_differentiation_module::finite_diff_method%get_formula proc~get_finite_diff_formula->proc~get_formula proc~integer_to_string numerical_differentiation_module::integer_to_string proc~get_formula->proc~integer_to_string proc~vector_djb_hash numdiff_cache_module::vector_djb_hash proc~get_from_cache->proc~vector_djb_hash proc~vector_djb_hash~2 aoc_cache_module::vector_djb_hash proc~get_from_cache~2->proc~vector_djb_hash~2 proc~is_symbol problem_3::is_symbol proc~get_number->proc~is_symbol proc~get_pieces_above->interface~unique~2 proc~get_pieces_below->interface~unique~2 proc~get_status nlesolver_module::nlesolver_type%get_status proc~go problem_16::go proc~go->proc~go proc~go~2 problem_18::go proc~go~2->interface~split proc~go~2->proc~destination proc~hex2int aoc_utilities::hex2int proc~go~2->proc~hex2int proc~number_of_lines_in_file aoc_utilities::number_of_lines_in_file proc~go~2->proc~number_of_lines_in_file proc~parea aoc_utilities::parea proc~go~2->proc~parea proc~read_line aoc_utilities::read_line proc~go~2->proc~read_line proc~go~3 problem_13::go proc~go~4 problem_12b::go proc~go~4->proc~get_from_cache~2 proc~ipoint problem_12b::ipoint proc~go~4->proc~ipoint proc~ipound problem_12b::ipound proc~go~4->proc~ipound proc~go~4->proc~put_in_cache~2 proc~go~5 problem_23::go proc~go~5->proc~build_graph proc~go~5->proc~count_adjacent proc~go~5->proc~dijkstra proc~read_file_to_char_array aoc_utilities::read_file_to_char_array proc~go~5->proc~read_file_to_char_array proc~traverse~2 problem_23::traverse proc~go~5->proc~traverse~2 proc~go~6 problem_11::go proc~go~6->interface~manhatten_distance proc~go~6->proc~read_file_to_char_array proc~go~7 problem_6::go proc~go~8 problem_12::go proc~go~8->interface~split proc~go~8->proc~number_of_lines_in_file proc~parse_ints aoc_utilities::parse_ints proc~go~8->proc~parse_ints proc~go~8->proc~read_line proc~str_to_int_array_with_mapping aoc_utilities::str_to_int_array_with_mapping proc~go~8->proc~str_to_int_array_with_mapping proc~test~2 problem_12::test proc~go~8->proc~test~2 proc~grad sparse_test::grad proc~grad_sparse sparse_test::grad_sparse proc~grad_sparse->proc~grad proc~grad~2 nlesolver_test_1::grad proc~hand_type->interface~unique~2 proc~hash problem_15::hash proc~hbuild lusol::Hbuild proc~hinsert lusol::Hinsert proc~hbuild->proc~hinsert proc~hchange lusol::Hchange proc~hdown lusol::Hdown proc~hchange->proc~hdown proc~hup lusol::Hup proc~hchange->proc~hup proc~hdelete lusol::Hdelete proc~hdelete->proc~hchange proc~hinsert->proc~hup proc~ido->proc~numsrt proc~in_seed_list problem_5::in_seed_list proc~index_in_queue~2->proc~get_from_cache~2 proc~index_in_queue~2->proc~put_in_cache~2 proc~initialize problem_22::initialize proc~initialize->interface~split proc~initialize->proc~drop proc~initialize->proc~number_of_lines_in_file proc~initialize->proc~read_line proc~update_array problem_22::update_array proc~initialize->proc~update_array proc~initialize_cache numdiff_cache_module::function_cache%initialize_cache proc~initialize_cache->proc~destroy_cache proc~initialize_cache~2 aoc_cache_module::function_cache%initialize_cache proc~initialize_cache~2->proc~destroy_cache~2 proc~initialize_ez lsqr_module::lsqr_solver_ez%initialize_ez proc~initialize_nlesolver_variables nlesolver_module::nlesolver_type%initialize_nlesolver_variables proc~set_status nlesolver_module::nlesolver_type%set_status proc~initialize_nlesolver_variables->proc~set_status proc~initialize_numdiff numerical_differentiation_module::numdiff_type%initialize_numdiff proc~initialize_numdiff->proc~destroy_cache proc~initialize_numdiff->proc~get_all_methods_in_class proc~initialize_numdiff->proc~get_finite_difference_method proc~initialize_numdiff->proc~initialize_cache proc~initialize_numdiff->proc~raise_exception proc~set_numdiff_bounds numerical_differentiation_module::numdiff_type%set_numdiff_bounds proc~initialize_numdiff->proc~set_numdiff_bounds proc~set_sparsity_mode numerical_differentiation_module::numdiff_type%set_sparsity_mode proc~initialize_numdiff->proc~set_sparsity_mode proc~initialize_numdiff_for_diff numerical_differentiation_module::numdiff_type%initialize_numdiff_for_diff proc~initialize_numdiff_for_diff->proc~destroy_cache proc~initialize_numdiff_for_diff->proc~initialize_cache proc~initialize_numdiff_for_diff->proc~raise_exception proc~initialize_numdiff_for_diff->proc~set_numdiff_bounds proc~initialize_numdiff_for_diff->proc~set_sparsity_mode proc~int_array_to_char_array aoc_utilities::int_array_to_char_array proc~inverse aoc_utilities::inverse proc~ipoint->proc~go~4 proc~ipound->proc~go~4 ints_tmp ints_tmp proc~ipound->ints_tmp ipattern_tmp ipattern_tmp proc~ipound->ipattern_tmp proc~is_node problem_23::is_node proc~is_not_number aoc_utilities::is_not_number proc~is_not_number->proc~is_number proc~is_symbol->proc~is_not_number proc~jdamax lusol::jdamax proc~lcm aoc_utilities::lcm proc~linear_solver nlesolver_module::linear_solver proc~locpt aoc_utilities::locpt proc~lsqr lsqr_module::lsqr_solver%LSQR proc~lsqr->proc~d2norm proc~lsqr->proc~dcopy proc~lsqr->proc~dnrm2 proc~lsqr->proc~dscal proc~lsqr->aprod proc~lsqr_test lsqrtest_module::lsqr_test proc~test lsqrtest_module::test_solver%test proc~lsqr_test->proc~test proc~lstp lsqrtest_module::test_solver%lstp proc~lstp->proc~aprod1 proc~lstp->proc~dcopy proc~lstp->proc~dnrm2 proc~lstp->proc~dscal proc~lstp->proc~hprod proc~lu1dcp lusol::lu1DCP proc~lu1dcp->proc~jdamax proc~lu1dpp lusol::lu1DPP proc~lu1dpp->proc~jdamax proc~lu1fac lusol::lu1fac proc~lu1fad lusol::lu1fad proc~lu1fac->proc~lu1fad proc~lu1or1 lusol::lu1or1 proc~lu1fac->proc~lu1or1 proc~lu1or2 lusol::lu1or2 proc~lu1fac->proc~lu1or2 proc~lu1or3 lusol::lu1or3 proc~lu1fac->proc~lu1or3 proc~lu1or4 lusol::lu1or4 proc~lu1fac->proc~lu1or4 proc~lu1pq1 lusol::lu1pq1 proc~lu1fac->proc~lu1pq1 proc~lu1slk lusol::lu1slk proc~lu1fac->proc~lu1slk proc~lu6chk lusol::lu6chk proc~lu1fac->proc~lu6chk proc~lu1fad->proc~hbuild proc~lu1fad->proc~hchange proc~lu1fad->proc~hdelete proc~lu1ful lusol::lu1ful proc~lu1fad->proc~lu1ful proc~lu1gau lusol::lu1gau proc~lu1fad->proc~lu1gau proc~lu1mar lusol::lu1mar proc~lu1fad->proc~lu1mar proc~lu1mrp lusol::lu1mRP proc~lu1fad->proc~lu1mrp proc~lu1msp lusol::lu1mSP proc~lu1fad->proc~lu1msp proc~lu1mxc lusol::lu1mxc proc~lu1fad->proc~lu1mxc proc~lu1mxr lusol::lu1mxr proc~lu1fad->proc~lu1mxr proc~lu1pen lusol::lu1pen proc~lu1fad->proc~lu1pen proc~lu1pq2 lusol::lu1pq2 proc~lu1fad->proc~lu1pq2 proc~lu1pq3 lusol::lu1pq3 proc~lu1fad->proc~lu1pq3 proc~lu1rec lusol::lu1rec proc~lu1fad->proc~lu1rec proc~lu1ful->proc~lu1dcp proc~lu1ful->proc~lu1dpp proc~lu1mcp lusol::lu1mCP proc~lu6l lusol::lu6L proc~lu6ld lusol::lu6LD proc~lu6lt lusol::lu6Lt proc~lu6sol lusol::lu6sol proc~lu6sol->proc~lu6l proc~lu6sol->proc~lu6ld proc~lu6sol->proc~lu6lt proc~lu6u lusol::lu6U proc~lu6sol->proc~lu6u proc~lu6ut lusol::lu6Ut proc~lu6sol->proc~lu6ut proc~lu7add lusol::lu7add proc~lu7add->proc~lu1rec proc~lu7cyc lusol::lu7cyc proc~lu7elm lusol::lu7elm proc~lu7elm->proc~lu1rec proc~lu7for lusol::lu7for proc~lu7for->proc~lu1rec proc~lu7rnk lusol::lu7rnk proc~lu7zap lusol::lu7zap proc~lu8rpc lusol::lu8rpc proc~lu8rpc->proc~lu6sol proc~lu8rpc->proc~lu7add proc~lu8rpc->proc~lu7cyc proc~lu8rpc->proc~lu7elm proc~lu8rpc->proc~lu7for proc~lu8rpc->proc~lu7rnk proc~lu8rpc->proc~lu7zap proc~map problem_5::map proc~match problem_12::match proc~move problem_10::move proc~move->proc~move proc~pipe_info problem_10::pipe_info proc~move->proc~pipe_info proc~move_piece_down->proc~get_pieces_below proc~move_piece_down->proc~update_array proc~moves problem_8::moves proc~moves_any_z problem_8::moves_any_z proc~my_func test1::my_func proc~my_func~2 test2::my_func proc~my_func~2->proc~func proc~nlesolver_solver nlesolver_module::nlesolver_type%nlesolver_solver proc~nlesolver_solver->proc~initialize_ez proc~nlesolver_solver->proc~linear_solver proc~nlesolver_solver->proc~set_status proc~solve_ez lsqr_module::lsqr_solver_ez%solve_ez proc~nlesolver_solver->proc~solve_ez proc~node_index problem_25::node_index proc~parse_ints64 aoc_utilities::parse_ints64 proc~parse_nums64->interface~split proc~parse_rule problem_19::parse_rule proc~parse_rule->interface~split proc~parse_rule~2 problem_19b::parse_rule proc~parse_rule~2->interface~split proc~populate problem_5::populate proc~print_cache numdiff_cache_module::function_cache%print_cache proc~print_finite_difference_method numerical_differentiation_module::finite_diff_method%print_finite_difference_method proc~print_sparsity numerical_differentiation_module::sparsity_pattern%print_sparsity proc~print_sparsity_matrix numerical_differentiation_module::numdiff_type%print_sparsity_matrix proc~print_sparsity_pattern numerical_differentiation_module::numdiff_type%print_sparsity_pattern proc~process problem_19::process proc~workflow_name_to_index problem_19::workflow_name_to_index proc~process->proc~workflow_name_to_index proc~process~2 problem_19b::process proc~process~2->proc~get_accepted proc~process~2->proc~process~2 proc~workflow_name_to_index~2 problem_19b::workflow_name_to_index proc~process~2->proc~workflow_name_to_index~2 proc~put_in_cache->interface~unique proc~rating problem_19::rating proc~read_file_to_char_array->proc~number_of_lines_in_file proc~read_file_to_char_array->proc~read_line proc~read_file_to_int_array aoc_utilities::read_file_to_int_array proc~read_file_to_int_array->proc~number_of_lines_in_file proc~read_file_to_int_array->proc~read_line proc~read_file_to_integer64_array aoc_utilities::read_file_to_integer64_array proc~read_file_to_integer64_array->proc~number_of_lines_in_file proc~read_file_to_integer_array aoc_utilities::read_file_to_integer_array proc~read_file_to_integer_array->proc~number_of_lines_in_file proc~remove_lens problem_15_module::box%remove_lens proc~resize_sparsity_vectors->interface~expand_vector proc~reverse aoc_utilities::reverse proc~set_edge_vector->proc~add_edge proc~set_numdiff_bounds->proc~integer_to_string proc~set_numdiff_bounds->proc~raise_exception proc~set_numdiff_sparsity_bounds numerical_differentiation_module::numdiff_type%set_numdiff_sparsity_bounds proc~set_numdiff_sparsity_bounds->proc~raise_exception proc~set_sparsity_mode->proc~raise_exception proc~set_sparsity_mode->proc~set_numdiff_sparsity_bounds proc~set_sparsity_pattern numerical_differentiation_module::numdiff_type%set_sparsity_pattern proc~set_sparsity_pattern->proc~compute_indices proc~set_sparsity_pattern->proc~destroy_sparsity_pattern proc~set_sparsity_pattern->proc~dsm_wrapper proc~set_sparsity_pattern->proc~raise_exception proc~simple_step nlesolver_module::simple_step proc~solve lusol_ez_module::solve proc~solve->proc~lu1fac proc~solve->proc~lu6sol proc~solve_ez->proc~lsqr proc~sort_ascending->interface~swap~2 proc~sort_ascending_64->proc~swap64 proc~sort_ascending_int->interface~swap proc~sort_ascending_real->interface~swap proc~split1->proc~expand_vector proc~split2->proc~split1 proc~startswith_cs->interface~startswith proc~startswith_sc->interface~startswith proc~startswith_ss->interface~startswith proc~step problem_21::step proc~str_to_array aoc_utilities::str_to_array proc~str_to_int64_array_with_mapping aoc_utilities::str_to_int64_array_with_mapping proc~string_to_int_64 aoc_utilities::string%string_to_int_64 proc~swap_hands problem_7::swap_hands proc~terminate numerical_differentiation_module::numdiff_type%terminate proc~terminate~2 diff_module::diff_func%terminate proc~test->proc~acheck proc~test->proc~dcopy proc~test->proc~dnrm2 proc~test->proc~lsqr proc~test->proc~lstp proc~xcheck lsqr_module::lsqr_solver%xcheck proc~test->proc~xcheck 4 4 proc~test->4 proc~test_1 main::test_1 proc~test_1->proc~solve proc~test_2 main::test_2 proc~test_2->proc~solve proc~test~2->proc~match proc~test~2->proc~test~2 proc~traverse problem_5::traverse proc~traverse->proc~map proc~traverse~2->proc~traverse~2 proc~traverse~3 problem_25::traverse proc~traverse~3->proc~traverse~3 proc~unique32->interface~sort proc~unique64->interface~sort proc~unique_int->interface~expand_vector proc~unique_int->interface~sort_ascending proc~unique_real->interface~expand_vector proc~unique_real->interface~sort_ascending proc~xcheck->proc~dcopy proc~xcheck->proc~dnrm2 proc~xcheck->proc~dscal proc~xcheck->aprod program~dag_example dag_example program~dag_example->proc~dag_destroy program~dag_example->proc~dag_generate_dependency_matrix program~dag_example->proc~dag_save_digraph program~dag_example->proc~dag_set_edges program~dag_example->proc~dag_set_vertex_info program~dag_example->proc~dag_set_vertices program~dag_example->proc~dag_toposort program~dsm_test dsm_test program~dsm_test->proc~dsm program~dsm_test->proc~fcn program~dsm_test->proc~fdjs program~main main program~main->proc~lsqr_test program~main~2 main program~main~2->proc~test_1 program~main~2->proc~test_2 program~main~3 main program~main~3->proc~initialize_ez program~main~3->proc~solve_ez program~nlesolver_test_1 nlesolver_test_1 program~nlesolver_test_1->proc~get_status program~nlesolver_test_1->proc~initialize_nlesolver_variables program~nlesolver_test_1->proc~nlesolver_solver program~problem_1 problem_1 program~problem_1->proc~clock_end program~problem_1->proc~clock_start program~problem_1->proc~number_of_lines_in_file program~problem_1->proc~read_line program~problem_10 problem_10 program~problem_10->proc~clock_end program~problem_10->proc~clock_start program~problem_10->proc~locpt program~problem_10->proc~move program~problem_10->proc~read_file_to_char_array program~problem_11 problem_11 program~problem_11->proc~clock_end program~problem_11->proc~clock_start program~problem_11->proc~go~6 program~problem_12 problem_12 program~problem_12->proc~clock_end program~problem_12->proc~clock_start program~problem_12->proc~go~8 program~problem_12b problem_12b program~problem_12b->interface~split program~problem_12b->proc~clock_end program~problem_12b->proc~clock_start program~problem_12b->proc~go~4 program~problem_12b->proc~initialize_cache~2 program~problem_12b->proc~number_of_lines_in_file program~problem_12b->proc~parse_ints program~problem_12b->proc~read_line program~problem_12b->proc~str_to_int64_array_with_mapping program~problem_13 problem_13 program~problem_13->proc~clock_end program~problem_13->proc~clock_start program~problem_13->proc~go~3 program~problem_13->proc~number_of_lines_in_file program~problem_13->proc~read_line program~problem_13->proc~str_to_int_array_with_mapping program~problem_15 problem_15 program~problem_15->interface~split program~problem_15->proc~add_lens program~problem_15->proc~clock_end program~problem_15->proc~clock_start program~problem_15->proc~hash program~problem_15->proc~read_line program~problem_15->proc~remove_lens program~problem_16 problem_16 program~problem_16->proc~clock_end program~problem_16->proc~clock_start program~problem_16->proc~go program~problem_16->proc~read_file_to_char_array program~problem_17 problem_17 program~problem_17->proc~add_to_queue program~problem_17->proc~check program~problem_17->proc~clock_end program~problem_17->proc~clock_start program~problem_17->proc~read_file_to_int_array program~problem_17~2 problem_17 program~problem_17~2->proc~add_to_queue~2 program~problem_17~2->proc~check~2 program~problem_17~2->proc~clock_end program~problem_17~2->proc~clock_start program~problem_17~2->proc~initialize_cache~2 program~problem_17~2->proc~read_file_to_int_array program~problem_18 problem_18 program~problem_18->proc~clock_end program~problem_18->proc~clock_start program~problem_18->proc~go~2 program~problem_19 problem_19 program~problem_19->interface~split program~problem_19->proc~clock_end program~problem_19->proc~clock_start program~problem_19->proc~number_of_lines_in_file program~problem_19->proc~parse_rule program~problem_19->proc~process program~problem_19->proc~rating program~problem_19->proc~read_line program~problem_19b problem_19b program~problem_19b->interface~split program~problem_19b->proc~clock_end program~problem_19b->proc~clock_start program~problem_19b->proc~number_of_lines_in_file program~problem_19b->proc~parse_rule~2 program~problem_19b->proc~process~2 program~problem_19b->proc~read_line program~problem_19b->proc~workflow_name_to_index~2 program~problem_2 problem_2 program~problem_2->interface~split program~problem_2->proc~clock_end program~problem_2->proc~clock_start program~problem_2->proc~number_of_lines_in_file program~problem_2->proc~read_line program~problem_21 problem_21 program~problem_21->proc~clock_end program~problem_21->proc~clock_start program~problem_21->proc~read_file_to_char_array program~problem_21->proc~step program~problem_22 problem_22 program~problem_22->proc~clock_end program~problem_22->proc~clock_start program~problem_22->proc~get_all_pieces_above program~problem_22->proc~get_all_pieces_below program~problem_22->proc~get_pieces_above program~problem_22->proc~get_pieces_below program~problem_22->proc~initialize program~problem_23 problem_23 program~problem_23->proc~clock_end program~problem_23->proc~clock_start program~problem_23->proc~go~5 program~problem_25 problem_25 program~problem_25->interface~split program~problem_25->interface~unique~2 program~problem_25->proc~clock_end program~problem_25->proc~clock_start program~problem_25->proc~dag_destroy program~problem_25->proc~dag_save_digraph program~problem_25->proc~dag_set_edges program~problem_25->proc~dag_set_vertex_info program~problem_25->proc~dag_set_vertices program~problem_25->proc~node_index program~problem_25->proc~number_of_lines_in_file program~problem_25->proc~read_line program~problem_25->proc~traverse~3 program~problem_3 problem_3 program~problem_3->proc~check~3 program~problem_3->proc~clock_end program~problem_3->proc~clock_start program~problem_3->proc~get_number program~problem_3->proc~is_not_number program~problem_3->proc~is_symbol program~problem_3->proc~read_file_to_char_array program~problem_4 problem_4 program~problem_4->interface~split program~problem_4->proc~clock_end program~problem_4->proc~clock_start program~problem_4->proc~number_of_lines_in_file program~problem_4->proc~parse_ints program~problem_4->proc~read_line program~problem_5 problem_5 program~problem_5->interface~startswith program~problem_5->proc~clock_end program~problem_5->proc~clock_start program~problem_5->proc~in_seed_list program~problem_5->proc~number_of_lines_in_file program~problem_5->proc~parse_ints64 program~problem_5->proc~populate program~problem_5->proc~read_line program~problem_5->proc~traverse program~problem_6 problem_6 program~problem_6->proc~clock_end program~problem_6->proc~clock_start program~problem_6->proc~go~7 program~problem_7 problem_7 program~problem_7->interface~split program~problem_7->proc~beats program~problem_7->proc~clock_end program~problem_7->proc~clock_start program~problem_7->proc~number_of_lines_in_file program~problem_7->proc~read_line program~problem_7->proc~str_to_array program~problem_7->proc~swap_hands program~problem_8 problem_8 program~problem_8->proc~clock_end program~problem_8->proc~clock_start program~problem_8->proc~find_node program~problem_8->proc~lcm program~problem_8->proc~moves program~problem_8->proc~moves_any_z program~problem_8->proc~number_of_lines_in_file program~problem_8->proc~read_line program~problem_9 problem_9 program~problem_9->interface~parse program~problem_9->proc~clock_end program~problem_9->proc~clock_start program~problem_9->proc~extrapolate program~problem_9->proc~number_of_lines_in_file program~problem_9->proc~read_line program~problem_9->proc~reverse program~sparse_test sparse_test program~sparse_test->proc~get_status program~sparse_test->proc~initialize_nlesolver_variables program~sparse_test->proc~nlesolver_solver program~test test program~test->proc~fmin program~test1 test1 program~test1->proc~compute_jacobian program~test1->proc~destroy_numdiff_type program~test1->proc~failed program~test1->proc~get_all_methods_in_class program~test1->proc~get_error_status program~test1->proc~get_finite_diff_formula program~test1->proc~get_formula program~test1->proc~initialize_numdiff program~test1->proc~initialize_numdiff_for_diff program~test1->proc~print_sparsity_matrix program~test1->proc~print_sparsity_pattern program~test1->proc~select_finite_diff_method program~test2 test2 program~test2->proc~compute_jacobian program~test2->proc~deriv program~test2->proc~destroy_numdiff_type program~test2->proc~failed program~test2->proc~get_error_status program~test2->proc~get_finite_diff_formula add_plot add_plot program~test2->add_plot initialize initialize program~test2->initialize savefig savefig program~test2->savefig
Help