Home > Manual > Equation balancer [Home] - [Features] - [Screenshots] - [Manual] - [Download] - [Contact]
Home Features Screenshots Manual Download Contact Previous Next

Equation balancer

This powerful tool will balance pretty much any equation that you throw at it. It's instantaneous like the molecular mass calculator, and I hope you will find it easy to use.

The basic idea is that you enter the left hand side of your equation (the reactant side) in the upper edit box, then enter the right hand side (the product side) in the lower box, and press 'Balance'.

If the equation can be balanced, the correct coefficients will be inserted into the equation that you have entered. They will also be displayed at the bottom of the page.

Automatic capitalization is used in this tool to simplify entering symbols.

Some equations have many non-equivalent solutions; if you see a table with formulae then you've got one. Keep reading to find out more.

Syntax and errors

The syntax for formulae is the same as for molecular mass calculator. In addition to that, you can prefix each formula with a number (ignored by the balancer and used only to show coefficients when the equation is balanced).

I have tried to explain all errors that could happen in enough detail right in the error messages, so if you have problems with syntax, the text under the edit boxes should be enough to tell you what it is.

Limitations. Half reactions are not supported. There is really no reason to support them because they are only a way of balancing the equations (not a very good one in my opinion). Composite formulae are not supported.

Infinitely many solutions

Some equations are such that one can balance them in many different ways. Balancer can deal with those. I call such equations non-regular.

When balancer encounters a non-regular equation, it expresses all coefficients in terms of some variables. You can set the values of variables to any integer, including negative ones, to get a solution (I call it interpretation). Just make sure that all resulting coefficients are greater than zero.

Balancer displays coefficients in a table. Left column is for the left hand side of the equation. It lists the coefficients in the same order as the formulae are in the original equation. The same is true of the right column.

Some coefficients will be highlighted with red. This means that the corresponding coefficient was 'fixed' in a way. It will always contain only one variable. In theory you should be able to choose which coefficients you want 'fixed' so that you can set them to any value and get all the other coefficients. That isn't implemented though.

Be aware that there is always the condition that every coefficient is greater than zero. This has interesting consequences - it may happen that there is no way to set the variables to get a valid solution, or that there is only a finite number of valid solutions. Detecting this is hard; it would involve symbolically solving all of the equations for coefficients simultaneously with the inequalities A>0, B>0 and so on.

Regular vs Non-regular

I will start with some more formal definitions. Make sure you've read the previous page before you read this.

Regular equations are equations which have a single reduced form solution, unique to a constant factor. In other words, there is only one way to write the solution when all coefficients are divided by their highest common factor.

Non-regular equations are the equations which have infinitely many reduced form solutions.

There seems to be a lot of debate about all this, and the topic is very closely related to equations being "stoichiometric". There is a very good paper on this which you can find on the Internet - search for "arizona journal balancing". I took the "regular" terms from that paper. My definitions are different but I think they are equivalent.

The "clean" way of implementing the balancer would be to fail to balance the non-regular equations and just forget about all the problems associated with them. You may find that although there are so many mathematically correct solutions, chemists consider only few of them (indeed, sometimes just one) as correct (stoichiometric). Maybe a good way of defining the correct solution is the one that's most likely to be observed under STP, but that has nothing to do with Balancer.

Balancing algorithm

PocketChemistry uses the matrix method of balancing chemical equations. It's rather inconvenient to do such calculations by hand, but it yields very well to computer implementation.

Detailed description of the algorithm is outside the scope of this help file (and is probably of little use to you), but you can find it in books on linear algebra in a chapter on "Solving linear equations using matrices".

The basic idea is that the equation is converted into a matrix which represents the linear equations which are to be solved. An algorithm called row reduction is then applied to the matrix, reducing it to row echelon form. It is then just a matter of reading the answer out of the reduced matrix.

Some columns in the matrix are called pivotal. Depending on the number of non-pivotal columns (zero, one, or more), there are, respectively, no solutions, one unique solution, or infinitely many non-equivalent solutions to the equation. It is the non-pivotal columns that are highlighted with red for non-regular equations.

Last updated: 01/07/07 Copyright 2002-2007 Roman Starkov
Valid HTML 4.01! Valid CSS!