Hello, Michael Nahas and others
I am Yutaka Sawada, programer in Japan.
I test Petr Matas's claim of error while repairing certain blocks.
I test with QuickPar and par2cmdline, and my PAR2 client.
I confirm that the error is occured while "Gaussian Elimination"
on different clients.
As Petr Matas said sometimes,
it may be caused by PAR2's matrix to make parity blocks.
Then, inverting the matrix is failed.
Minimum fix to this error is "change the faulty matrix".
PAR2 can contain new packet.
"Recovery Slice packet version 2.1" is easy to implement.
(packet type may be "PAR 2.1\0RecvSlic")
Add new routine of calculating RS matrix to client,
and switch 2 matrices for 2.0 and 2.1.
Then, new client will support both version of PAR2.
The new proper matrix is the problem.
Because idea of parchive's recovery is from J S Plank's paper,
it is normal to use new RS Matrix of Plank.
That matrix is at
"Note: Correction to the 1997 Tutorial on Reed-Solomon Coding"
And the matrix's source code is available from
"GFLIB - C Procedures for Galois Field Arithmetic and Reed-Solomon Coding"
or his latest library "Jerasure".
That was too bad, his new matrix might be public,
after PAR2's faulty matrix was set at first.
Now, we can use Plank's new matrix for new version.
Plank's matrix is tested by professional mathematician.
I can not understand Galois Field or Reed-Solomon myself,
so I want a reliability of named authority.
But, the matrix seems to made for general purpose.
Petr Matas may suggest new correct matrix fitting for PAR2.
Peter Brian Clements (author of QuickPar and par2cmdline)
said that he made a new RS matrix to speed-up of future
PAR 3.0 at his QuickPar Homepage BBS.
If Clements's matrix is tested reliability and speed,
it may be good alternative for new matrix.
Otherwise, something new recovery technique like Michael Nahas
or Michael Niedermayer suggest for speed-up.
LDPC, RS based on GF(65537), or something difficult to read.
Those must need big change of client to be support,
but fast repair is good for user.
I am just a programer of PAR client.
I can not understand mathematical technique.
I thank everyone who made and refine parchive specification.
I will follow the other one's conclusion,
and will make a client to support new specification.