Hello.
On Sat, 10 Sep 2016 19:18:32 -0600, Shane S wrote:
Hi Gilles,
Thank you for your response. These methods are used primarily in
computational number theory applications. I myself came across the
need for
these algorithms when studying and implementing traditional and
proposed
variants of the Quadratic Sieve integer factorisation algorithm. But
these
methods are also required for other factorisation algorithms such as
the
number field sieve. As a result, the library additions I propose
would also
have cryptographic applications.
Lacking the necessary knowledge, I have no clear view of who
would be potential users of your proposed contributions.
For example, assuming that this code were available for use,
how much would still be necessary in order to build a
cryptographic application?
These methods are no more complex than modInverse() in BigInteger
and from
my limited experience, have found the use cases to be similar in
general.
Given that most (and perhaps all) current uses of Commons Math
are in applications that deal with "double", I'd guess that
extensions of "BigInteger" would be better located in their own
component.
[In line with all the reasoning about monolithic vs modular which
you can find in the ML archive discussions that happened around
last May.]
I can certainly understand the reluctance in light of the limited
human
resources. I would like to contribute to the maintenance of the code
base
in any way I can. I have no experience in open source projects like
this,
but I am willing to learn.
My idea is to create a module that would collect all
functionalities that deal with "higher" precision and
"big" numbers.
Candidates for this component could be
o.a.c.math4.util.BigReal
o.a.c.math4.dfp
o.a.c.math4.primes
o.a.c.math4.fraction
Would you be interested in working on that?
If it is agreed that the functionality I propose is useful,
I don't doubt that it is interesting functionality; I have
no idea whether it is useful (in the sense that it would
more users than just you).
I could also
commit to maintaining it
That is usually a requirement for incorporating code in Commons
(but we failed spectacularly in that respect in Commons Math!).
Best regards,
Gilles
Thank you
On Sep 9, 2016 5:24 PM, "Gilles" <gil...@harfang.homelinux.org>
wrote:
Hi.
Thanks for offering to contribute to Commons Math.
However, this is a quite advanced topic, and I don't
know whether Commons Math is the right place for this
functionality.
Could you provide more background information about
who (or what applications) are the potential users
for these algorithms?
Please note that this is not outright rejection, but
we are severely lacking human resources to manage the
existing codebase[1] and discussions are ongoing as to
how best continue this project.
My personal opinion is that all well-defined topics
(such as your proposal might be) should be developed
in their own component.[2]
Best regards,
Gilles
[1] See the "dev" ML archives if you'd like to know
how this happened.
[2] See the archives, too.
On Thu, 8 Sep 2016 11:16:03 -0600, Shane S wrote:
Hello all,
I would like to create a class of some common number theory methods
for
the
Commons Math library (or add methods the the BigInteger class). I
am
motivated to do this following a summer research project at my
university
(University of Calgary). I was/am implementing some factoring
algorithms
for cryptographic applications and found that there were no
libraries to
do
things such as:
- Determining quadratic residuocity by way of Jacobi/Legendre
symbol
calculation
- Determining the square root (mod p)
- variations of the Sieve of Eratosthenes for producing a list of
primes
I also noticed the lack of library support for these operations
while
doing
my first math based crypto course, as did many of my peers. I think
that
the increasing practical use of these methods warrants their
inclusion in
the Commons Math library.
I implemented Java methods for these operations for my own use and
would
like to contribute them to Commons Math. I am looking for any
comments
about this, specifically if the developer and commiter community
here
would
support this. I am completely new to open source projects and
welcome any
advise.
Sincerely,
Shane Sims
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org