I'm reading a combinatorics books, and I was searching for assignments (questions) on Elementary Symmetric Functions, which are quite simply fundamental functions that have the property of swapping variables doesn't change what it is, for example x+y is symmetric, x^2+y^2 is another x^2y+y^2x is, and so forth.

Finding them isn't difficult, it's not the nicest algorithm to implement but iterating over permutations is not hard.

I found http://www.google.com/patents/US8332185 this. Now.... there's A LOT of crap in this, like http://patentimages.storage.googleapis.com/US8332185B2/US08332185-20121211-D00002.png that picture, and talks about how a computer able to calculate this may be networked. Why is this in a patent?

Then there's stuff like:

Bus 212 allows data communication between central processor 214 and system memory 216, which may include both read only memory (ROM) or flash memory (neither shown), and random access memory (RAM) (not shown)

They've not invented a computer ONLY able to carry out this task! That is how a computer works, portable code....

It gets more weird:

and secondary symmetric function calculation module 202 employed therewith may be stored in computer-readable storage media such as one or more of system memory 216, fixed disk 244, optical disk 242, or floppy disk 238. Additionally, computer system 210 may be any kind of computing device, and so includes personal data assistants (PDAs), network appliances, X-window terminals or other such computing devices. The operating system provided on computer system 210 may be MS-DOS®, MS-WINDOWS®, OS/2®, UNIX®, LINUX®, and the like. Computer system 210 also supports a number of Internet access tools, including, for example, an HTTP-compliant web browser having a JavaScript interpreter, such as NETSCAPE NAVIGATOR®, MICROSOFT EXPLORER®, MOZILLA FIREFOX® and the like.

I'm not quite sure why that is in a patent, that's like inventing something and describing a "planetary body" with which you made it on as a part of the setup. Is it relevant?

It is possible to implement the processes of FIGS. 4-6B in computer software program code executable by a computer processor. By way of example, one manner of implementing the steps of FIGS. 6A-6B (expressed in pseudo-code) follows:

Does a patent have a minimum word count? It's not just "it is possible to do this" but on a computer software program! For execution by a computer processor! (so doing it in an interpreted languages? or VM targeting language?) "OMG!"

Now I'm a little worried, if I made a program that spat out these polynomials for me (rather than me iterating by hand on some scrap paper) then stuck some free-software license and gave it to the world, am I infringing on their patent?

I am extra-shocked because while software-patenting is horrific in the EU it cannot be patented, as it falls under "mathematics", so can someone that appears in chapter 1 of almost every combinatorics book be patented?

Iterating over permutations isn't far from counting (a permutation of numbers represent something), they have made it such a choir to read, I gave up and skimmed!

So I suppose my question is, how is this allowed? They have put some stuff in about where they might use these polynomials, but not how, surely - if anything - using them in a certain way is the invention! I wouldn't call it an invention, but the case is surely stronger?

2 Answers 2


The short answer is that patents have many sections but it is only the claims that draw a line between what is old or abstract or only mathematical and what is considered the protectable invention. I am inserting claim 1 here.

  1. A method of updating estimated locations and velocities for a swarm of target objects within a Cardinalized Probability Hypothesis Density (CPHD) multi-target tracker environment including a plurality of signal detectors, said method comprising the steps of:

    detecting a plurality of signals with the plurality of signal detectors, the plurality of signals including target reflected signals comprising signals transmitted from one or more transmitters and reflected from the target objects;

    processing the detected signals with a processing device communicatively coupled with the signal detectors to generate a set {Z} comprising a total of m positive real numerical elements, each element of set {Z} representing a likelihood that a signal detected by one of the signal detectors is associated with a target object divided by a likelihood of such detected signal being noise or clutter, wherein z(i) denotes the ith element of set {Z} indexed by number i;

    obtaining a plurality of elementary symmetric functions for set {Z}, wherein esf(j) denotes the jth elementary symmetric function of set {Z} indexed by number j;

    determining a plurality of secondary symmetric functions for set {Z}, wherein for each value of index i, ssf(j,i) denotes the jth elementary symmetric function of a subset {Z\z(i)} comprising set {Z} with element z(i) removed from set {Z}, and wherein for a particular value of index i, the secondary symmetric functions are determined in accordance with a recursive relationship among the secondary symmetric function to be determined, a previously determined secondary symmetric function, one of the obtained elementary symmetric functions, and the element z(i) removed from set {Z}; and

    outputting the plurality of secondary symmetric functions for set {Z}.

This is not pure mathematics. It is a specific application of mathematics that presumably was new at the time. Neither U.S. or EPO patent law allows for the patenting of a mathematical truth. Both allow for a patent that includes calculating steps.

The passages you quote are explanatory of implementations of the invention, not expressions of what is new. An applicant is advised to explain a way of accomplishing the invention in as detailed a way as possible. Of course many steps in an implementation of something new are, themselves, old.

In the U.S. there is a duty to describe an invention so that someone skilled in the art can make it and use it without undue experimentation. Also there is a duty to include the "best" way to carry out the invention in the opinion of the inventor. This can lead to seemingly irrelevant details being included in the specification.

  • Holy cow, that's my patent! What a surprise. I actually left Lockheed after they filed for it but before it was granted. I didn't even know until recently that it had been granted. For the record, I was also surprised you can patent a math algorithm, and all that stuff the patent team added about hardware made my head spin. I asked the patent attorney a lot of the same gasping questions you asked here, and his response was pretty much, "This is the law, this his how patents are done, yeah scientists are always appalled by it." :-) Commented Oct 7, 2019 at 21:25
  • 1
    @JerryGuern You can't patent an algorithm. What you can do is patent the application of an algorithm to solving a specific problem or technical need.
    – Eric S
    Commented Oct 15, 2019 at 20:41
  • @EricShain Correct, I should have stated it that way.. But at the time I was surprised you could patent anything about an algorithm at all. Commented Oct 16, 2019 at 0:13

George gave you a good answer, but just to further clarify the technical part, the patent isn't on using or calculating ESF's, it's for application in a CPHD multi-target tracker of an algorithm I invented for calculating whole sets of ESF's quickly. Using this specific algorithm instead of the more obvious method reduced the computational complexity of CPHD tracker updates from n^3 to n^2 in the number of new detections. The method was not obvious and had eluded a team of scientists who needed a way to speed up those updates.

But the odd word choices are legal-document-speak, and the patent attorneys warned me not to "correct" any of that. They also explained to me the concerns that George explained above. This was my first patent application, and it was an odd experience.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .