# Diff of /trunk/base/generic/solver/slv_stdcalls.c

revision 817 by johnpye, Wed Jul 26 12:44:00 2006 UTC revision 818 by johnpye, Wed Aug 16 12:54:08 2006 UTC
# Line 73  enum mtx_reorder_method g_blockmethod = Line 73  enum mtx_reorder_method g_blockmethod =
73      Here we play some hefty Jacobian reordering games.      Here we play some hefty Jacobian reordering games.
74
75      What we want to happen eventually is as follows:      What we want to happen eventually is as follows:
76
77        - Get the free & incident pattern for include relations.        - Get the free & incident pattern for include relations.
78        - Output-assign the Jacobian.        - Output-assign the Jacobian.
79        - BLT permute the Jacobian. If underspecified, fake rows        - BLT permute the Jacobian. If underspecified, fake rows
80          to make things appear square.          to make things appear square.
81        - For all leading square blocks apply reordering (kirk, etc),        - For all leading square blocks apply reordering (kirk, etc),
82        - If trailing rectangular block, "apply clever kirkbased scheme not known."???        - If trailing rectangular block, "apply clever kirkbased scheme not known."???
83
84      At present, we aren't quite so clever. We:      At present, we aren't quite so clever. We:
85
86        - Get the free & incident pattern for include relations.        - Get the free & incident pattern for include relations.
87        - Output-assign the Jacobian.        - Output-assign the Jacobian.
88        - BLT permute the square output assigned region of the Jacobian.        - BLT permute the square output assigned region of the Jacobian.
# Line 90  enum mtx_reorder_method g_blockmethod = Line 90  enum mtx_reorder_method g_blockmethod =
90        - Collect the block list as part of the master data structure.        - Collect the block list as part of the master data structure.
91        - Set sindices for rels, vars as current rows/cols in matrix so        - Set sindices for rels, vars as current rows/cols in matrix so
92          that the jacobian is 'naturally' preordered for all solvers.          that the jacobian is 'naturally' preordered for all solvers.
93
94      Solvers are still free to reorder their own matrices any way they like.      Solvers are still free to reorder their own matrices any way they like.
95      It's probably a dumb idea, though.      It's probably a dumb idea, though.
96  */  */
# Line 132  int slv_std_make_incidence_mtx(slv_syste Line 132  int slv_std_make_incidence_mtx(slv_syste
132
133
134  /**  /**
135      Orders the solvers_var list of the system to match the permutation      Orders the solvers_var list of the system to match the permutation
136      on the given mtx. Does not change the data in mtx.      on the given mtx. Does not change the data in mtx.
137
138      @return 0 on success, 1 on out-of-memory      @return 0 on success, 1 on out-of-memory
139
# Line 170  static int reindex_vars_from_mtx(slv_sys Line 170  static int reindex_vars_from_mtx(slv_sys
170    return 0;    return 0;
171  }  }
172  /**  /**
173      Orders the solvers_rel list of the system to match the permutation      Orders the solvers_rel list of the system to match the permutation
174      on the given mtx. Does not change the data in mtx.      on the given mtx. Does not change the data in mtx.
175
176      @return 0 on success, 1 on out-of-memory      @return 0 on success, 1 on out-of-memory
177
# Line 1290  static const struct StaticSolverRegistra Line 1290  static const struct StaticSolverRegistra
1290      ,{HAVE_LRSLV,"LRSLV",&slv9a_register}      ,{HAVE_LRSLV,"LRSLV",&slv9a_register}
1291      ,{0,NULL,NULL}      ,{0,NULL,NULL}
1292  };  };
1293
1294  int SlvRegisterStandardClients(void){  int SlvRegisterStandardClients(void){
1295      int nclients = 0;      int nclients = 0;
1296      int newclient=0;      int newclient=0;

Legend:
 Removed from v.817 changed lines Added in v.818