Neatbo.

Neutral-equation proof and nullspace

Read exact element matrices, rational bases and primitive coefficients for neutral formulas within a declared grammar and work budget.

Declare the species before solving

For H2 + O2 -> H2O, the element rows are H and O and the species columns preserve the declared order. Reactant counts are positive and product counts negative. The exact matrix nullspace provides coefficients that conserve each row.

Enter neutral case-sensitive ASCII symbols H–Mt and positive counts, with nested ()/[] and top-level hydrate . or ·. Dot means hydrate, not a decimal fraction. Initial coefficients, charge/electrons, isotopes, states, macros and later Ds–Og symbols are Unsupported.

Read rank and nullity before coefficients

The solver uses exact rational row reduction and preserves the full signed matrix, RREF, rational basis and primitive integer basis. It never applies absolute value to a mixed-sign vector or drops a declared species to manufacture a balance.

Conservation states
ConditionStateOutput meaning
Nullity0no-nonzero-balanceOnly the zero coefficient vector
Nullity1, all primitive coefficients positivebalancedUnique primitive positive integer ratio
Nullity1, zero or mixed signsno-strictly-positive-balanceEvery declared species cannot have a positive coefficient
Nullity>1underdeterminedComplete basis; no selected positive combination or impossibility claim

Inspect a concrete proof

The water example gives2 H2 + O2 ->2 H2O. Hydrogen totals are4 on each side and oxygen totals2. The actual species and their source byte spans remain in proof.json; balance.txt contains readable coefficients and element-totals.csv contains every balanced row.

Duplicated species remain separate columns. If duplicates introduce several independent balance directions, the full basis is handed off with underdetermined state rather than silently merging them. This is a declaration audit, not a preferred-reaction chooser.

Work and output limits apply together

Limits:16KiB UTF-8,50 species,109 elements,depth16,100 digits per count,4,096-bit exact integers,1million operations and2MiB complete combined output. The operation ceiling is an internal guard; no successful exact1million-operation capacity is advertised. Coefficient growth can reach work/integer/output guards before dimensions reach their maxima.

  • Copy gives balanced text or an explicit state code; the proof and CSV downloads are complete.
  • The table has at most50 species and2,000 UTF-16 units per long cell; use proof.json for complete element counts.
  • CSV decimal/rational strings are exact, but spreadsheet imports may alter numerical display.
  • Failure or cancellation publishes no partial coefficient proof. Correct the declaration and rerun the complete same source.

References

Tools in this category

Expand a tool to see its steps, options and supported formats, then open its workspace.

Neutral chemical-equation balancerBalance explicitly declared neutral formulas with exact rational arithmetic, preserving the full element matrix, nullspace basis and conservation proof without guessing nonunique solutions.

Enter both sides with no initial coefficients. A unique strictly positive nullspace vector gives primitive integer coefficients; every other state remains explicit.

Steps

  1. Enter a neutral equation with both sides and no starting coefficients.
  2. Read the conservation state, rank and nullity; accept coefficients only when state is balanced.
  3. Copy balanced text or download the full exact proof, matrix and original equation.

Capabilities and limits

  • UTF-8 equation up to16KiB,50 ordered species,109 elements H–Mt, nesting depth16 and100 digits per count. Exact intermediate integers≤4,096 bits, work≤1,000,000 operations, complete original/proof/matrix/balance/totals≤2MiB. Dimensions and coefficient growth remain coupled.
  • ASCII case-sensitive symbols, positive integer counts without leading zero, nested ()/[] and top-level hydrate dot or · with an optional positive factor after that delimiter. Whitespace only around species. Exactly one ->, → or = and plus-separated species; duplicates stay ordered.
  • Ds–Og, initial coefficients, charges/electrons, isotopes, states, macros, fractions and scripts are Unsupported. A hydrate dot is not decimal stoichiometry. The operation ceiling is a work guard, not a promise of a reachable successful exact1million-operation case.
  • Nullity0: no-nonzero-balance. Nullity1 and all coefficients strictly positive: balanced. Nullity1 with zero/mixed signs: no-strictly-positive-balance. Nullity>1: underdetermined with the complete exact basis; no guessed positive combination or claim that no positive solution exists.
  • All species counts, UTF-8 source spans, signed matrix, RREF, rational basis and primitive integer basis remain in proof.json. Balanced output adds full left/right element totals. Exact decimal/rational CSV tokens may be reinterpreted by spreadsheet software. No reaction-occurrence, mechanism, energy or safety conclusion.
  • The table shows all species within the50-species cap; long cells preview2,000 UTF-16 units. Copy gives balanced text or the explicit machine-state code. Full proof and CSV downloads remain complete; failures and cancellation publish no partial files.
Open Neutral chemical-equation balancer →
Neutral chemical-equation balancer