Numerics component C/C++ API documentation¶
Classes, structs and types¶
Global¶
AffineVariationalInequalities : Structure that contains and defines an AVI.
CSparseMatrix_factors : Information used and produced by CSparse for an LU factorization.
Callback : Structure used to store user callbacks inside solvers.
ErrorStats : Error statistics structure for tracking convergence history.
FrictionContactProblem : The structure that defines a (reduced or dual) Friction-Contact (3D or 2D) problem.
GAMS_opt_double_ : Simply linked list of double option for GAMS.
GAMS_opt_int_ : Simply linked list of integer option for GAMS.
GAMS_opt_str_ : Simply linked list of string option for GAMS.
GFC3D_Gams : Structure needed to solve the global friction contact problem.
GlobalFrictionContactProblem : The structure that defines a Friction-Contact (3D or 2D ) problem.
GlobalRollingFrictionContactProblem : GlobalRollingFrictionContactProblem.h The structure that defines a (reduced or dual) Friction-Contact (3D or 2D) problem.
LinearComplementarityProblem : Structure that contains and defines a LCP Problem.
MixedComplementarityProblem : Structure that contains and defines a MixedComplementarityProblem.
MixedComplementarityProblem_old : The structure that defines a Mixed Complementarity problem (MCP) : find two vectors \((z,w \in {{\mathrm{I\!R}}}^{n+m})\) such that:
MixedLinearComplementarityProblem : The Structure that contains and defines MLCProblem.
NMS_data : Data for the Non-Monotone Stabilisation scheme.
NSGSLocalProblem : Generic local problem structure for block-structured matrices.
NSGSLocalProblemOps : Local problem operations vtable.
NSGSLocalToolkit : Generic local problem toolkit structure.
NSGSProblemCallbacks : Structure to hold problem-specific callbacks.
NSGSProblemData : Generic problem data structure.
NSM_linear_solver_params : solver-specific parameters
NonlinearComplementarityProblem : The structure that defines a Nonlinear Complementarity Problem (NCP) : Find two vectors \((z,w \in {{\mathrm{I\!R}}}^{n})\) such that:
NumericsMatrix : Interface to different type of matrices in numerics component.
NumericsMatrixInternalData : Structure for simple workspaces.
NumericsSparseMatrix : Sparse matrix representation in Numerics.
PlasticityProblem : The structure that defines a Plasticity problem.
Plasticity_DruckerPrager_model : Drucker-Prager plasticity model parameters.
Plasticity_VonMises_model : Von Mises plasticity model parameters.
RelayProblem : Struct defining a Relay problem.
RollingFrictionContactProblem : The structure that defines a (reduced or dual) Friction-Contact (3D or 2D) problem.
SN_GAMSparams : Parameters for GAMS.
SN_generic_path_env : structure for use in PATH
SN_generic_pathvi_env : Generic structure for the PATHVI solver.
SN_logh5 : HDF5 logger (for full debug purposes)
SN_lumod_dense_data : Data structure for the LUMOD (successive rank-one update of a matrix)
SecondOrderConeLinearComplementarityProblem : The structure that defines a Second Order Cone Linear Complementarity Problem.
SecondOrderConeLinearComplementarityProblem_as_VI : SecondOrderConeLinearComplementarityProblem_as_VI.h.
SolverOptions : Structure used to send options (name, parameters and so on) to a specific solver (mainly from Kernel to Numerics).
SparseBlockCoordinateMatrix : Structure to store sparse block matrices with square diagonal blocks.
SparseBlockStructuredMatrix : Structure to store sparse block matrices with square diagonal blocks.
ToleranceManager : Tolerance manager structure.
armijo_extra_params : Struct to hold together the extra parameters needed by the Armijo line search.
box_constraints : box constraints
fc3d_nonsmooth_Newton_solvers : The nonsmooth equation structure.
functions_LSA : Struct holding the necessary pointers to functions needed by the newton_LSA() procedure.
generic_set : Mainly used to infer the type of set (box, polytope, …) to properly operate on it.
goldstein_extra_params : Struct to hold together the extra parameters needed by the Goldstein line search.
linalg_data_t : generic data struct for linear algebra operations
nm_ref_struct : Struct used for the non-monotone search.
path_record : Save the path generated by the algorithm.
pathsearch_data : struct ncp_pathsearch_data NCP_PathSearch.h solver specific data
polyhedron : A polytope in terms of (H,K) representation.
polyhedron_unified : a polytope in terms of (H,K) representation
search_data : Struct to hold together the data needed by the search.
Free functions¶
AVI_display(): Affine Variational Inequalities display.AVI_newFromFile(): read from file and create AffineVariationalInequalitiesAVI_newFromFilename(): function to read and create a AffineVariationalInequalities from a fileAVI_printInFile(): write AVI to fileArrow_repr_replace(): Replace the content of an existing Arrow representation matrix from vector.CS_NAME(): Sparse matrix structure.CSparseMatrix_aaxpby(): Matrix vector multiplication : y = alpha*A*x+beta*y.CSparseMatrix_alloc_for_copy(): Allocate a CSparse matrix for future copy (as in NSM_copy)CSparseMatrix_check_csc(): Check if the given triplet matrix is properly constructed (col and row indices are correct)CSparseMatrix_check_triplet(): Check if the given triplet matrix is properly constructed (col and row indices are correct)CSparseMatrix_chol_factorization(): compute a Cholesky factorization of A and store it in a workspaceCSparseMatrix_chol_solve(): reuse a Cholesky factorization (stored in the cs_chol_A) to solve a linear system Ax = bCSparseMatrix_chol_spsolve(): reuse a Cholesky factorization (stored in the cs_chol_A) to solve a linear system Ax = B with a sparse r.h.sCSparseMatrix_copy(): Copy a CSparseMatrix inside another CSparseMatrix.CSparseMatrix_entry(): Add an entry to a triplet matrix.CSparseMatrix_free_lu_factors(): Free a workspace related to a LU factorization.CSparseMatrix_get_value(): Return the element A(i,j)CSparseMatrix_ldlt_factorization(): compute a LDLT factorization of A and store it in a workspaceCSparseMatrix_ldlt_solve(): reuse a LDLT factorization (stored in the cs_ldlt_A) to solve a linear system Ax = bCSparseMatrix_lu_factorization(): compute a LU factorization of A and store it in a workspaceCSparseMatrix_max_abs_by_columns(): Compute the max in absolute value by columns of a sparse matrix.CSparseMatrix_max_by_columns(): Compute the max by columns of a sparse matrix.CSparseMatrix_print(): print a matrix to std outputCSparseMatrix_print_in_file(): print a matrix to a text fileCSparseMatrix_scal(): Multiply a matrix with a double alpha*A (in place)CSparseMatrix_solve(): reuse a LU factorization (stored in the cs_lu_A) to solve a linear system Ax = bCSparseMatrix_spfree_on_stack(): Free space allocated for a SparseMatrix.CSparseMatrix_spsolve(): reuse a LU factorization (stored in the cs_lu_A) to solve a linear system Ax = B with a sparse r.h.sCSparseMatrix_symmetric_entry(): Add an entry to a symmetric triplet matrix.CSparseMatrix_symmetric_zentry(): Add an entry to a symmetric triplet matrix only if the absolute value is greater than threshold.CSparseMatrix_write_in_file_python(): print a matrix to a text file in pyhton formatCSparseMatrix_zentry(): Add an entry to a triplet matrix only if the absolute value is greater than threshold.Compute_NCP_error1(): compute NCP error for Fischer-Burmeister formulationCompute_NCP_error2(): compute NCP error for Fischer-Burmeister formulationFB_compute_F_lcp(): Compute F(z) = Mz + q.FB_compute_F_mcp(): Compute w=F(z)FB_compute_F_ncp(): Compute F(z) = Mz + q.FB_compute_H_lcp(): Compute an element of JacF_FB, see FacchineiPang p.FB_compute_H_mcp(): Compute an element of JacF_FB, see FacchineiPang p.FB_compute_H_ncp(): Compute an element of JacF_FB, see FacchineiPang p.FB_compute_error_lcp(): Compute the error for termination, here lcp_compute_error.FB_compute_error_mcp(): Compute the error for termination, here mcp_compute_error.FB_compute_error_ncp(): Compute the error for termination, here ncp_compute_error.F_min(): Compute $ mathbf{F}_{mathrm{min}}(z) $, possibly in the mixed case.JA_det(): Compute element by element square root.JA_eigenvals(): Returns the eigenvalues of each element in the vector.JA_eigenvecs(): Returns the eigenvectors of each element in the vector.JA_iden(): Create the Arrow representation matrix from vector.JA_inv(): Compute element by element the inverse of the vector.JA_power2(): Compute element by element the square of the vector.JA_prod(): Jordan product of two vectors.JA_sqrt(): Compute element by element square root.JA_sqrt_inv(): Compute element by element inverse of square root.Jac_F_FB(): Computes an element of $ Jac mathbf{F}_{mathrm{FB}} $ (possibly mixed)Jac_F_Qi(): Evaluates the Jacobian of the C function for a box-constrained VI.Jac_F_min(): Compute an element of Jac F_min.NA_diffns(): Input na, a, nb, b Output nc, c a and b: interger vectors in increasing order c : vector of integers of a that are not in b.NCPGlocker_free(): free memory for friction contact to NCP-GlockerNCPGlocker_initialize(): Initialize some parameters required for the formulation as the size of the problem (number of contacts X 3), n the the global matrix M the the global vector q the global vector mu of the friction coefficients (size = n/3)NCPGlocker_post(): Retrieve global reaction values after solving, from computed “reactionGlocker”.NCPGlocker_update(): Pick the required sub-blocks in q, M … according to the considered contact and write the operators required for the Glocker formulation.NMS(): Non-Monotone Stabilisation scheme.NMS_bestpoint(): Get the bestpoint z_b from the workspace data.NMS_checkpoint_0(): Get the z_c(0) from the workspace data.NMS_checkpoint_T(): Get the z_c(T) from the workspace data.NMS_get_F(): Get the F vector from the workspace data.NMS_get_F_merit(): Get the F_merit vector from the workspace data.NMS_get_JacTheta_F_merit(): Get the JacTheta_F_merit vector from the workspace data.NMS_get_dir(): Get the vector for the descent direction from the workspace data.NMS_get_generic_workV(): Get the workV vector from the workspace data.NM_BalancingMatrices_free(): free a Balancing Matrices structureNM_BalancingMatrices_new(): Create a Balancing Matrices structure.NM_Cholesky_factorized(): Check for a previous Cholesky factorization.NM_LDLT_factorized(): Check for a previous LDLT factorization.NM_LU_factorize(): LU factorization of the matrix.NM_LU_factorized(): Check for a previous LU factorization.NM_LU_inv(): Computation of the inverse of a NumericsMatrix A usinf NM_gesv_expert.NM_LU_solve(): Solve linear system with multiple right hand size.NM_add(): Add two matrices with coefficients C = alpha*A + beta*B.NM_add_to_diag3(): Add a constant term to the diagonal elements, when the block of the SBM are 3x3.NM_add_to_diag5(): Add a constant term to the diagonal elements, when the block of the SBM are 5x5.NM_assert(): assert that a NumericsMatrix has the right structure given its typeNM_block_prod(): Submatrix vector product.NM_block_prod_no_diag_one_row(): Submatrix vector product, for diagonal blocks, one row only.NM_check(): Check the matrix (the sparse format for now)NM_clear(): Free memory for a NumericsMatrix.NM_clearCSC(): Clear compressed column storage, if it is existent.NM_clearCSCTranspose(): Clear transposed compressed column storage, if it is existent.NM_clearCSR(): Clear compressed row storage, if it is existent.NM_clearDense(): Clear dense storage, if it is existent.NM_clearHalfTriplet(): Clear half triplet storage, if it is existent.NM_clearSparse(): Clear sparse data, if it is existent.NM_clearSparseBlock(): Clear sparse block storage, if it is existent.NM_clearSparseStorage(): Clear triplet, csc, csc transposed storage, if they are existent.NM_clearTriplet(): Clear triplet storage, if it is existent.NM_clear_other_storages(): Free memory for a NumericsMatrix except for a given storage.NM_clear_zero(): Delete absolute values less than tol.NM_compare(): compare to NumericsMatrix up to a given toleranceNM_compute_balancing_matrices(): Compute the balancing matrices for a given matrix by iteration.NM_copy(): Copy a NumericsMatrix inside another NumericsMatrix (deep).NM_copy_diag_block3(): get a 3x3 diagonal block of a NumericsMatrix.NM_copy_to_sparse(): Copy a NumericsMatrix to s sparse one.NM_create(): create a NumericsMatrix and allocate the memory according to the matrix typeNM_create_from_data(): create a NumericsMatrix and possibly set the dataNM_csc(): Creation, if needed, of compress column storage of a NumericsMatrix.NM_csc_alloc(): Allocate a csc matrix in A.NM_csc_empty_alloc(): Allocate a csc matrix in A and set the vector of column pointers to 0 such that the matrix is empty.NM_csc_to_csr(): Convert from csc to csr.NM_csc_to_half_triplet(): Convert from csc to half triplet for symmetric matrices.NM_csc_to_triplet(): Convert from csc to triplet (aka coo)NM_csc_trans(): Creation, if needed, of the transposed compress column storage from compress column storage.NM_csr(): Creation, if needed, of compress row storage of a NumericsMatrix.NM_csr_to_csc(): Convert from csr to csc.NM_csr_to_triplet(): Convert from csr to triplet (aka coo)NM_dWork(): Double workspace initialization, if needed.NM_dense_display(): Screen display of the matrix content stored as a double * array in Fortran style.NM_dense_display_matlab(): Screen display of the matrix content stored as a double * array in Fortran style.NM_destructible(): Check if a matrix is destructible.NM_display(): Screen display of the matrix content.NM_display_row_by_row(): Screen display raw by raw of the matrix content.NM_display_storageType(): Screen display of the matrix storage.NM_duplicate(): create a NumericsMatrix similar to the another one.NM_entry(): insert an entry into a NumericsMatrix.NM_equal(): compare to NumericsMatrix up to machine accuracy (DBL_EPSILON)NM_extract_diag_block(): get the (square) diagonal block of a NumericsMatrix.NM_extract_diag_block2(): get a 2x2 diagonal block of a NumericsMatrix.NM_extract_diag_block3(): get a 3x3 diagonal block of a NumericsMatrix.NM_extract_diag_block5(): get a 5x5 diagonal block of a NumericsMatrix.NM_fill(): fill an existing NumericsMatrix structNM_free_not_SBM(): Free memory for a NumericsMatrix except the SBM matrix that is assumed not to be owned.NM_free_not_dense(): Free memory for a NumericsMatrix except the dense matrix that is assumed not to be owned.NM_gemm(): Matrix matrix multiplication : C = alpha A B + beta C.NM_gemv(): Matrix vector multiplication : y = alpha A x + beta y.NM_gesv_inv(): Computation of the inverse of a NumericsMatrix A usinf NM_gesv_expert.NM_get_invdiag(): Get the inverse of each diagonal element of a matrix.NM_get_value(): get the value of a NumericsMatrix.NM_half_triplet(): Creation, if needed, of half triplet storage from sparse block storage.NM_iWork(): Integer work vector initialization, if needed.NM_insert(): Set the submatrix B into the matrix A on the position defined in (start_i, start_j) position.NM_internalData(): Get Matrix internal data with initialization if needed.NM_internalData_copy(): Copy the internalData structure.NM_internalData_free(): Free the internalData of a NumericsMatrix.NM_internalData_new(): Allocate the internalData structure (but not its content!)NM_inverse_diagonal_block_matrix(): Computation of the inverse of a NumericsMatrix A composed of diagonal blocks for each block a dense inverse is performed and then inserted into the global inverse.NM_iterated_power_method(): Compute the maximum eigenvalue with the iterated power method.NM_max_abs_by_columns(): Compute the maximum absolute values by columns.NM_max_abs_by_rows(): Compute the maximum absolute values by rows.NM_max_by_columns(): Compute the maximum values by columns.NM_max_by_rows(): Compute the maximum values by rows.NM_multiply(): Matrix matrix multiplication : C = A B.NM_new(): Constructors and destructorsNM_new_SBM(): new NumericsMatrix with sparse storage from minimal set of dataNM_new_from_file(): Create from file a NumericsMatrix with memory allocation.NM_nnz(): return the number of non-zero element.NM_norm_1(): Compute the 1-norm of a sparse matrix = max (sum (abs (A))), largest column sum of a matrix (the sparse format for now)NM_norm_inf(): Compute the inf-norm of a sparse matrix = max (sum (abs (A^T))), largest row sum of a matrix (the sparse format for now)NM_null(): set NumericsMatrix fields to NULLNM_preserve(): Preservation of a matrix before in-place transformations such as factorizations.NM_prod_mv_3x3(): Matrix - vector product y = A*x + y.NM_read_in_file(): Read in file of the matrix content without performing memory allocation.NM_read_in_file_scilab(): Read in file for scilab of the matrix content.NM_read_in_filename(): Read in file of the matrix content.NM_reset_version(): Set to zero the version for type ‘id’ of a given matrix.NM_reset_versions(): Reset versions of all storages.NM_row_prod(): Row of a Matrix - vector product y = rowA*x or y += rowA*x, rowA being a submatrix of A (sizeY rows and sizeX columns)NM_row_prod_graph(): Row of matrix times vector, for lcp_pgs_graph_* solvers.NM_row_prod_no_diag(): Row of a Matrix - vector product y = rowA*x or y += rowA*x, rowA being a submatrix of A (sizeY rows and sizeX columns)NM_row_prod_no_diag2(): Row of a Matrix - vector product y = rowA*x or y += rowA*x, rowA being a submatrix of A (2 rows and sizeX columns)NM_row_prod_no_diag2_parallel(): Same as NM_row_prod_no_diag2 but usable in parallel (does not modify x)NM_row_prod_no_diag3(): Row of a Matrix - vector product y = rowA*x or y += rowA*x, rowA being a submatrix of A (3 rows and sizeX columns)NM_row_prod_no_diag3_parallel(): Same as NM_row_prod_no_diag3 but usable in parallel (does not modify x)NM_scal(): Multiply a matrix with a double alpha*A (in place)NM_setSparseSolver(): Set the linear solver.NM_set_LU_factorized(): Set the factorization flag.NM_tgemv(): Transposed matrix multiplication : y += alpha transpose(A) x + y.NM_to_dense(): Copy a NumericsMatrix into another with dense storage.NM_transpose(): new NumericsMatrix equal to the transpose of a given matrixNM_triplet(): Creation, if needed, of triplet storage from sparse block storage.NM_triplet_alloc(): Allocate a triplet matrix in A.NM_triplet_to_csr(): Convert from triplet (aka coo) to csr.NM_unpreserve(): Set the matrix as destructible, clear the preserved data.NM_update_size(): update the size of the matrix based on the matrix dataNM_vector_display(): Screen display of the vector content stored as a double * array.NM_version_copy(): Copy NumericsMatrix version.NM_write_in_file(): PrintInFile of the matrix content.NM_write_in_file_python(): NM_write_in_file_python of the matrix content.NM_write_in_file_scilab(): NM_write_in_file_scilab of the matrix content.NM_write_in_filename(): matrix I/ONM_zentry(): insert an non zero entry into a NumericsMatrix.NSM_clear(): free allocated space for a NumericsSparseMatrix.NSM_clear_p(): Free a workspace related to a LU factorization.NSM_copy(): Copy a NumericsSparseMatrix.NSM_data(): Get the data part of sparse matrix.NSM_diag_indices(): return the set of indices corresponding to the diagonal elements of the matrixNSM_extract_block(): Extract a block from a sparse matrix.NSM_fix_csc(): Check and fix a matrix, if needed.NSM_free(): Free allocated space for a NumericsSparseMatrix and free the object itself.NSM_get_origin(): return the sparse matrix that has the original labelNSM_inc_version(): Increment the version of a NumericsSparseMatrix.NSM_latest(): Get most recent CSparseMatrix.NSM_latest_id(): Get the NumericsSparseOrigin with the latest version.NSM_linearSolverParams(): Get linear solver parameters with initialization if needed.NSM_linearSolverParams_free(): Free allocated space for NSM_linear_solver_params.NSM_linearSolverParams_new(): New and empty NSM_linear_solver_params.NSM_linear_solver_data(): Get the LU factors for cs_lusol.NSM_max_version(): Get the maximum of versions of csparse matrices.NSM_new(): New and empty NumericsSparseMatrix with correctly initialized fields.NSM_new_from_file(): New and empty NumericsSparseMatrix with correctly initialized fields.NSM_nnz(): get the number of non-zero (nnz) in a sparse matrixNSM_null(): Initialize the fields of a NumericsSparseMatrix.NSM_origin(): return the origin of a sparse part of a matrixNSM_reset_version(): Reset version of a sparse storage.NSM_reset_versions(): Reset all versions of a NumericsSparseMatrix.NSM_set_version(): Set the version of a NumericsSparseMatrix.NSM_version(): Get current version of a type of csparse matrix.NSM_version_copy(): Copy NumericsSparseMatrix version.NSM_version_sync(): Sync matrix origin and version.NSM_workspace(): Get the workspace for the sparse solver.NV_abs(): Compute abs vector.NV_add(): Compute element by element by element sum.NV_const_add(): Compute y = alpha * x + beta.NV_display(): Screen display of the vector content stored as a double * array.NV_div(): Element by element division of two vectors.NV_dott(): Compute scalar product x x^T which is a matrix of rank 1.NV_equal(): Test if two vectors are equal up to a given tolerance.NV_insert(): Insert the vector y into the vector x starting from position i.NV_max(): Find a maximum value of vertor.NV_min(): Find a minimum value of vertor.NV_norm_2(): Find a L-2 norm of vertor ( sqrt(sum(vec^2)) )NV_norm_inf(): Find a L-inf norm of vertor ( max(abs(vec)) )NV_norm_type(): Find a norm of vertor depending on: type = NORM_2 = L-2 ( sqrt(sum(vec^2)) ) type = NORM_INF = L-inf ( max(abs(vec)) ) note: only use CBLAS routines.NV_power2(): Put all elements of vector to the square (element by element)NV_prod(): Element by element product of two vectors.NV_reduce(): Sum all the elements in vector.NV_sqrt(): Compute element by element square root.NV_sub(): Compute element by element by element subtraction.QUADROOTS(): CACM Algorithm 326 Roots of low order polynomials Author: Terence R.F.Nonweiler CACM (Apr 1968) p269 Translated into c and programmed by M.Dow ANUSF, Australian National University, Canberra, Australia m.dow@anu.edu.au.Quad_repr(): Returns quadratic representation of the vector x by formula 2*xx^T - det(x)R.Reflect_mat(): Returns reflection matrix.Relay_display(): displays the problem onto the screenSBCM_clear(): Free memory allocated for a Sparse Block Coordinate matrix.SBCM_clear_block(): Free memory allocated for the attribute ‘blocks’ of a Sparse Block Coordinate matrix.SBCM_free(): lear and free a SparseBlockCoordinateMatrixSBCM_new(): Creation of an empty Sparse Block Coordinate Matrix (all fields to “0”)SBCM_new_3x3(): creates a SparseBlockCoordinateMatrix from a list of 3x3 blocksSBCM_null(): set all matrix fields to “0”SBCM_to_SBM(): copy a SparseBlockCoordinateMatrix to a SparseBlockStructuredMatrixSBM_add(): SparseBlockStructuredMatrix - SparseBlockStructuredMatrix addition C = alpha*A + beta*B.SBM_add_without_allocation(): SparseBlockStructuredMatrix - SparseBlockStructuredMatrix addition C = alpha*A + beta*B + gamma*C without allocation.SBM_clear(): Free memory allocated for the SBM matrix.SBM_clear_block(): Free memory allocated for the attribute ‘blocks’ of a SBM matrix.SBM_clear_pred(): Destructor for SparseBlockStructuredMatrixPred objects.SBM_compute_diagonal_block_indices(): Compute the indices of blocks of the diagonal block.SBM_copy(): Full copy of a Sparse Block matrix into another.SBM_copy_and_link(): Copy of a SBM into another BUT B block data are pointer links to A block data –> B does not own the blocks Be careful with SBM_free on B matrix.SBM_diagonal_block_index(): Find index of the diagonal block in a row.SBM_entry(): insert an entry into a SparseBlockStructuredMatrix.SBM_free(): lear and free a SparseBlockStructuredMatrixSBM_from_csparse(): Copy a Sparse Matrix into a SBM, with fixed blocksize.SBM_from_csparse_2(): Copy a Sparse Matrix into a SBM, with fixed blocksize, without big mallocs.SBM_from_dense(): Copy a dense matrix into a SBM, with fixed blocksize.SBM_gemm_without_allocation(): SparseBlockStructuredMatrix - SparseBlockStructuredMatrix product C = alpha*A*B + beta*C The routine has to be used with precaution.SBM_gemv(): SparseMatrix - vector product y = alpha*A*x + beta*y.SBM_gemv_3x3(): SparseMatrix - vector product y = A*x + y for block of size 3x3.SBM_get_value(): get the element of row i and column j of the matrix MSBM_inverse_diagonal_block_matrix_in_place(): Inverse (in place) a square diagonal block matrix.SBM_multiply(): SparseBlockStructuredMatrix - SparseBlockStructuredMatrix multiplication C = A * B.SBM_new(): Creation of an empty Sparse Block Matrix (all fields to “0”)SBM_new_from_file(): Create from file a SparseBlockStructuredMatrix with memory allocation.SBM_nnz(): number of non-null elements in the matrixSBM_null(): set all matrix fields to “0”SBM_print(): Screen display of the matrix content.SBM_read_from_file(): read in file of the matrix content without performing memory allocationSBM_read_from_filename(): read in file of the matrix contentSBM_row_permutation_copy(): Same as SBM_row_permutation, but copies blocks.SBM_row_prod(): Row of a SparseMatrix - vector product y = rowA*x or y += rowA*x, rowA being a row of blocks of A.SBM_row_prod_no_diag(): Row of a SparseMatrix - vector product y = rowA*x or y += rowA*x, rowA being a row of blocks of A.SBM_row_prod_no_diag_2x2_permut(): Same as SBM_row_prod_no_diag_2x2 but allows to choose which column is ignored.SBM_row_prod_no_diag_3x3(): Row of a SparseMatrix - vector product y = rowA*x or y += rowA*x, rowA being a row of blocks of A of size 3x3.SBM_row_to_dense(): Copy a block row of the SBM into a Dense Matrix.SBM_scal(): In-place multiply a matrix with a double alpha*A –> A.SBM_to_dense(): Copy a SBM into a Dense Matrix.SBM_to_sparse(): Copy a SBM into a Sparse (CSR) Matrix.SBM_to_sparse_init_memory(): initMemory of a Sparse (CSR) Matrix from a SBM matrixSBM_transpose(): Transpose by copy of a SBM A into B.SBM_write_in_file(): print in file of the matrix contentSBM_write_in_fileForScilab(): print in file of the matrix content in Scilab format for each blockSBM_write_in_filename(): print in file of the matrix contentSBM_zero_matrix_for_multiply(): Perform the allocation of a zero matrix that is compatible with multiplication.SN_get_max_iters(): get the number of iterationsSN_get_nb_iters(): get the number of iterationsSN_get_residual(): get the residualSN_get_tolerance(): get the tolerance for the solverSN_logh5_NM(): Save a Numerics matrix in a hdf5 file.SN_logh5_end(): Close the hdf5 file.SN_logh5_end_iter(): End an iteration.SN_logh5_init(): Initialize the hdf5 logging.SN_logh5_loglevel(): filter loglevel for the hdf5 logger.SN_logh5_new_iter(): Start a new iteration in the hdf5 file (create a folder /i-iteration_number.SN_path_interface(): Interface to the PATH solver.SN_set_max_iters(): set the maximum number of iterationsSN_set_nb_iters(): set the number of iterations done in the solverSN_set_residual(): set the residual from the solverSN_set_tolerance(): set the tolerance for the solverVI_get_env(): get the environment from the structabs_part(): Absolute values of the components of a vector.add3(): add a vector[3]add3x3(): add a 3x3 matrix or a vector[9]add5(): add two 5D vectorsadd5_for_loop(): add two 5D vectorsadd5x5(): add a 5x5 matrix or a vector[9]add5x5_for_loop(): add a 5x5 matrix or a vector[25]arcsearch_Armijo2(): Armijo arcsearch; this version compute and update the reference value and calls search_Armijo_standalone().arcsearch_Goldstein2(): Goldstein arcsearch; this version compute and update the reference value and calls search_Goldstein_standalone().avi_caoferris(): direct solver for AVI based on pivoting method principle for degenerate problem.avi_caoferris_stage3(): stage 3 of the Cao-Ferris algorithmavi_driver(): General interface to solvers for Affine Variational Inequalities (AVI)avi_pathavi(): avi_pathavi is using PATHVI, a direct solver for VI based on pivoting method principle for degenerate problem Ref: “A structure-preserving Pivotal Method for Affine Variational
Inequalities” Y.
* axpby5_for_loop()
* axpy5_for_loop()
* basis_to_name()
* basis_to_number()
* cblas_dcopy_msan() : wrapper around cblas_dcopy which initialize the destination in order to make msan happy
* checkTrivialCase_vi() : Check for trivial solution in the variational inequality problem.
* check_hdf5_file() : return 1 if filename is hdf5
* check_io() : @rbrief Check validity of an io expression
* check_nmd_criterion() : check the non-monotone descent criterion
* classify_BNRT()
* classify_BNRT_velocity_modified()
* classify_BNRT_velocity_original()
* classify_indices_R()
* column_sum_norm5x5_for_loop()
* compareTriplets()
* complemResidualNorm() : Returns the Inf-norm of primal residual vecor ( velocity - H @ globalVelocity - w )
* complemResidualNorm_p()
* complemResidualNorm_p_F()
* complemResidualNorm_type()
* computeAlartCurnierJeanMoreau()
* computeAlartCurnierSTD()
* computeFGlocker() : To compute F.
* computeJacobianFGlocker() : To compute jacobianF.
* compute_Z_GlockerFixedP() : compute Fixed Point Solution for the NCP formulation
* compute_connectedcomponents()
* compute_number_connectedcomponents()
* compute_rho_spectral_norm()
* compute_rho_split_spectral_norm()
* compute_rho_split_spectral_norm_cond()
* cond() : Compute the conditioning of dense matrix with column major storage.
* convertToPathSparse() : Numerics dense matrix to Path Sparse matrix.
* convexQP_ADMM()
* convexQP_ADMM_free()
* convexQP_ADMM_init()
* convexQP_ProjectedGradient() : Projected Gradient solver for Convex QP problem.
* convexQP_VI_solver()
* convexQP_clear() : Clear ConvexQP structure: set all pointeurs to NULL, double and int to 0.
* convexQP_compute_error() : Error computation for a ConvexQP problem; this function requires dWork to point to at least 2*n+m double of allocated memory or it mallocs this memory.
* convexQP_compute_error_reduced() : Error computation for a reduced ConvexQP problem (A=I, b=0).
* convexQP_display() : display a ConvexQPProblem
* convexQP_free() : free a ConvexQPProblem
* convexQP_get_env() : get the environment from the struct
* convexQP_new() : new ConvexQP problem
* convexQP_newFromFile() : read a ConvexQPProblem in a file (numerics .dat format)
* convexQP_printInFile() : print a ConvexQPProblem in a file (numerics .dat format)
* cpy3() : copy a vector[3]
* cpy3x3() : copy a 3x3 matrix or a vector[9]
* cpy5() : copy a 5D vector
* cpy5_for_loop() : copy a 5D vector
* cpy5x5() : copy a 5x5 matrix or a vector[25]
* cpy5x5_for_loop() : copy a 5x5 matrix or a vector[25]
* cpytr3x3() : copy & transpose a matrix
* createHashSet()
* createSplittedFrictionContactProblem() : create a SplittedFrictionContactProblem
* create_NMS_data() : create (allocate) a NMS_data struct and do some allocation work
* create_graph()
* create_node()
* create_node_connectedcomponent()
* cross3() : cross product : c <- a x b
* csint_to_int()
* csint_to_size_t()
* det3x3() : determinant
* diag_scal3() : diagonal scaling of a vector
* diffns() : Input na, a, nb, b Output nc, c a and b: interger vectors in increasing order c : vector of integers of a that are not in b.
* display3()
* display3x3()
* display5()
* display5_for_loop() : display a 5D vector
* display5x5()
* display5x5_for_loop() : display a 5x5 matrix (column-major storage, displayed in row-major format)
* display_status_rolling_cone()
* dnrm2l()
* dnrm2sqrl()
* do_pivot() : Do the pivot <block, drive>, standart version.
* do_pivot_driftless() : Do the pivot <block, drive>, driftless version.
* do_pivot_driftless2() : Do the pivot <block, drive>, driftless version.
* do_pivot_lumod() : Do the pivot <block, drive> with block-LU updates.
* dot3() : scalar product : c <- a.b
* dot5_for_loop()
* dr_latin() : dr_latin is a specific latin (LArge Time INcrement)solver for dual relay problems.
* dr_nlgs() : dr_nlgs is a specific nlgs (Non Linear Gauss Seidel) solver for dual relay problems.
* dualGap()
* dualResidual() : Returns the dual constraint vector for global fricprob ( M @ globalVelocity + f - H @ reaction )
* dualResidual_type()
* eig_3x3() : Computation of the eigenvalues of a symmetric 3x3 real matrix.
* eigsym5x5_for_loop() : Compute eigenvalues and eigenvectors of a symmetric 5x5 matrix using Jacobi method.
* eigvals_sym5x5_for_loop() : Compute eigenvalues of a symmetric 5x5 matrix using Jacobi method.
* enum_compute_nb_cases() : Compute the total number of cases that should be enumerated.
* enum_init()
* enum_next()
* equal3() : check equality : a[3] == b[3]
* equal3x3() : check equality : a[9] == b[9]
* error_compute_incremental() : Compute incremental (light) error.
* error_compute_incremental_blas() : Compute incremental error using BLAS (for large vectors)
* error_incr_finalize() : Finalize incremental error computation.
* error_incr_squared_sum() : Compute squared norm of difference (for use in incremental error accumulation)
* error_is_converged() : Check if error is converged within tolerance.
* error_make_relative() : Compute relative error.
* error_stats_init() : Initialize error statistics.
* error_stats_is_stagnating() : Check if solver is stagnating.
* error_stats_reduction_rate() : Compute error reduction rate.
* error_stats_update() : Update error statistics.
* extract3x3() : extract3x3 : copy a sub 3x3 matrix of a into *b
* :cpp:func:`eye3x3` : set to identity a matrix3x3
* :cpp:func:`eye5x5` : set to identity a matrix5x5
* :cpp:func:`eye5x5_for_loop` : set to identity a matrix5x5
* :cpp:func:`fc2d_compute_error` : Error computation for friction-contact 3D problem.
* :cpp:func:`fc2d_cpg` : cpg (conjugated projected gradient) solver for global contact problems with friction (2D)
* :cpp:func:`fc2d_driver` : General interface to solvers for friction-contact 2D problem.
* :cpp:func:`fc2d_driver`
* :cpp:func:`fc2d_enum` : fc2d_enum solver for frictionContact2D problems.
* :cpp:func:`fc2d_lexicolemke` : fc2d_lexicolemke is a Lemke solver for frictionContact2D problems.
* :cpp:func:`fc2d_list_available_solvers`
* :cpp:func:`fc2d_nsgs` : Non Linear Gauss Seidel solver (sbm) for global contact problem with friction in 2D case.
* :cpp:func:`fc2d_nsgs_dense` : Non Linear Gauss Seidel solver (dense) for global contact problem with friction in 2D case.
* :cpp:func:`fc2d_print_solver_info`
* :cpp:func:`fc2d_projc`
* :cpp:func:`fc2d_projf` : fc2d_projf is a specific projection operator related to CPG (conjugated projected gradient) algorithm for global contact problem with friction.
* :cpp:func:`fc2d_solver_options_create`
* :cpp:func:`fc2d_tolcp` : This function transform a FrictionContactProblem (2D) into a LinearComplementarityProblem.
* :cpp:func:`fc2d_unitary_compute_and_add_error`
* :cpp:func:`fc3d_ACLMFixedPoint` : Fixed point solver for friction-contact 3D problem based on the ACLM.
* :cpp:func:`fc3d_AVI_gams_path` : solver using PATH (via GAMS) for friction-contact 3D problem based on an AVI reformulation
* :cpp:func:`fc3d_AVI_gams_pathvi` : solver using PATHVI (via GAMS) for friction-contact 3D problem based on an AVI reformulation
* :cpp:func:`fc3d_AlartCurnierABGenerated`
* :cpp:func:`fc3d_AlartCurnierFABGenerated`
* :cpp:func:`fc3d_AlartCurnierFGenerated`
* :cpp:func:`fc3d_AlartCurnierFunction` : The Alart & Curnier function for several contacts.
* :cpp:func:`fc3d_AlartCurnierFunctionGenerated`
* :cpp:func:`fc3d_AlartCurnierJeanMoreauABGenerated`
* :cpp:func:`fc3d_AlartCurnierJeanMoreauFABGenerated`
* :cpp:func:`fc3d_AlartCurnierJeanMoreauFGenerated`
* :cpp:func:`fc3d_AlartCurnierJeanMoreauFunctionGenerated`
* :cpp:func:`fc3d_ConvexQP_ProjectedGradient_Cylinder` : Projected Gradient on Cylinder solver for Friction-contact 3D problem.
* :cpp:func:`fc3d_DeSaxceFixedPoint` : Fixed Point solver for friction-contact 3D problem based on the De Saxce Formulation.
* :cpp:func:`fc3d_ExtraGradient` : Extra Gradient solver for friction-contact 3D problem based on the De Saxce Formulation.
* :cpp:func:`fc3d_FischerBurmeisterABGenerated`
* :cpp:func:`fc3d_FischerBurmeisterFABGenerated`
* :cpp:func:`fc3d_FischerBurmeisterFGenerated`
* :cpp:func:`fc3d_FischerBurmeisterFMeritGenerated`
* :cpp:func:`fc3d_FischerBurmeisterFunction` : The Fischer & Burmeister function for several contacts.
* :cpp:func:`fc3d_FischerBurmeisterFunctionGenerated`
* :cpp:func:`fc3d_FischerBurmeisterGradFMeritGenerated`
* :cpp:func:`fc3d_FischerBurmeisterGradMeritFunctionGenerated`
* :cpp:func:`fc3d_FixedP_free` : free memory for friction contact 3D Fixed Point solver
* :cpp:func:`fc3d_FixedP_initialize` : Initialize friction-contact 3D Fixed Point solver.
* :cpp:func:`fc3d_FixedP_solve` : solve friction-contact 3D problem with Fixed Point
* :cpp:func:`fc3d_HyperplaneProjection` : Hyperplane Projection solver for friction-contact 3D problem based on the De Saxce Formulation.
* :cpp:func:`fc3d_IPM_SNM`
* :cpp:func:`fc3d_IPM_SNM_init`
* :cpp:func:`fc3d_LmgcDriver`
* :cpp:func:`fc3d_NaturalMapABGenerated`
* :cpp:func:`fc3d_NaturalMapFABGenerated`
* :cpp:func:`fc3d_NaturalMapFGenerated`
* :cpp:func:`fc3d_NaturalMapFunction` : The natural map function for several contacts.
* :cpp:func:`fc3d_NaturalMapFunctionGenerated`
* :cpp:func:`fc3d_Panagiotopoulos_FixedPoint` : Fixed point solver for friction-contact 3D problem based on the Panagiotopoulos method based on an alternative technique between the normal problem and the tangential one.
* :cpp:func:`fc3d_Path_computeError` : compute error for friction-contact 3D problem with Fixed Point
* :cpp:func:`fc3d_Path_computeError` : compute error for friction-contact 3D problem with Path
* :cpp:func:`fc3d_Path_free` : free memory for friction contact 3D Path solver
* :cpp:func:`fc3d_Path_initialize` : Initialize friction-contact 3D Path solver.
* :cpp:func:`fc3d_Path_solve` : solve friction-contact 3D problem with Path
* :cpp:func:`fc3d_SOCLCP`
* :cpp:func:`fc3d_TrescaFixedPoint` : Fixed point solver for friction-contact 3D problem based on the Tresca problem with fixed friction threshold.
* :cpp:func:`fc3d_Tresca_compute_error` : Error computation for friction-contact 3D problem with Tresca Friction.
* :cpp:func:`fc3d_Tresca_unitary_compute_and_add_error` : Error computation for one friction-contact 3D problem.
* :cpp:func:`fc3d_VI_ExtraGradient` : Extra Gradient solver (VI_EG) for friction-contact 3D problem based on a VI reformulation.
* :cpp:func:`fc3d_VI_FixedPointProjection` : Fixed Point solver for friction-contact 3D problem based on the VI reformulation.
* :cpp:func:`fc3d_VI_FixedPointProjection_Cylinder`
* :cpp:func:`fc3d_admm`
* :cpp:func:`fc3d_admm_free`
* :cpp:func:`fc3d_admm_init`
* :cpp:func:`fc3d_checkTrivialCase` : Check for trivial solution in the friction-contact 3D problem.
* :cpp:func:`fc3d_compute_error` : Error computation for a friction-contact 3D problem.
* :cpp:func:`fc3d_compute_error_norm_infinity_conic` : Error computation using the norm infinity conic for friction-contact 3D problem.
* :cpp:func:`fc3d_compute_error_velocity` : Error computation for a friction-contact 3D problem.
* :cpp:func:`fc3d_driver` : General interface to solvers for friction-contact 3D problem.
* :cpp:func:`fc3d_driver`
* :cpp:func:`fc3d_fixedPointProjection` : Fixed Point Projection solver for friction-contact 3D problem based on the De Saxce Formulation.
* :cpp:func:`fc3d_ipm_snm_set_default`
* :cpp:func:`fc3d_lcp_gams_path` : solver using PATH (via GAMS) for friction-contact 3D problem based on an AVI reformulation
* :cpp:func:`fc3d_lcp_gams_pathvi` : solver using PATHVI (via GAMS) for friction-contact 3D problem based on an AVI reformulation
* :cpp:func:`fc3d_list_available_solvers`
* :cpp:func:`fc3d_local_problem_allocate`
* :cpp:func:`fc3d_local_problem_compute_q`
* :cpp:func:`fc3d_local_problem_compute_q_parallel`
* :cpp:func:`fc3d_local_problem_fill_M`
* :cpp:func:`fc3d_local_problem_free`
* :cpp:func:`fc3d_nonsmooth_Newton_AlartCurnier` : Nonsmooth Newton solver based on the AlartCurnier function for the local (reduced) frictional contact problem in the dense form.
* :cpp:func:`fc3d_nonsmooth_Newton_AlartCurnier_new`
* :cpp:func:`fc3d_nonsmooth_Newton_FischerBurmeister` : Nonsmooth Newton solver based on the FischerBurmeister function for the local (reduced) frictional contact problem in the dense form.
* :cpp:func:`fc3d_nonsmooth_Newton_FischerBurmeister_compute_error`
* :cpp:func:`fc3d_nonsmooth_Newton_NaturalMap` : Nonsmooth Newton solver based on the NaturalMap function for the local (reduced) frictional contact problem in the dense form.
* :cpp:func:`fc3d_nonsmooth_Newton_NaturalMap_compute_error`
* :cpp:func:`fc3d_nonsmooth_Newton_computeAWpB`
* :cpp:func:`fc3d_nonsmooth_Newton_linesearch_FBLSA`
* :cpp:func:`fc3d_nonsmooth_Newton_linesearch_GoldsteinPrice`
* :cpp:func:`fc3d_nonsmooth_Newton_solvers_solve` : Solve the equation.
* :cpp:func:`fc3d_nsgs` : Non-Smooth Gauss Seidel solver for friction-contact 3D problem.
* :cpp:func:`fc3d_nsgs_generic`
* :cpp:func:`fc3d_nsgs_update`
* :cpp:func:`fc3d_nsgs_velocity` : Non-Smooth Gauss Seidel in velocity solver for friction-contact 3D problem.
* :cpp:func:`fc3d_nsn_ac_new_set_default`
* :cpp:func:`fc3d_nsn_ac_set_default` : Set default solver options for FC3D_NSN_AC.
* :cpp:func:`fc3d_nsn_fb_set_default` : Set default solver options for FC3D_NSN_FB.
* :cpp:func:`fc3d_nsn_nm_set_default` : Set default solver options for FC3D_NSN_NM.
* :cpp:func:`fc3d_onecontact_nonsmooth_Newton_AC_update` : Update friction-contact 3D problem: formalize local problem for one contact.
* :cpp:func:`fc3d_onecontact_nonsmooth_Newton_AC_update_parallel` : Update friction-contact 3D problem, usable in parallel context: formalize local problem for one contact.
* :cpp:func:`fc3d_onecontact_nonsmooth_Newton_solvers_computeError` : compute error for friction-contact 3D problem with Newton
* :cpp:func:`fc3d_onecontact_nonsmooth_Newton_solvers_free` : free memory for friction contact 3D Newton solver
* :cpp:func:`fc3d_onecontact_nonsmooth_Newton_solvers_initialize` : initialize friction-contact 3D Newton solver
* :cpp:func:`fc3d_onecontact_nonsmooth_Newton_solvers_solve` : solve friction-contact 3D problem with Newton
* :cpp:func:`fc3d_onecontact_nonsmooth_Newton_solvers_solve_damped`
* :cpp:func:`fc3d_onecontact_nonsmooth_Newton_solvers_solve_direct`
* :cpp:func:`fc3d_onecontact_nonsmooth_Newton_solvers_solve_hybrid`
* :cpp:func:`fc3d_print_solver_info`
* :cpp:func:`fc3d_projectionOnConeWithLocalIteration_free`
* :cpp:func:`fc3d_projectionOnConeWithLocalIteration_initialize`
* :cpp:func:`fc3d_projectionOnConeWithLocalIteration_solve` : solve friction-contact 3D problem with projection on the Cone with local iteration up to convergence of the local problem
* :cpp:func:`fc3d_projectionOnCone_solve` : solve friction-contact 3D problem with projection on the Cone
* :cpp:func:`fc3d_projectionOnCone_velocity_solve` : solve friction-contact 3D problem with projection on the Cone
* :cpp:func:`fc3d_projectionOnCylinderWithLocalIteration_free`
* :cpp:func:`fc3d_projectionOnCylinderWithLocalIteration_initialize`
* :cpp:func:`fc3d_projectionOnCylinderWithLocalIteration_solve` : solve friction-contact 3D problem with projection on the (Tresca Cylinder)
* :cpp:func:`fc3d_projectionOnCylinder_free`
* :cpp:func:`fc3d_projectionOnCylinder_initialize`
* :cpp:func:`fc3d_projectionOnCylinder_solve` : solve friction-contact 3D problem with projection on the (Tresca Cylinder)
* :cpp:func:`fc3d_projectionOnCylinder_update` : Update friction-contact 3D projection solver: formalize local problem for one contact.
* :cpp:func:`fc3d_projectionOnCylinder_update_parallel` : Same as above but usable in parallel.
* :cpp:func:`fc3d_projectionWithDiagonalization_solve` : solve friction-contact 3D problem with projection assuming that M is diagonal
* :cpp:func:`fc3d_projectionWithDiagonalization_update` : Update friction-contact 3D projection solver: formalize local problem for one contact.
* :cpp:func:`fc3d_projection_free` : free memory for friction contact 3D projection solver
* :cpp:func:`fc3d_projection_initialize` : Initialize friction-contact 3D projection.
* :cpp:func:`fc3d_projection_initialize_with_regularization` : Initialize friction-contact 3D projection with regularization.
* :cpp:func:`fc3d_projection_update` : Update friction-contact 3D projection solver: formalize local problem for one contact.
* :cpp:func:`fc3d_projection_update_parallel` : Same as above but usable in parallel.
* :cpp:func:`fc3d_projection_update_with_regularization` : Update friction-contact 3D projection solver: formalize local problem for one contact.
* :cpp:func:`fc3d_projection_update_with_regularization_parallel` : Same as above but usable in parallel.
* :cpp:func:`fc3d_projection_with_regularization_free` : free memory for friction contact 3D projection solver
* :cpp:func:`fc3d_proximal` : Proximal point solver for friction-contact 3D problem.
* :cpp:func:`fc3d_reformulation_global_problem`
* :cpp:func:`fc3d_set_internalsolver_tolerance`
* :cpp:func:`fc3d_solver_options_create`
* :cpp:func:`fc3d_unitary_compute_and_add_error` : Error computation (using the normal map residual) for one friction-contact 3D problem.
* :cpp:func:`fc3d_unitary_compute_dual_and_add_error` : Error computation on dual cone (using the normal map residual) for one friction-contact 3D problem.
* :cpp:func:`fc3d_unitary_enumerative`
* :cpp:func:`fc3d_unitary_enumerative_free`
* :cpp:func:`fc3d_unitary_enumerative_initialize`
* :cpp:func:`fc3d_unitary_enumerative_solve`
* :cpp:func:`fc3d_unitary_enumerative_solve_poly_nu_sliding`
* :cpp:func:`fc3d_unitary_enumerative_solve_sliding`
* :cpp:func:`fc3d_unitary_enumerative_test_non_sliding`
* :cpp:func:`fill_nm_data` : fill the data struct for non-monotone search
* :cpp:func:`fmax`
* :cpp:func:`freeAVI` : function to delete a AffineVariationalInequalities
* :cpp:func:`freeHashSet`
* :cpp:func:`freeLinearComplementarityProblem` : Delete a LinearComplementarityProblem.
* :cpp:func:`freeNCP` : free an NCP problem
* :cpp:func:`freeRelay_problem` : Release memory for the problem structure.
* :cpp:func:`freeSecondOrderConeLinearComplementarityProblem` : free a SecondOrderConeLinearComplementarityProblem
* :cpp:func:`freeVariationalInequalityProblem` : free a VariationalInequalityProblem
* :cpp:func:`free_NMS_data` : free a NMS_data struct
* :cpp:func:`free_box` : free a box struct
* :cpp:func:`free_connectedcomponents`
* :cpp:func:`free_graph`
* :cpp:func:`free_ls_data` : free the allocated memory for the linesearch method
* :cpp:func:`free_nm_data` : free the allocated memory for the non-monotone search
* :cpp:func:`free_node_list`
* :cpp:func:`free_polyhedron` : free a Polyhedron struct
* :cpp:func:`free_polyhedron_unified` : free a Polyhedron struct
* :cpp:func:`free_siconos_set` : free a set
* :cpp:func:`frictionContactProblem_compute_statistics`
* :cpp:func:`frictionContactProblem_free` : free a FrictionContactProblem
* :cpp:func:`frictionContactProblem_new`
* :cpp:func:`frictionContactProblem_new_with_data` : new FrictionContactProblem from minimal set of data
* :cpp:func:`frictionContact_copy` : Creates a new FrictionContact problem and initialize its content by copying an existing problem.
* :cpp:func:`frictionContact_display` : display a FrictionContactProblem
* :cpp:func:`frictionContact_newFromFile` : read a FrictionContactProblem from a file descriptor
* :cpp:func:`frictionContact_new_from_filename` : read a FrictionContactProblem from a file (.dat or hdf5 if fclib is on) from its filename
* :cpp:func:`frictionContact_printInFile` : print a FrictionContactProblem in a file (numerics .dat format)
* :cpp:func:`frictionContact_printInFilename` : print a FrictionContactProblem in a file (numerics dat format)
* :cpp:func:`frictionContact_rescaling` : Rescales M matrix and q vector of a given FrictionContactProblem.
* :cpp:func:`genericMechanicalProblem_display`
* :cpp:func:`genericMechanicalProblem_free`
* :cpp:func:`genericMechanicalProblem_new`
* :cpp:func:`genericMechanicalProblem_printInFile`
* :cpp:func:`genericMechanical_newFromFile` : read a GenericMechanicalProblem from a file descriptor
* :cpp:func:`genericMechanical_new_from_filename` : read a GenericMechanicalProblem from a file (.dat or hdf5 if fclib is on) from its filename
* :cpp:func:`getNewtonStepLength`
* :cpp:func:`getStepLength`
* :cpp:func:`get_function_address` : get the address of a function in an already opened lib
* :cpp:func:`get_non_monotone_ref` : compute the reference value
* :cpp:func:`get_nonmonotone_type` : Get the update type for the non-monotone line search.
* :cpp:func:`gfc2d_driver` : General interface to solvers for global friction-contact 2D problem.
* :cpp:func:`gfc3d_ACLMFixedPoint` : Solver based on the fixed-point iteration proposed by Cadoux for friction-contact 3D problem.
* :cpp:func:`gfc3d_AVI_gams_path` : solver using PATH (via GAMS) for friction-contact 3D problem based on an AVI reformulation
* :cpp:func:`gfc3d_AVI_gams_pathvi` : solver using PATHVI (via GAMS) for friction-contact 3D problem based on an AVI reformulation
* :cpp:func:`gfc3d_DeSaxceFixedPoint_wr` : Fixed Point iteration on De Saxe formulation solver with reformulation for friction-contact 3D problem.
* :cpp:func:`gfc3d_IPM_SNM`
* :cpp:func:`gfc3d_IPM_fixed`
* :cpp:func:`gfc3d_IPM_init`
* :cpp:func:`gfc3d_LmgcDriver` : LMGC interface to solvers for global friction-contact 3D problem.
* :cpp:func:`gfc3d_TrescaFixedPoint_wr` : Fixed Point iteration on Tresca Friction Cylinder with reformulation for friction-contact 3D problem.
* :cpp:func:`gfc3d_VI_ExtraGradient`
* :cpp:func:`gfc3d_VI_FixedPointProjection`
* :cpp:func:`gfc3d_admm_wr`
* :cpp:func:`gfc3d_balancing_M`
* :cpp:func:`gfc3d_balancing_MHHT`
* :cpp:func:`gfc3d_balancing_back_to_original_variables`
* :cpp:func:`gfc3d_balancing_data_free`
* :cpp:func:`gfc3d_balancing_data_new`
* :cpp:func:`gfc3d_balancing_free`
* :cpp:func:`gfc3d_balancing_go_to_balanced_variables`
* :cpp:func:`gfc3d_balancing_problem`
* :cpp:func:`gfc3d_checkTrivialCaseGlobal` : Check for trivial solution in the friction-contact 3D problem.
* :cpp:func:`gfc3d_compute_error` : Error computation for global friction-contact 3D problem.
* :cpp:func:`gfc3d_compute_error_convex`
* :cpp:func:`gfc3d_compute_error_norm_infinity_conic` : Error computation using the norm infinity conic for global friction-contact 3D problem.
* :cpp:func:`gfc3d_compute_error_r`
* :cpp:func:`gfc3d_driver` : General interface to solvers for global friction-contact 3D problem.
* :cpp:func:`gfc3d_ipm_snm_set_default`
* :cpp:func:`gfc3d_ipm_snm_wr`
* :cpp:func:`gfc3d_nonsmooth_Newton_AlartCurnier`
* :cpp:func:`gfc3d_nonsmooth_Newton_AlartCurnier_setDefaultSolverOptions`
* :cpp:func:`gfc3d_nonsmooth_Newton_AlartCurnier_wr`
* :cpp:func:`gfc3d_nsgs` : Non-Smooth Gauss Seidel solver for friction-contact 3D problem.
* :cpp:func:`gfc3d_nsgs_velocity_wr` : Non-Smooth Gauss Seidel solver for friction-contact 3D problem with iteration on velocities.
* :cpp:func:`gfc3d_nsgs_wr` : Non-Smooth Gauss Seidel solver with reformulation for friction-contact 3D problem.
* :cpp:func:`gfc3d_proximal_wr` : Proximal point solver with reformulation for friction-contact 3D problem.
* :cpp:func:`gfc3d_rescaling`
* :cpp:func:`gfc3d_set_internalsolver_tolerance`
* :cpp:func:`gfc3d_sparseGlobalAlartCurnierInit`
* :cpp:func:`globalFrictionContactProblem_new` : creates an empty GlobalFrictionContactProblem
* :cpp:func:`globalFrictionContact_computeGlobalVelocity` : Compute the global velocity given the reaction.
* :cpp:func:`globalFrictionContact_copy`
* :cpp:func:`globalFrictionContact_display` : displays the problem onto screen
* :cpp:func:`globalFrictionContact_free` : Release memory for the problem structure.
* :cpp:func:`globalFrictionContact_newFromFile` : read a GlobalFrictionContactProblem from a file descriptor
* :cpp:func:`globalFrictionContact_new_from_filename` : read a GlobalFrictionContactProblem from a file (.dat or hdf5 if fclib is on) from its filename
* :cpp:func:`globalFrictionContact_printInFile` : Saves problem struct into a file.
* :cpp:func:`globalFrictionContact_printInFileName` : Saves problem struct into a file.
* :cpp:func:`globalFrictionContact_reformulation_FrictionContact` : Refomulation into local problem.
* :cpp:func:`globalRollingFrictionContactProblem_free` : free a GlobalRollingFrictionContactProblem
* :cpp:func:`globalRollingFrictionContactProblem_new`
* :cpp:func:`globalRollingFrictionContactProblem_new_with_data` : new GlobalRollingFrictionContactProblem from minimal set of data
* :cpp:func:`globalRollingFrictionContact_computeGlobalVelocity` : Compute the global velocity given the reaction.
* :cpp:func:`globalRollingFrictionContact_display` : display a GlobalRollingFrictionContactProblem
* :cpp:func:`globalRollingFrictionContact_newFromFile` : read a GlobalRollingFrictionContactProblem from a file descriptor
* :cpp:func:`globalRollingFrictionContact_new_from_filename` : read a GlobalRollingFrictionContactProblem from a file (.dat or hdf5 if fclib is on) from its filename
* :cpp:func:`globalRollingFrictionContact_printInFile` : print a GlobalRollingFrictionContactProblem in a file (numerics .dat format)
* :cpp:func:`globalRollingFrictionContact_printInFilename` : print a GlobalRollingFrictionContactProblem in a file (numerics .dat format) from its filename
* :cpp:func:`globalRollingFrictionContact_reformulation_RollingFrictionContact`
* :cpp:func:`global_rolling_friction_3d_IPM` : solver based on Interior Point Method (IPM) for Rolling friction-contact 3D problem based on an AVI reformulation Vincent Acary, Paul Armand, Hoang Minh NGUYEN.
* :cpp:func:`global_rolling_friction_3d_IPM_free`
* :cpp:func:`global_rolling_friction_3d_IPM_init`
* :cpp:func:`global_rolling_friction_3d_IPM_set_default`
* :cpp:func:`global_rolling_friction_3d_checkTrivialCaseGlobal`
* :cpp:func:`global_rolling_friction_3d_compute_error` : Error computation (using the normal map residual) for rolling friction-contact 3D problem.
* :cpp:func:`global_rolling_friction_3d_driver` : General interface to solvers for global rolling friction-contact 3D problem.
* :cpp:func:`global_rolling_friction_3d_nsgs_wr` : Non-Smooth Gauss Seidel solver with reformulation for rolling friction-contact 3D problem.
* :cpp:func:`global_rolling_friction_3d_unitary_compute_and_add_error` : Error computation (using the normal map residual) for one rolling friction-contact 3D problem.
* :cpp:func:`gmp_add`
* :cpp:func:`gmp_as_mlcp`
* :cpp:func:`gmp_compute_error`
* :cpp:func:`gmp_driver` : General interface to solvers for friction-contact 3D problem.
* :cpp:func:`gmp_gauss_seidel`
* :cpp:func:`gmp_get_nb_dwork`
* :cpp:func:`gmp_reduced_convert_solution`
* :cpp:func:`gmp_reduced_equality_solve`
* :cpp:func:`gmp_reduced_solve`
* :cpp:func:`gmp_working_memory_alloc`
* :cpp:func:`hadamard5x5_for_loop`
* :cpp:func:`hypot2` : norm : || a || may underflow & overflow
* :cpp:func:`hypot3` : norm : || a || may underflow & overflow
* :cpp:func:`hypot5`
* :cpp:func:`hypot5_for_loop`
* :cpp:func:`hypot9`
* :cpp:func:`infnorm5_for_loop`
* :cpp:func:`infnorm5x5_for_loop`
* :cpp:func:`init_M_bard`
* :cpp:func:`init_M_least_index`
* :cpp:func:`init_M_lemke` : Initialize the matrix for Lemke’s algorithm as [ q | Id | -d | -M ] with d_i = 1 if i < size_x if the argument d is NULL.
* :cpp:func:`init_M_lemke_warm_start`
* :cpp:func:`init_lsa_functions` : Set the functions to compute F and F_merit and all the other pointers to NULL.
* :cpp:func:`insert3x3` : insert3x3 : insert a 3x3 matrix *b into *a
* :cpp:func:`inv_3x3_gepp`
* :cpp:func:`inv_5x5_gepp_for_loop`
* :cpp:func:`isInHashSet`
* :cpp:func:`jacobianF_GlockerFischerBurmeister`
* :cpp:func:`jacobianPhi_FB` : Jacobian of the Fischer Burmeister function, $ nabla_z phi(z,F(z)) $.
* :cpp:func:`jacobianPhi_Mixed_FB` : Jacobian of the mixed Fischer Burmeister function, $ nabla_z phi(z,F(z)) $.
* :cpp:func:`lcp_ConvexQP_ProjectedGradient`
* :cpp:func:`lcp_FB` : Compute F_FB : $ {F_FB}_i = sqrt(z_i^2 + F_i^2) - (z_i + F_i) $.
* :cpp:func:`lcp_avi_caoferris` : lcp_avi_caoferris is a direct solver for LCP based on an Affine Variational Inequalities (AVI) reformulation The AVI solver is here the one from Cao and Ferris Ref: “A Pivotal
Method for Affine Variational Inequalities” Menglin Cao et Michael Ferris (1996)
* :cpp:func:`lcp_compute_error` : Computes error criterion and update $ w = Mz + q $.
* :cpp:func:`lcp_compute_error_only` : Computes error criterion.
* :cpp:func:`lcp_cpg` : lcp_cpg is a CPG (Conjugated Projected Gradient) solver for LCP based on quadratic minimization.
* :cpp:func:`lcp_driver_DenseMatrix` : Interface to solvers for Linear Complementarity Problems, dedicated to dense matrix storage.
* :cpp:func:`lcp_enum` : enumerative solver
* :cpp:func:`lcp_enum_getNbDWork`
* :cpp:func:`lcp_enum_getNbIWork`
* :cpp:func:`lcp_enum_init` : Proceed with initialisation required before any call of the enum solver.
* :cpp:func:`lcp_enum_reset` : Reset state for enum solver parameters.
* :cpp:func:`lcp_gams` : lcp_gams uses the solver provided by GAMS
* :cpp:func:`lcp_jacobi`
* :cpp:func:`lcp_latin` : lcp_latin (LArge Time INcrements) is a basic latin solver for LCP.
* :cpp:func:`lcp_latin_w` : lcp_latin_w (LArge Time INcrements) is a basic latin solver with relaxation for LCP.
* :cpp:func:`lcp_lexicolemke` : lcp_lexicolemke is a direct solver for LCP based on pivoting method principle for degenerate problem Choice of pivot variable is performed via lexicographic ordering Ref: “The Linear Complementarity Problem” Cottle, Pang, Stone (1992)
* :cpp:func:`lcp_newton_FB` : lcp_newton_FB use a nonsmooth newton method based on the Fischer-Bursmeister convex function
* :cpp:func:`lcp_newton_min` : lcp_newton_min uses a nonsmooth Newton method based on the min formulation (or max formulation) of the LCP
* :cpp:func:`lcp_newton_minFB` : lcp_newton_minFB use a nonsmooth newton method based on both a min and Fischer-Bursmeister reformulation References: FacchineiPang (2003)
* :cpp:func:`lcp_nsgs_SBM` : generic interface used to call any LCP solver applied on a Sparse-Block structured matrix M, with a Gauss-Seidel process to solve the global problem (formulation/solving of local problems for each row of blocks)
* :cpp:func:`lcp_nsgs_SBM_buildLocalProblem` : Construct local problem from a “global” one.
* :cpp:func:`lcp_nsqp` : lcp_nsqp use a quadratic programm formulation for solving an non symmetric LCP
* :cpp:func:`lcp_path` : path solver
* :cpp:func:`lcp_pathsearch` : lcp_pathsearch is a direct solver for LCP based on the pathsearch algorithm
* :cpp:func:`lcp_pgs` : lcp_pgs (Projected Gauss-Seidel) is a basic Projected Gauss-Seidel solver for LCP.
* :cpp:func:`lcp_pivot` : lcp_pivot is a direct solver for LCP based on a pivoting method It can currently use Bard, Murty’s least-index or Lemke rule for choosing the pivot.
* :cpp:func:`lcp_pivot_covering_vector`
* :cpp:func:`lcp_pivot_diagnose_info` : print a diagnostic of the info value
* :cpp:func:`lcp_pivot_lumod`
* :cpp:func:`lcp_pivot_lumod_covering_vector`
* :cpp:func:`lcp_psor` : lcp_psor Projected Succesive over relaxation solver for LCP.
* :cpp:func:`lcp_qp` : lcp_qp uses a quadratic programm formulation for solving a LCP
* :cpp:func:`lcp_rpgs` : lcp_rpgs (Regularized Projected Gauss-Seidel ) is a solver for LCP, able to handle matrices with null diagonal terms.
* :cpp:func:`ld_gammal`
* :cpp:func:`len_connectedcomponent`
* :cpp:func:`len_connectedcomponents`
* :cpp:func:`line_search_generic` : Generic call for a linesearch (or arcsearch).
* :cpp:func:`linearComplementarity_display` : display a LinearComplementarityProblem
* :cpp:func:`linearComplementarity_driver` : General interface to solvers for Linear Complementarity Problems.
* :cpp:func:`linearComplementarity_newFromFile` : Read and create a LinearComplementarityProblem from a file.
* :cpp:func:`linearComplementarity_newFromFilename` : Read and create a LinearComplementarityProblem from a file.
* :cpp:func:`linearComplementarity_printInFile` : function to write in a file a LinearComplementarityProblem
* :cpp:func:`linesearch_Armijo` : Armijo Linesearch.
* :cpp:func:`linesearch_Armijo2` : Armijo linesearch; this version compute and update the reference value and calls search_Armijo_standalone()
* :cpp:func:`linesearch_Goldstein2` : Goldstein linesearch; this version compute and update the reference value and calls search_Goldstein_standalone()
* :cpp:func:`localPLASTICITY_2DProblemFunctionToolkit_display`
* :cpp:func:`localPLASTICITY_2DProblemFunctionToolkit_new`
* :cpp:func:`localProblemFunctionToolkit_display`
* :cpp:func:`localProblemFunctionToolkit_new`
* :cpp:func:`mTm5x5_for_loop`
* :cpp:func:`max_part` : Search for the max.
* :cpp:func:`maxf` : compare two double a and b, and return the max.
* :cpp:func:`mcp_FB` : Compute F_FB : ${F_FB}_i = sqrt(z_i^2 + F_i^2) - (z_i + F_i)$.
* :cpp:func:`mcp_compute_error`
* :cpp:func:`mcp_driver` : General interface to solver for MCP problems new version.
* :cpp:func:`mcp_newton_FB_FBLSA` : Solver based on Fischer-Burmeister reformulation and line search (VFBLSA in FacchineiPang 2003 p.
* :cpp:func:`mcp_newton_min_FBLSA` : Solver based on Fischer-Burmeister reformulation and line search.
* :cpp:func:`mcp_old_FischerBurmeister` : Fischer Burmeister solver.
* :cpp:func:`mcp_old_FischerBurmeister_init` : Initialisation of the MCP Fischer solver (set problem, allocate working memory and so on.
* :cpp:func:`mcp_old_FischerBurmeister_reset` : Reset of the MCP Fischer solver (free local variable)
* :cpp:func:`mcp_old_compute_error`
* :cpp:func:`mcp_old_driver` : General interface to solver for MCP problems.
* :cpp:func:`mcp_old_driver_init` : Initialisation of the MCP solver (set problem, allocate working memory and so on.
* :cpp:func:`mcp_old_driver_reset` : Reset of the MCP solver.
* :cpp:func:`min_part` : Search for the min.
* :cpp:func:`minf` : compare two double a and b, and return the min.
* :cpp:func:`mixedComplementarityProblem_free` : free a MCP problem
* :cpp:func:`mixedComplementarityProblem_new`
* :cpp:func:`mixedComplementarityProblem_old_free` : Delete a MixedComplementarityProblem_old.
* :cpp:func:`mixedLinearComplementarity_display` : display a MLCP
* :cpp:func:`mixedLinearComplementarity_free` : function to delete a MixedLinearComplementarityProblem
* :cpp:func:`mixedLinearComplementarity_fromMtoABCD` : Function to create a MLCP with ABCD format from M formatted MLCP.
* :cpp:func:`mixedLinearComplementarity_new` : create empty MLCP
* :cpp:func:`mixedLinearComplementarity_newFromFile` : Function to read and create a MixedLinearComplementarityProblem from a file.
* :cpp:func:`mixedLinearComplementarity_newFromFileOld` : Function to read and create a MixedLinearComplementarityProblem from a file.
* :cpp:func:`mixedLinearComplementarity_newFromFilename` : Function to read and create a MixedLinearComplementarityProblem from a file.
* :cpp:func:`mixedLinearComplementarity_printInFile` : function to write in a file a MixedLinearComplementarityProblem
* :cpp:func:`mlcp_FB` : Fischer Burmeister solver.
* :cpp:func:`mlcp_FB_getNbDWork`
* :cpp:func:`mlcp_FB_getNbIWork`
* :cpp:func:`mlcp_FB_init`
* :cpp:func:`mlcp_FB_reset`
* :cpp:func:`mlcp_compute_error` : This function checks the validity of the vector z as a solution of the MLCP.
* :cpp:func:`mlcp_direct` : direct solver
* :cpp:func:`mlcp_direct_FB` : Direct Fischer Burmeister solver.
* :cpp:func:`mlcp_direct_FB_getNbDWork`
* :cpp:func:`mlcp_direct_FB_getNbIWork`
* :cpp:func:`mlcp_direct_FB_init`
* :cpp:func:`mlcp_direct_FB_reset`
* :cpp:func:`mlcp_direct_addConfig`
* :cpp:func:`mlcp_direct_addConfigFromWSolution`
* :cpp:func:`mlcp_direct_enum` : direct-enum solver
* :cpp:func:`mlcp_direct_enum_getNbDWork`
* :cpp:func:`mlcp_direct_enum_getNbIWork`
* :cpp:func:`mlcp_direct_enum_init`
* :cpp:func:`mlcp_direct_enum_reset`
* :cpp:func:`mlcp_direct_getNbDWork`
* :cpp:func:`mlcp_direct_getNbIWork`
* :cpp:func:`mlcp_direct_init`
* :cpp:func:`mlcp_direct_path` : direct-path solver
* :cpp:func:`mlcp_direct_path_enum`
* :cpp:func:`mlcp_direct_path_enum_getNbDWork`
* :cpp:func:`mlcp_direct_path_enum_getNbIWork`
* :cpp:func:`mlcp_direct_path_enum_init`
* :cpp:func:`mlcp_direct_path_enum_reset`
* :cpp:func:`mlcp_direct_path_getNbDWork`
* :cpp:func:`mlcp_direct_path_getNbIWork`
* :cpp:func:`mlcp_direct_path_init`
* :cpp:func:`mlcp_direct_path_reset`
* :cpp:func:`mlcp_direct_reset`
* :cpp:func:`mlcp_direct_simplex` : direct-simplex solver
* :cpp:func:`mlcp_direct_simplex_getNbDWork`
* :cpp:func:`mlcp_direct_simplex_getNbIWork`
* :cpp:func:`mlcp_direct_simplex_init`
* :cpp:func:`mlcp_direct_simplex_reset`
* :cpp:func:`mlcp_driver` : General interface to solver for MLCP problems.
* :cpp:func:`mlcp_driver_init` : General interface to initialize a solver.
* :cpp:func:`mlcp_driver_reset` : General interface to reset a solver.
* :cpp:func:`mlcp_enum` : enum solver
* :cpp:func:`mlcp_enum_alloc_working_memory`
* :cpp:func:`mlcp_enum_build_M`
* :cpp:func:`mlcp_enum_build_M_Block`
* :cpp:func:`mlcp_enum_build_indexInBlock`
* :cpp:func:`mlcp_enum_display_solution`
* :cpp:func:`mlcp_enum_display_solution_Block`
* :cpp:func:`mlcp_enum_fill_solution`
* :cpp:func:`mlcp_enum_fill_solution_Block`
* :cpp:func:`mlcp_enum_free_working_memory`
* :cpp:func:`mlcp_enum_getNbDWork`
* :cpp:func:`mlcp_enum_getNbIWork`
* :cpp:func:`mlcp_lcp_lemke`
* :cpp:func:`mlcp_lcp_lemke_default`
* :cpp:func:`mlcp_path` : path solver
* :cpp:func:`mlcp_path_enum`
* :cpp:func:`mlcp_path_enum_getNbDWork`
* :cpp:func:`mlcp_path_enum_getNbIWork`
* :cpp:func:`mlcp_path_enum_init`
* :cpp:func:`mlcp_path_enum_reset`
* :cpp:func:`mlcp_pgs` : mlcp_pgs (Projected Gauss-Seidel) is a basic Projected Gauss-Seidel solver for MLCP.
* :cpp:func:`mlcp_pgs_SBM` : generic interface used to call any MLCP solver applied on a Sparse-Block structured matrix M, with a Gauss-Seidel process to solve the global problem (formulation/solving of local problems for each row of blocks)
* :cpp:func:`mlcp_psor` : mlcp_psor (projected successive overrelaxation method) is a solver for MLCP.
* :cpp:func:`mlcp_rpgs` : mlcp_rpgs (Projected Gauss-Seidel) is a basic Projected Gauss-Seidel solver for MLCP.
* :cpp:func:`mlcp_rpsor` : mlcp_rpsor (regularized projected successive overrelaxation method) is a solver for MLCP.
* :cpp:func:`mlcp_simplex` : simplex solver
* :cpp:func:`mlcp_simplex_init`
* :cpp:func:`mlcp_simplex_reset`
* :cpp:func:`mlcp_to_lcp`
* :cpp:func:`mm3x3` : matrix matrix multiplication : c = a * b
* :cpp:func:`mm5x5` : matrix matrix multiplication : c = a * b
* :cpp:func:`mm5x5_acc_for_loop`
* :cpp:func:`mm5x5_for_loop` : matrix matrix multiplication : c = a * b
* :cpp:func:`mm5x5_sub_for_loop`
* :cpp:func:`mmm3x3` : sub a matrix matrix multiplication : c -= a*b
* :cpp:func:`mmp3x3` : add a matrix matrix multiplication : c += a*b
* :cpp:func:`mmt5x5_for_loop`
* :cpp:func:`mtv3x3` : transpose(matrix) vector multiplication
* :cpp:func:`mtvm3x3` : transpose(matrix) vector multiplication
* :cpp:func:`mv3x3` : matrix vector multiplication
* :cpp:func:`mvm3x3` : minux the result a matrix vector multiplication
* :cpp:func:`mvp2x2` : add a matrix vector multiplication
* :cpp:func:`mvp3x3` : add a matrix vector multiplication
* :cpp:func:`mvp5x5`
* :cpp:func:`mvp5x5T_for_loop`
* :cpp:func:`mvp5x5_add_for_loop`
* :cpp:func:`mvp5x5_for_loop`
* :cpp:func:`mvp_alpha3x3` : add a matrix vector multiplication scaled by alpha
* :cpp:func:`nbNonNulElems`
* :cpp:func:`ncp_FB` : Compute F_FB : $ {F_FB}_i = sqrt(z_i^2 + F_i^2) - (z_i + F_i) $.
* :cpp:func:`ncp_compute_error` : This function compute the complementarity error of the NCP $ 0 leq z perp F(z) geq 0 $.
* :cpp:func:`ncp_driver` : General interface to solver for NCP problems.
* :cpp:func:`ncp_newton_FBLSA` : NCP Solver using the FB merit function and a Newton-based method with line-search.
* :cpp:func:`ncp_newton_minFBLSA` : NCP Solver using the min merit function (+ the FB as backup) and a Newton-based method with line-search.
* :cpp:func:`ncp_path` : NCP Solver using the PATH solver.
* :cpp:func:`ncp_pathsearch` : NCP Solver using a path search algorithm, following the work of D.
* :cpp:func:`ncp_pathsearch_compute_x_from_z` : compute x from z for an NCP
* :cpp:func:`newAVI` : Create an empty AVI struct.
* :cpp:func:`newLCP` : Create new LCP and clear its fields.
* :cpp:func:`newNCP` : create an empty NCP problem
* :cpp:func:`newVI` : new VariationalInequality problem
* :cpp:func:`newton_LSA` : Newton algorithm for finding the zero of a function with a line search.
* :cpp:func:`newton_LSA_free_solverOptions` : clear the solver-specific data
* :cpp:func:`nonSmoothDirectNewton` : Newton solver without line Search.
* :cpp:func:`nonSmoothNewton` : Newton solver with line Search.
* :cpp:func:`nonSmoothNewtonNeigh`
* :cpp:func:`nonSmoothNewtonNeighInitMemory`
* :cpp:func:`nonSmoothNewtonNeigh_getNbDWork`
* :cpp:func:`nonSmoothNewtonNeigh_getNbIWork`
* :cpp:func:`nonsmoothEqnAlartCurnierFun`
* :cpp:func:`norm2VecDiff`
* :cpp:func:`norm2_5_for_loop`
* :cpp:func:`norm5_for_loop`
* :cpp:func:`normalize5_for_loop`
* :cpp:func:`ns_problem_id_to_name` : returns nonsmooth problem formulation name, from its id number.
* :cpp:func:`nsgs_adapt_tolerance` : Adapt working tolerance based on incremental and full error.
* :cpp:func:`nsgs_check_convergence_with_full_error` : Check convergence when incremental error has converged.
* :cpp:func:`nsgs_check_freezing_reset` : Check if too many blocks are frozen and reset if necessary.
* :cpp:func:`nsgs_check_full_error_convergence` : Compute full error and check convergence with user tolerance.
* :cpp:func:`nsgs_count_frozen_percent` : Count frozen blocks and return percentage.
* :cpp:func:`nsgs_default_should_freeze` : Default criteria for freezing a block (matches fc3d_nsgs)
* :cpp:func:`nsgs_determine_convergence` : Determine convergence based on error and tolerance.
* :cpp:func:`nsgs_driver` : Generic NSGS driver.
* :cpp:func:`nsgs_early_tolerance_adapt` : Early tolerance adaptation at iteration 10.
* :cpp:func:`nsgs_fc2d_local_ops`
* :cpp:func:`nsgs_fc3d_local_ops`
* :cpp:func:`nsgs_generic_extract_diagonal_blocks` : Extract diagonal blocks from matrix for efficient access.
* :cpp:func:`nsgs_generic_free_diagonal_blocks` : Free extracted diagonal blocks and restore original matrix1 pointer.
* :cpp:func:`nsgs_generic_update_local_problem` : Generic local problem update function.
* :cpp:func:`nsgs_generic_update_local_problem_callback` : Wrapper for generic local problem update with callback signature.
* :cpp:func:`nsgs_get_time`
* :cpp:func:`nsgs_local_problem_create` : Create local problem handle.
* :cpp:func:`nsgs_local_problem_free` : Free local problem.
* :cpp:func:`nsgs_local_problem_get_dimension` : Get problem dimension.
* :cpp:func:`nsgs_local_problem_get_type` : Get problem type.
* :cpp:func:`nsgs_local_problem_set_solver` : Set local solver by name.
* :cpp:func:`nsgs_local_problem_solve` : Solve local problem using registered solver.
* :cpp:func:`nsgs_local_problem_update` : Update local problem with current global state.
* :cpp:func:`nsgs_plasticity_2d_local_ops`
* :cpp:func:`nsgs_print_iteration_stats` : Print iteration statistics (verbose output)
* :cpp:func:`nsgs_rfc3d_local_ops`
* :cpp:func:`nsgs_shuffle_blocks` : Shuffle blocks array.
* :cpp:func:`nsgs_solve` : Generic NSGS solver - SINGLE LOOP VERSION (Optimized)
* :cpp:func:`nsgs_solve_4stage` : Generic NSGS solver - 4 STAGE VERSION (Original Design)
* :cpp:func:`nsgs_solve_instrumented` : Instrumented NSGS solver - SINGLE LOOP VERSION.
* :cpp:func:`nsgs_timers_print`
* :cpp:func:`nsgs_timers_reset`
* :cpp:func:`nsgs_update_freeze_counter` : Update freeze counters for a block.
* :cpp:func:`numericsSparseMatrix` : Creation, if needed, of sparse matrix storage.
* :cpp:func:`numerics_error` : msg output and return error code
* :cpp:func:`numerics_error_log` : msg output no return code
* :cpp:func:`numerics_error_nonfatal` : log error message without exit
* :cpp:func:`numerics_error_string`
* :cpp:func:`numerics_log_error`
* :cpp:func:`numerics_log_info`
* :cpp:func:`numerics_log_warning`
* :cpp:func:`numerics_printf` : log message (if verbosity is on)
* :cpp:func:`numerics_printf_verbose` : log message if verbose is non null
* :cpp:func:`numerics_set_verbose`
* :cpp:func:`numerics_warning` : log warning
* :cpp:func:`open_library` : open a library and return an handle (casted as void)
* orthoBaseFromVector()
* orthoBaseFromVector_old() : orthoBaseFromVector : From a vector A, build a matrix (A,A1,A2) such that it is an orthonormal.
* pathsearch_set_default() : set some default value for the solver option when the path search algorithm is used
* phi_FB() : Fischer Burmeister function, $ phi(z,F(z)) $.
* phi_Mixed_FB() : Mixed Fischer Burmeister function,.
* phi_Qi() : Evaluates the C function for a box-constrained VI.
* pinv() : Compute the pseudo-inverse of dense matrix with column major storage.
* pivot_init_lemke() : find the first leaving variable for Lemke’s algorithm
* pivot_init_pathsearch() : find the first leaving variable for the pathsearch algorithm
* pivot_selection_bard()
* pivot_selection_least_index()
* pivot_selection_lemke() : find the leaving variable for Lemke’s algorithm
* pivot_selection_lemke2() : find the leaving variable for Lemke’s algorithm
* pivot_selection_lemke3() : find the leaving variable for Lemke’s algorithm
* pivot_selection_pathsearch() : find the leaving variable in a path search procedure.
* plasticity2DProblem_free()
* plasticity2DProblem_new()
* plasticity2DProblem_new_with_data()
* plasticity2D_copy()
* plasticity2D_display()
* plasticity2D_newFromFile()
* plasticity2D_new_from_filename()
* plasticity2D_printInFile()
* plasticity2D_printInFilename()
* plasticity2D_rescaling()
* plasticityProblem_free() : free a PlasticityProblem
* plasticityProblem_new()
* plasticityProblem_new_with_data() : new PlasticityProblem from minimal set of data (Drucker-Prager model)
* plasticity_2d_checkTrivialCase() : Check for trivial solution in the Mohr Coulomb 2D problem.
* plasticity_2d_computeAlartCurnierSTD()
* plasticity_2d_computeNaturalMap()
* plasticity_2d_compute_error() : Error computation (using the normal map residual) for Mohr Coulomb 2D plasticity.
* plasticity_2d_compute_rho_spectral_norm()
* plasticity_2d_compute_rho_split_spectral_norm()
* plasticity_2d_compute_rho_split_spectral_norm_cond()
* plasticity_2d_driver() : General interface to solvers for Mohr Coulomb 2D problem.
* plasticity_2d_driver() : Driver for Mohr Coulomb 2D problem.
* plasticity_2d_local_problem_allocate()
* plasticity_2d_local_problem_compute_q()
* plasticity_2d_local_problem_fill_M()
* plasticity_2d_local_problem_free()
* plasticity_2d_nsgs() : Non-Smooth Gauss Seidel solver for Mohr Coulomb 2D problem.
* plasticity_2d_nsgs_generic() : Non-Smooth Gauss Seidel solver for Mohr Coulomb 2D problem using generic NSGS framework.
* plasticity_2d_onecone_nonsmooth_Newton_AC_update() : Update Mohr Coulomb 2D problem: formalize local problem for one contact.
* plasticity_2d_onecone_nonsmooth_Newton_solvers_computeError() : compute error for Mohr Coulomb 2D problem with Newton
* plasticity_2d_onecone_nonsmooth_Newton_solvers_free() : free memory for Mohr Coulomb 2D Newton solver
* plasticity_2d_onecone_nonsmooth_Newton_solvers_initialize() : initialize Mohr Coulomb 2D Newton solver
* plasticity_2d_onecone_nonsmooth_Newton_solvers_solve() : solve Mohr Coulomb 2D problem with Newton
* plasticity_2d_onecone_nonsmooth_Newton_solvers_solve_damped()
* plasticity_2d_onecone_nonsmooth_Newton_solvers_solve_direct()
* plasticity_2d_onecone_nonsmooth_Newton_solvers_solve_hybrid()
* plasticity_2d_projectionOnConeWithLocalIteration_free()
* plasticity_2d_projectionOnConeWithLocalIteration_initialize()
* plasticity_2d_projectionOnConeWithLocalIteration_solve() : solve Mohr Coulomb 2D problem with projection on the Cone with local iteration up to convergence of the local problem
* plasticity_2d_projectionOnCone_solve() : solve Mohr Coulomb 2D problem with projection on the Cone
* plasticity_2d_projectionOnVonMises() : Project a trial stress onto the Von Mises yield surface.
* plasticity_2d_projectionOnVonMises_solve() : Solve a local problem using Von Mises radial return projection.
* plasticity_2d_projection_free() : free memory for Mohr Coulomb 2D projection solver
* plasticity_2d_projection_initialize() : Initialize Mohr Coulomb 2D projection.
* plasticity_2d_projection_initialize_with_regularization() : Initialize Mohr Coulomb 2D projection with regularization.
* plasticity_2d_projection_update() : Update Mohr Coulomb 2D projection solver: formalize local problem for one contact.
* plasticity_2d_unitary_compute_and_add_error() : Error computation (using the normal map residual) for one Mohr Coulomb 2D plasticity.
* plasticity_2d_vonMises_check_yield() : Check if stress is inside the Von Mises yield surface.
* plasticity_2d_vonMises_equivalent_stress() : Compute the Von Mises equivalent stress (q).
* plasticity_2d_vonmises_set_default() : Set default solver options for Von Mises projection.
* plasticity_DruckerPrager_model_free() : Free a Drucker-Prager model.
* plasticity_DruckerPrager_model_new() : Create a new Drucker-Prager model with given parameters.
* plasticity_VonMises_model_free() : Free a Von Mises model.
* plasticity_VonMises_model_new() : Create a new Von Mises model with given parameters.
* plasticity_copy() : Creates a new Plasticity problem and initialize its content by copying an existing problem.
* plasticity_display() : display a PlasticityProblem
* plasticity_model_type_to_string() : Get a string representation of the model type.
* plasticity_newFromFile() : read a PlasticityProblem from a file descriptor
* plasticity_new_from_filename() : read a PlasticityProblem from a file (.dat or hdf5 if fclib is on) from its filename
* plasticity_printInFile() : print a PlasticityProblem in a file (numerics .dat format)
* plasticity_printInFilename() : print a PlasticityProblem in a file (numerics dat format)
* plasticity_rescaling() : Rescales M matrix and q vector of a given PlasticityProblem.
* pos_part() : Positive part values of the components of a vector.
* primalResidual()
* primalResidual_s() : Returns the primal constraint vector for global fricprob ( velocity - H @ globalVelocity - w )
* primalResidual_s_type()
* primalResidual_type()
* print3() : print a vector
* print3x3() : print a matrix
* printBlockVec()
* printLCP()
* print_connectedcomponent()
* print_connectedcomponents()
* print_graph()
* project_on_box() : This function computes the projection on the boxr $ [lb,ub]$ of the vector $z$.
* project_on_set() : project the point x on a set
* projectionError()
* projectionError_based_reaction_norm_infinity_conic()
* projectionError_dual_norm_infinity_conic()
* projectionError_norm_infinity_conic()
* projectionError_relative_norm_infinity_conic()
* projectionOn2DRollingCone() : projectionOnRollingCone Projection on the second Order Cone in $ R^3 $, $ K {
r, r_1 geq 0, 0 sqrt(r_2^2+r_3^2) geq mu r_1, 0 sqrt(r_3^2+r_4^2) geq mu_r r_1 } $
* projectionOnCone() : Projection on the second Order Cone in $ R^3 $.
* projectionOnCylinder() : projectionOnCylinder Projection onto the positive Cylinder of radius R $ { r, r_1 geq
0, 0 sqrt(r_2^2+r_3^2) geq R } $
* projectionOnDisk() : projectionOnDisk Projection onto the positive Disk of radius R $ { r, 0
sqrt(r_1^2+r_2^2) geq R } $
* projectionOnDualCone() : Projection on the second Order Cone in $ R^3 $.
* projectionOnDualRollingCone() : projectionOnDualRollingCone Projection on the second Order Cone in $ R^3 $, $ K
{ r, r_1 geq 0, 0 mu sqrt(u_2^2+u_3^2) geq u_1, 0 sqrt(r_3^2+r_4^2) geq mu_r r_1 }
$
* projectionOnGeneralCylinder() : projectionOnGeneralCylinder Projection onto the positive Cylinder of radius R $ { r,
r_1 geq 0, 0 sqrt(r_2^2+r_3^2) geq R } $
* projectionOnGeneralDisk() : projectionOnGeneralDisk Projection onto the positive Disk of radius R $ { r, 0
sqrt(r_1^2+r_1^2) geq R } $
* projectionOnRollingCone() : projectionOnRollingCone Projection on the second Order Cone in $ R^3 $, $ K
{ r, r_1 geq 0, 0 sqrt(r_2^2+r_3^2) geq mu r_1, 0 sqrt(r_3^2+r_4^2) geq mu_r r_1 }
$
* projectionOnSecondOrderCone() : Projection on the second Order Cone in $ R^n $.
* ql0001() : solution of quadratic programming problems ql0001 solves the quadratic programming problem
* read_fricprob_block()
* relGap()
* relayProblem_new()
* relay_avi_caoferris() : Solve a Relay problem using the AVI framework and the solver by Cao and Ferris.
* relay_avi_caoferris_test() : Solve a Relay problem using the AVI framework and the solver by Cao and Ferris.
* relay_compute_error() : This function computes the input vector $ w = Mz + q $ and checks the validity of the vector z as a solution of the LCP : $
-(Mz + q) in N_{[lb,ub]}(z)
$ The criterion is based on $ error = |z- proj_{[lb,ub]}(z - rho * (M*z+q)) |, rho >0$ This error is divided by $ |q| $ and then compared to tol.
* relay_driver() : General interface to solver for relay problems.
* relay_enum() : relay_enum is enum solver for relay problems.
* relay_lexicolemke() : relay_lexicolemke is a Lemke solver for relay problems.
* relay_newFromFile() : read a RelayProblem from a file descriptor
* relay_new_from_filename() : read a RelayProblem from a file (.dat or hdf5 if fclib is on) from its filename
* relay_path() : relay_path is a resolution of the Relay with its inherent MCP formulation and using path.
* relay_pgs() : relay_pgs is a projected Gauss-Seidel solver for relay problems.
* relay_printInFile() : Saves relay struct into a file.
* relay_to_lcp() : This function transform a RelayProblem into a LinearComplementarityProblem.
* rollingFrictionContactProblem_compute_statistics()
* rollingFrictionContactProblem_free() : free a RollingFrictionContactProblem
* rollingFrictionContactProblem_new()
* rollingFrictionContactProblem_new_with_data() : new RollingFrictionContactProblem from minimal set of data
* rollingFrictionContact_display() : display a RollingFrictionContactProblem
* rollingFrictionContact_newFromFile() : read a RollingFrictionContactProblem from a file descriptor
* rollingFrictionContact_new_from_filename() : read a RollingFrictionContactProblem from a file (.dat or hdf5 if fclib is on) from its filename
* rollingFrictionContact_printInFile() : print a RollingFrictionContactProblem in a file (numerics .dat format)
* rollingFrictionContact_printInFilename() : print a RollingFrictionContactProblem in a file (numerics .dat format) from its filename
* rolling_friction_2d_checkTrivialCase() : Check for trivial solution in the friction-contact 3D problem.
* rolling_friction_2d_compute_error() : Error computation (using the normal map residual) for rolling friction-contact 2D problem.
* rolling_friction_2d_driver() : General interface to solvers for rolling friction-contact 2D problem.
* rolling_friction_2d_driver() : Driver for 2D rolling friction contact problem.
* rolling_friction_2d_local_problem_allocate()
* rolling_friction_2d_local_problem_compute_q()
* rolling_friction_2d_local_problem_fill_M()
* rolling_friction_2d_local_problem_free()
* rolling_friction_2d_nsgs() : Non-Smooth Gauss Seidel solver for Rolling friction-contact 2D problem.
* rolling_friction_2d_nsgs_initialize_local_solver()
* rolling_friction_2d_projectionOnConeWithLocalIteration_free()
* rolling_friction_2d_projectionOnConeWithLocalIteration_initialize()
* rolling_friction_2d_projectionOnConeWithLocalIteration_setDefaultSolverOptions()
* rolling_friction_2d_projectionOnConeWithLocalIteration_solve() : solve friction-contact 3D problem with projection on the Cone with local iteration up to convergence of the local problem
* rolling_friction_2d_projectionOnCone_setDefaultSolverOptions()
* rolling_friction_2d_projectionOnCone_solve()
* rolling_friction_2d_projection_free()
* rolling_friction_2d_projection_initialize()
* rolling_friction_2d_projection_update() : Update friction-contact 3D projection solver: formalize local problem for one contact.
* rolling_friction_2d_set_internalsolver_tolerance()
* rolling_friction_2d_unitary_compute_and_add_error() : Error computation (using the normal map residual) for one rolling friction-contact 2D problem.
* rolling_friction_3D_computeNaturalMap()
* rolling_friction_3d_admm()
* rolling_friction_3d_admm_free()
* rolling_friction_3d_admm_init()
* rolling_friction_3d_admm_set_default()
* rolling_friction_3d_checkTrivialCase() : Check for trivial solution in the rolling friction-contact 3D problem.
* rolling_friction_3d_compute_error() : Error computation (using the normal map residual) for friction-contact 3D problem.
* rolling_friction_3d_driver() : General interface to solvers for rolling friction-contact 3D problem.
* rolling_friction_3d_driver() : Driver for 3D rolling friction contact problem.
* rolling_friction_3d_local_problem_allocate()
* rolling_friction_3d_local_problem_compute_q()
* rolling_friction_3d_local_problem_fill_M()
* rolling_friction_3d_local_problem_free()
* rolling_friction_3d_nsgs() : Non-Smooth Gauss Seidel solver for Rolling friction-contact 3D problem.
* rolling_friction_3d_nsgs_initialize_local_solver()
* rolling_friction_3d_onecone_nonsmooth_Newton_solvers_computeError() : compute error for rolling friction 3D problem with Newton
* rolling_friction_3d_onecone_nonsmooth_Newton_solvers_free() : free memory for rolling friction 3D Newton solver
* rolling_friction_3d_onecone_nonsmooth_Newton_solvers_initialize() : initialize rolling friction 3D Newton solver
* rolling_friction_3d_onecone_nonsmooth_Newton_solvers_solve() : solve rolling friction 3D problem with Newton
* rolling_friction_3d_onecone_nonsmooth_Newton_solvers_solve_damped()
* rolling_friction_3d_onecone_nonsmooth_Newton_solvers_solve_direct()
* rolling_friction_3d_onecone_nonsmooth_Newton_solvers_solve_hybrid()
* rolling_friction_3d_onecone_nonsmooth_Newton_update() : Update rolling friction 3D problem: formalize local problem for one contact.
* rolling_friction_3d_onecone_nsn_gp_set_default() : Set default options for onecone NSN GP solver.
* rolling_friction_3d_onecone_nsn_set_default() : Set default options for onecone NSN solver.
* rolling_friction_3d_projectionOnConeWithLocalIteration_free()
* rolling_friction_3d_projectionOnConeWithLocalIteration_initialize()
* rolling_friction_3d_projectionOnConeWithLocalIteration_setDefaultSolverOptions()
* rolling_friction_3d_projectionOnConeWithLocalIteration_solve() : solve friction-contact 3D problem with projection on the Cone with local iteration up to convergence of the local problem
* rolling_friction_3d_projectionOnCone_setDefaultSolverOptions()
* rolling_friction_3d_projectionOnCone_solve()
* rolling_friction_3d_projection_free()
* rolling_friction_3d_projection_initialize()
* rolling_friction_3d_projection_update() : Update friction-contact 3D projection solver: formalize local problem for one contact.
* rolling_friction_3d_set_internalsolver_tolerance()
* rolling_friction_3d_unitary_compute_and_add_error() : Error computation (using the normal map residual) for one friction-contact 3D problem.
* scal3() : scalar multiplication of a vector3
* scal3x3() : scalar multiplication of a matrix3x3
* scal5() : scalar multiplication of a 5D vector
* scal5_for_loop() : scalar multiplication of a 5D vector
* scal5x5() : scalar multiplication of a matrix5x5
* scal5x5_for_loop() : scalar multiplication of a matrix5x5
* search_Armijo_params_init() : Initialize parameters to a default value.
* search_Armijo_standalone() : Armijo (non-monotone) search, standalone version: it does not compute the reference value, it is expected as argument (theta)
* search_Goldstein_params_init() : Initialize parameters to a default value.
* search_Goldstein_standalone() : Goldstein (non-monotone) search, standalone version: it does not compute the reference value, it is expected as argument (theta)
* secondOrderConeLinearComplementarityProblem_display() : display a SecondOrderConeLinearComplementarityProblem
* secondOrderConeLinearComplementarityProblem_new() : new SecondOrderConeLinearComplementarityProblem from minimal set of data
* secondOrderConeLinearComplementarityProblem_newFromFile() : read a SecondOrderConeLinearComplementarityProblem in a file (numerics .dat format)
* secondOrderConeLinearComplementarityProblem_newFromFilename() : read a SecondOrderConeLinearComplementarityProblem in a file (numerics .dat format) from its filename
* secondOrderConeLinearComplementarityProblem_printInFile() : print a SecondOrderConeLinearComplementarityProblem in a file (numerics .dat format)
* secondOrderConeLinearComplementarityProblem_printInFilename() : print a SecondOrderConeLinearComplementarityProblem in a file (numerics .dat format) from its filename
* setErrorArray()
* set_lsa_params_data() : Set the parameters and data for newton_LSA.
* set_nonmonotone_type() : Set the update type for the non-monotone line search.
* set_set_id() : set set id
* siconos_find_vertex()
* size_t_shuffle() : shuffle a size_t array
* size_t_swap() : swap two indices
* skew5x5_for_loop()
* sn_fatal_error()
* sn_fatal_error_msg()
* sn_get_internal_jmp_buf()
* sn_get_jmp_buf()
* sn_release_internal_jmp_buf() : Release the internal jmp buffer: this indicates that it is no longer in use and that there should be no longjmp() call to this part of the stack.
* sn_release_jmp_buf() : Release the internal jmp buffer: this indicates that it is no longer in use and that there should be no longjmp() call to this part of the stack.
* soclcp_VI_ExtraGradient() : Extra Gradient solver (VI_EG) for SOCLCP problem based on a VI reformulation.
* soclcp_VI_FixedPointProjection()
* soclcp_checkTrivialCase() : Check for trivial solution in the SOCLCP problem.
* soclcp_compute_error() : Error computation for SOCLCP problem.
* soclcp_compute_error_v() : Error computation for SOCLCP problem.
* soclcp_driver() : General interface to solvers for SOCLCP problem.
* soclcp_nsgs() : Non-Smooth Gauss Seidel solver for SOCLCP problem.
* soclcp_nsgs_computeqLocal()
* soclcp_nsgs_fillMLocal()
* soclcp_projectionOnConeWithLocalIteration_free()
* soclcp_projectionOnConeWithLocalIteration_initialize()
* soclcp_projectionOnConeWithLocalIteration_solve() : solve SOCLCP problem with projection on the Cone with local iteration up to convergence of the local problem
* soclcp_projectionOnCone_solve() : solve SOCLCP problem with projection on the Cone
* soclcp_projectionOnCone_v_solve() : solve SOCLCP problem with projection on the Cone
* soclcp_projectionOnCylinder_solve() : solve SOCLCP problem with projection on the (Tresca Cylinder)
* soclcp_projection_free() : free memory for friction contact 3D projection solver
* soclcp_projection_initialize() : Initialize SOCLCP projection.
* soclcp_projection_initialize_with_regularization() : Initialize SOCLCP projection with regularization.
* soclcp_projection_setDefaultSolverOptions()
* soclcp_projection_update() : Update SOCLCP Projection solver: formalize local problem for one contact.
* soclcp_projection_update_with_regularization() : Update SOCLCP projection solver: formalize local problem for one contact.
* soclcp_projection_with_regularization_free() : free memory for friction contact 3D projection solver
* soclcp_unitary_compute_and_add_error() : Error computation for one SOCLCP problem.
* solv3x3() : system resolution : x <- sol(Ax = b)
* solve_3x3_gepp() : solve Ax = b by partial pivoting Gaussian elimination.
* solve_5x5_gepp_for_loop()
* solve_nxn_gepp()
* solver_options_copy() : Copy an existing set of options, to create a new one.
* solver_options_create() : Create solver options using registration system.
* solver_options_create_and_init() : Create options and apply solver initialization.
* solver_options_create_by_name() : Create solver options by name.
* solver_options_delete() : Clear and free all pointer members of the structure, then release memory.
* solver_options_get_internal_solver() : return the internal solver options set
* solver_options_id_to_name() : return the name of a solver given its id
* solver_options_name_to_id() : return the id of a solver based on its name
* solver_options_print() : screen display of solver parameters
* solver_options_reset_to_defaults() : Reset options to registered defaults.
* solver_options_set_internal_solver() : set internal solver
* solver_options_update_internal() : Change one of the internal solver of a previously defined SolverOptions set.
* solver_registry_count()
* solver_registry_exists()
* solver_registry_get_all()
* solver_registry_lookup()
* solver_registry_lookup_by_name()
* solver_registry_print()
* solver_registry_register()
* sortTriplets()
* sortsn_()
* splittedFrictionContactProblem_free() : free a SplittedFrictionContactProblem
* sqrt()
* sub3() : sub a vector[3]
* sub3x3() : sub a 3x3 matrix or a vector[9]
* sub5x5() : sub a 5x5 matrix or a vector[25]
* sub5x5_for_loop() : sub a 5x5 matrix or a vector[25]
* subdifferentialProjectionOnCone() : Compute an element of the the subdifferential of the projection on the second Order Cone in $ R^3 $.
* subdifferentialProjectionOnRollingCone() : subdifferentialProjectionOnRollingCone.
* swap_row()
* sym5x5_for_loop()
* to_blasint() : convert to int format used in blas
* to_csint() : convert to int format used in cs.h
* to_int()
* to_size_t()
* tolerance_manager_adapt_working() : Adapt working tolerance based on error ratio.
* tolerance_manager_check_convergence() : Handle convergence check with full error computation.
* tolerance_manager_get_min() : Get minimum allowed tolerance.
* tolerance_manager_init() : Initialize tolerance manager.
* tolerance_manager_is_incr_very_small() : Check if incremental error is “very small”.
* tolerance_manager_print() : Print tolerance manager state (for debugging)
* tolerance_manager_restore_local() : Restore original local solver tolerance.
* tolerance_manager_tighten_local() : Tighten local solver tolerance.
* trace5x5_for_loop()
* transpose5x5_for_loop()
* uint_shuffle()
* uint_swap()
* update_non_monotone_ref() : update the reference value for the non-monotone line search
* variationalInequality_ExtraGradient() : Extra Gradient solver forvariational inequality problem based on the De Saxce Formulation.
* variationalInequality_FixedPointProjection() : Fixed Point Projection solver for variational inequality problem based on the De Saxce Formulation.
* variationalInequality_HyperplaneProjection() : Hyperplane Projection solver for variational inequality problem based on the De Saxce Formulation.
* variationalInequality_box_newton_QiLSA() : VI Solver based on a merit function minimization with a line-search type algorithm.
* variationalInequality_clear() : Clear VariationalInequality structure: set all pointeurs to NULL, double and int to 0.
* variationalInequality_computeError() : Error computation for a VI problem.
* variationalInequality_compute_error_box() : Error computation for a box VI problem, that is $ Pi_box(x-F(x)) - x$.
* variationalInequality_display() : display a VariationalInequalityProblem
* variationalInequality_driver() : General interface to solvers for friction-contact 3D problem.
* variationalInequality_new() : new VariationalInequality problem
* variationalInequality_newFromFile() : read a VariationalInequalityProblem in a file (numerics .dat format)
* variationalInequality_printInFile() : print a VariationalInequalityProblem in a file (numerics .dat format)
* vi_box_AVI_LSA() : VI Solver based on the Newton-Josephy method globalized with a line-search type algorithm using the Qi merit function.
* vi_box_path() : Solver for box constrainted VI using PATH.
* vi_get_set() : Get the set from the VariationalInequality.
* xdoty_type() : Returns the scalar product of 2 vectors depending on: type = STANDARD : <x,y>_2 = sum_i ( xi * yi ) type = NORM_INF : <x,y>_inf = max_i ( xi * yi ) type = NORM_2_INF: <x,y>_2_inf = max_i norm_2 ( xi o yi )
* zero3x3() : set to zero a matrix3x3
* zero5()
* zero5_for_loop() : set to zero a 5D vector
* zero5x5() : set to zero a matrix5x5
* zero5x5_for_loop() : set to zero a matrix5x5
* zero_nm_data() : Reset the storage for the non-monotone search.
Files¶
AVI_Solvers.h : Subroutines for the resolution of Affine Variational Inequalities.
AVI_cst.h : Constants to define the list of available AVI solvers. See the solver list aviSolversList.
ArmijoSearch.h : Armijo type search (linesearch and arcsearch), possibly non-monotone.
ConvexQP.h : Definition of a structure to handle Convex Quadratic Problem.
ConvexQP_Solvers.h : Subroutines for the resolution of Variational Inequalites (VI) problems.
ConvexQP_as_VI.h : Definition of a structure to handle with ConvexQP problems.
ConvexQP_computeError.h : functions related to error computation for friction-contact
ConvexQP_cst.h : Enum and constants relative to QP solvers.
FischerBurmeister.h : Fischer Burmeister functions.
FrictionContactProblem_as_ConvexQP.h : Definition of a structure to handle with friction-contact (2D or 3D) problems.
FrictionContactProblem_as_VI.h : Definition of a structure to handle with friction-contact (2D or 3D) problems.
FrictionContact_options.h : Solver options and constants for Friction Contact problems.
GAMSlink.h : data structures and function to work with GAMS
GMPReduced.h : Functions to solve GMP.
GenericMechanicalProblem.h : struct for GenericMechanicalProblem
GenericMechanical_Solvers.h : Subroutines for the resolution of contact problems.
GenericMechanical_cst.h : Constants to define the list of available GenericMechanical solvers. See the solver list genericSolversList.
GlobalFrictionContactProblem_as_ConvexQP.h : Definition of a structure to handle with friction-contact (2D or 3D) problems.
GlobalFrictionContactProblem_as_VI.h : Definition of a structure to handle with global friction-contact (2D or 3D) problems.
GoldsteinSearch.h : Goldstein type search (linesearch and arcsearch), possibly non-monotone.
JordanAlgebra.h : Functions of the Jordan algebra.
LinearComplementarityProblem_as_ConvexQP.h : Definition of a structure to handle with LCP problems.
MCP_cst.h : Constants to define the list of available MCP solvers.
MixedLinearComplementarityProblem.h : Structure used to define a Mixed Linear Complementarity Problem.
NCP_PathSearch.h : Functions for the pathsearch for NCP.
NCP_Solvers.h : Functions related to NCP formulation and solvers.
NCP_cst.h : Constants to define the list of available NCP solvers. See the solver list ncpSolversList.
NMS.h : Non-Monotone Stabilisation Scheme for path search.
NM_conversions.h : Conversion related functions for the various matrix storages in Numerics.
NM_types.h : enum related to NumericsMatrix.
NonSmoothGaussSeidel_options.h : Options and constants for Non-Smooth Gauss-Seidel (NSGS) solvers.
NumericsMatrix.h : Structure definition and functions related to matrix storage in Numerics.
NumericsMatrix_internal.h : non-public functions and data structures
NumericsVector.h : Structure definition and functions related to vector storage in Numerics.
NumericsVerbose.h : verbosity related functions (public)
PATHVI_helpers.h : helpers for using the PATHVI solver
PathAlgebra.h : functions and tools used to convert matrices between Numerics and Path format
PathSearch.h : Path search related functions and data.
Plasticity2DProblem.h : Backward compatibility header - redirects to PlasticityProblem.h.
Qi_merit.h : functions related to the Qi C-functions used as a merit function for box VI problems
RelayProblem.h : Structure used to define a Relay (dual or primal) Problem.
Relay_options.h : Relay constants.
RollingFrictionContact_options.h : Solver options and constants for Rolling Friction Contact problems.
SOCLCP_Solvers.h : Subroutines for the resolution of Second Order Cone Linear Complementarity Problem (SOCLCP).
SecondOrderConeLinearComplementarityProblem_as_VI.h : Definition of a structure to handle with SOCLCP problems.
SiconosSets.h : Sets structures used in Siconos:-.
SimpleLCP.h : Interface for Path(Ferris) Solver.
SolverOptions_helpers.h : Helper functions for setting common solver options.
VI_Newton.h : Functions for solving VI using Newton method.
VI_cst.h : Enum and constants relative to Variational Inequality problems and solvers.
VariationalInequality.h : Definition of a structure to handle Variational Inequalities (VI).
VariationalInequality_computeError.h : functions related to error computation for friction-contact problems
avi_caoferris.h : Subroutines for the solver by Cao and Ferris.
cond.h : condition number computation
error_computation.h : Standardized error computation for iterative solvers.
fc2d_compute_error.h : functions related to error computation for friction-contact problems
fc3d_2NCP_Glocker.h : interface to functions used to write the Friction-Contact 3D problem as a NCP, using Glocker formulation.
fc3d_GlockerFischerBurmeister_functions.h : Typedef and functions declarations related GlockerFischerBurmeister.
fc3d_NCPGlockerFixedPoint.h : Typedef and functions declarations related to NCP-Fixed Point solver for 3 dimension frictional contact problems. Each solver must have 4 functions in its interface:
fc3d_Path.h : Typedef and functions declarations related to NCP-Path solver for 3 dimension frictional contact problems.
fc3d_compute_error.h : functions related to error computation for friction-contact problems
fc3d_nonsmooth_Newton_AlartCurnier.h : Typedef and functions declarations related to Alart-Curnier formulation for 3 dimension frictional contact problems in Local Coordinates.
fc3d_nonsmooth_Newton_solvers.h : Non Smooth Newton Solvers for FC3D […].
fc3d_onecontact_nonsmooth_Newton_solvers.h : Typedef and functions declarations related to Newton solver for 3 dimension frictional contact problems.
fc3d_projection.h : Typedef and functions declarations related to projection solver for 3 dimension frictional contact problems.
fc3d_short_names.h : Short macro aliases for long FrictionContact enum names.
fc3d_unitary_enumerative.h : Typedef and functions declarations related to the quartic solver for 3 dimension frictional contact problems.
fclib_interface.h : interface to fclib
generic_driver_template.h : Template for creating registration-based drivers.
gfc3d_Gams.h : Various structure to work with GAMS.
gfc3d_compute_error.h : functions related to error computation for friction-contact problems
global_rolling_friction_3d_Solvers.h : Subroutines for the resolution of contact problems with rolling friction (3-dimensional and 2-dimensional case).
global_rolling_friction_3d_compute_error.h : functions related to error computation for rolling friction-contact problems
hdf5_logger.h : Logger using an HDF5 output.
io_tools.h : utilities to deal with files reading/writing in numerics.
lcp_cst.h : Constants to define the list of available LCP solvers.
lcp_enum.h : functions for solving LCP using enumeration
lcp_newton_FB.h : functions to solve LCP using a Newton method on the nonsmooth equation reformulation
lcp_pivot.h : pivot related values
line_search.h : Basic structures for line-search (and arcsearch) methods.
lumod_wrapper.h : Wrapper around lumod.
mcp_newton_FBLSA.h : nonsmooth-based solver for MCP
min_merit.h : Functions for the min based merit function.
naming_conventions.h : Standardized naming conventions for numerics solvers.
ncp_newton_FBLSA.h : functions for solving NCP using a Newton method on the nonsmooth equation reformulation
nsgs_generic.h : Generic Nonsmooth Gauss-Seidel (NSGS) solver framework.
nsgs_generic_driver.h : Driver for using generic NSGS with different problem types.
nsgs_generic_instrumented.h : Instrumented version of nsgs_solve for performance profiling.
nsgs_local_problem.h : Unified Local Problem Interface for NSGS.
numerics_errors.h : Standardized error codes and error handling macros.
op3x3.h : linear algebra operations in 3D
op5x5.h : linear algebra operations in 5D (5x5 matrices and 5D vectors)
open_lib.h : function to open library and find functions in then (useful for plugin
pinv.h : peseudo-inverse computations
pivot-utils.h : some functions used in one or more solver, mainly related to Lemke’s algorithm
plasticity_2d_compute_error.h : functions related to error computation for Mohr Coulomb 2D plasticity
plasticity_2d_onecone_nonsmooth_Newton_solvers.h : Typedef and functions declarations related to Newton solver for Mohr Coulomb 2D problems.
plasticity_2d_projection.h : Typedef and functions declarations related to projection solver for Mohr Coulomb 2D.
plasticity_2d_vonmises_projection.h : Projection functions for Von Mises plasticity model.
projectionOnCone.h : function to project on cones
projectionOnCylinder.h : functions to project on a cylinder
projectionOnDisk.h : functions to project on a cylinder
quartic.h : quartic algorithm to find roots of quartic polynomials
rolling_friction_2d_projection.h : Typedef and functions declarations related to projection solver for 3 dimension frictional contact problems.
rolling_friction_3d_compute_error.h : functions related to error computation for friction-contact problems
rolling_friction_3d_onecone_nonsmooth_Newton_solvers.h : Typedef and functions declarations related to Newton solver for rolling friction 3D problems.
rolling_friction_3d_projection.h : Typedef and functions declarations related to projection solver for 3 dimension frictional contact problems.
rolling_friction_3d_short_names.h : Short macro aliases for long RollingFrictionContact enum names.
sanitizer.h : sanitizer helpers
siconos_debug.h : Some debug facilities.
sn_error_handling.h : error handling functions and data structures
sn_logger.h : Common data structures used by loggers in Siconos/Numerics.
soclcp_compute_error.h : functions related to error computation for SOCLCP
soclcp_projection.h : Typedef and functions declarations related to projection solver for SOCLCP.
solver_registry.h : Solver registration system for dynamic solver dispatch.
timers_interf.h : A common interface to different timers, see test/testop3x3.c for examples.
tlsdef.h : definition of thread local variable
tolerance_manager.h : Unified tolerance management for NSGS and related solvers.
vertex_extraction.h : interface to various LP solvers