Re: [lang] ClassUtils.toClass(Object[] array)

2010-02-02 Thread Henri Yandell
null -> null makes sense. +1.

On Tue, Feb 2, 2010 at 12:53 PM, Matt Benson  wrote:
> Currently it appears this method would throw a NPE if any element of array
> is null, without documenting this fact.  Our options would seem to be:
>
> - document the NPE
> - convert a null object to Object.class
> - convert a null object to a null class
>
> My inclination would be the third option, from the perspective of that the
> expectation would be a subsequent call to one of the
> ClassUtils.isAssignable(Class[]) variants.  Are there dissenting opinions?
>
> -Matt
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> For additional commands, e-mail: dev-h...@commons.apache.org
>
>

-
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org



Re: [math] Work going on on SVD

2010-02-02 Thread Bill Barker



--
From: "Luc Maisonobe" 
Sent: Tuesday, February 02, 2010 11:26 AM
To: "Commons Developers List" 
Subject: Re: [math] Work going on on SVD


Luc Maisonobe a écrit :

Dimitri Pourbaix a écrit :

Hi,


Hi Dimitri,


In its present form (CM2.0), SingularValueDecomposition suffers some
problems when the matrix is (numerically) singular.  Luc proposed a
way to improve the situation by limiting the singular values to non
zero ones.  Whereas the result is OK if someone is interested in getting
the singular values, it is not from a purely mathematical point of view.
Indeed, the resulting U matrix does no longer hold the right dimension.
Instead of a number of columns equal to the number of columns of the
original matrix, U now has as many columns as non-zero singular values.
The product U*S*V^T yields the original matrix but the wrong size might
put some users into trouble (that is true for the size of S as well).


I agree with this analysis. The current behavior is interesting for some
use cases but not for all of them. So I suggest we provide both cases.
This could be done either by renaming the current implementation as
TruncatedSVD and having your implementation named
SingularValueDecomposition, or by using some constructor parameters to
select the desired behavior.


What do we do here ? If Dimitri can provide a new mathematically
compliant SVD I would suggest to have it use the name
SingularValueDecomposition and to rename the existing class
TruncatedSVD. This class would take arguments to distinguish between
Compact decomposition (automatic cutoff at zero value) and truncated
decomposition (cutoff by singular values indices).




I propose to compute U ... without taking advantage of V.  That means
calling EigenDecomposition a second time but should work even in case
of singular matrices.  That is the solution I am working on.  However,
doing so, I notice that EigenDecomposition also suffers major problems
in case of singular matrices.  A 3x3 singular matrix where 0 is an
eigen value with multiplicity 2 ... yields only 2 distinct eigen
vectors.  The vectors associated to the null eigen value are equal!!


Yes, this is JIRA issue MATH-333. The problem is that in the current
implementation, the vector is computed by
EigenDecomposition.findEigenVector which takes one eigenvalue as its
argument. so eigenvalues with order greater than 1 simply result in the
same computation repeated several times ...
Perhaps one way to solve this is to reproduce what is done in DLARRV
from LAPACK. The routine uses the index of the eigenvalue and not only
its value.


Does someone had a look at DLARRV and could explain how it works (the
vector part only, the singular values part is already well understood I
think) ?

I think we should wait for this issue to be solved before publishing
2.1. It is currently targeted at 2.2 but I would vote to solve it
earlier. It is really a big drawback of the current implementation. Not
being able to decompose identity is rather sad ...


+1
Having a SVD that doesn't work is really embarrassing.  I'll try and find 
some spare cycles to look at the DLARRV implementation. However, if Dimitri 
can create an alternative patch, all the better.





So, before I can improve SVD, I have to improve EigenDecomposition!

By the way, going through SVD, EigenDecomposition, I noticed that
BidiagonalTransformer and TridiagonalTransformer both use the
Householder vector computation deeply imbedded in their code.  In
order to make both classes easier to read (and to debug), I wonder
if it might be useful to introduce a class Householder which would
take care of the computation of the vector in a unique place.


This would be a nice improvement and would probably be useful for other
linear algebra algorithms later on. The rationale for the current
implementation was to avoid copying data back and forth between a low
level elementary Householder class called n times and a high level
transformer like bi-diagonal or tri-diagonal transformer. If we can find
a way to have an elementary transform  processing in-place the array
provided to it by the  high level transformer, this would be fine.


Perhaps this could wait for 2.2 or 3.0.

Luc



Once again, we see we lack a way to have partial view of matrices slices.

Luc



Regards,
 Dim.


Dimitri Pourbaix *
Institut d'Astronomie et d'Astrophysique *  Don't worry, be happy
CP 226, office 2.N4.211, building NO * and CARPE DIEM.
Universite Libre de Bruxelles*
Boulevard du Triomphe*  Tel : +32-2-650.35.71
 B-1050 Bruxelles*  Fax : +32-2-650.42.26
http://sb9.astro.ulb.ac.be/~pourbaix * 
mailto:pourb...@astro.ulb.ac.be


-
To unsubscribe, e-mail: dev-unsubscr...@commons.apach

[LANG] Patch attached for LANG-583 issue

2010-02-02 Thread Chandra Shekar
Hi

 I have attached the patch file for LANG-583 issue in jira, Please let me know 
if there are any issues.

Thanks
Chandrashekar




  

Re: [lang] Preparing for a 2.5 release

2010-02-02 Thread Niall Pemberton
On Wed, Feb 3, 2010 at 2:22 AM, Niall Pemberton
 wrote:
> For anyone who hasn't noticed I've been back-porting Commons Lang
> changes from the trunk to a 2.x branch:
>
>    http://svn.apache.org/viewvc/commons/proper/lang/branches/LANG_2_X/
>
> AFAIC its getting close to being ready for a 2.5 release. LANG-204 is
> currently in progress and I will try to post a summary of whats been
> back ported (and what hasn't) tomorrow. Other than that I have only
> updating the site and getting the release notes & changes plugin up to
> date on my todo list.
>
> Is there anything anyone else wants included?

Currently the other Lang bugs against 2.x are the following, but I
don't plan to fix them unless someone else supplies a patch:

http://issues.apache.org/jira/browse/LANG-76
http://issues.apache.org/jira/browse/LANG-331
http://issues.apache.org/jira/browse/LANG-472


> Niall
>

-
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org



[lang] Preparing for a 2.5 release

2010-02-02 Thread Niall Pemberton
For anyone who hasn't noticed I've been back-porting Commons Lang
changes from the trunk to a 2.x branch:

http://svn.apache.org/viewvc/commons/proper/lang/branches/LANG_2_X/

AFAIC its getting close to being ready for a 2.5 release. LANG-204 is
currently in progress and I will try to post a summary of whats been
back ported (and what hasn't) tomorrow. Other than that I have only
updating the site and getting the release notes & changes plugin up to
date on my todo list.

Is there anything anyone else wants included?

Niall

-
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org



Re: [math] Work going on on SVD

2010-02-02 Thread Dimitri Pourbaix

Luc,


I think we should wait for this issue to be solved before publishing
2.1. It is currently targeted at 2.2 but I would vote to solve it
earlier. It is really a big drawback of the current implementation. Not
being able to decompose identity is rather sad ...


I agree.


This would be a nice improvement and would probably be useful for other
linear algebra algorithms later on. The rationale for the current
implementation was to avoid copying data back and forth between a low
level elementary Householder class called n times and a high level
transformer like bi-diagonal or tri-diagonal transformer. If we can find
a way to have an elementary transform  processing in-place the array
provided to it by the  high level transformer, this would be fine.


Perhaps this could wait for 2.2 or 3.0.


Yes.  It would be an improvement of the code from a developer perspec-
tive only.  No rush!

Regards,
 Dim.

Dimitri Pourbaix *
Institut d'Astronomie et d'Astrophysique *  Don't worry, be happy
CP 226, office 2.N4.211, building NO * and CARPE DIEM.
Universite Libre de Bruxelles*
Boulevard du Triomphe*  Tel : +32-2-650.35.71
 B-1050 Bruxelles*  Fax : +32-2-650.42.26
http://sb9.astro.ulb.ac.be/~pourbaix * mailto:pourb...@astro.ulb.ac.be

-
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org



[lang] ClassUtils.toClass(Object[] array)

2010-02-02 Thread Matt Benson
Currently it appears this method would throw a NPE if any element of  
array is null, without documenting this fact.  Our options would seem  
to be:


- document the NPE
- convert a null object to Object.class
- convert a null object to a null class

My inclination would be the third option, from the perspective of  
that the expectation would be a subsequent call to one of the  
ClassUtils.isAssignable(Class[]) variants.  Are there dissenting  
opinions?


-Matt

-
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org



Re: [math] Work going on on SVD

2010-02-02 Thread Luc Maisonobe
Luc Maisonobe a écrit :
> Dimitri Pourbaix a écrit :
>> Hi,
> 
> Hi Dimitri,
> 
>> In its present form (CM2.0), SingularValueDecomposition suffers some
>> problems when the matrix is (numerically) singular.  Luc proposed a
>> way to improve the situation by limiting the singular values to non
>> zero ones.  Whereas the result is OK if someone is interested in getting
>> the singular values, it is not from a purely mathematical point of view.
>> Indeed, the resulting U matrix does no longer hold the right dimension.
>> Instead of a number of columns equal to the number of columns of the
>> original matrix, U now has as many columns as non-zero singular values.
>> The product U*S*V^T yields the original matrix but the wrong size might
>> put some users into trouble (that is true for the size of S as well).
> 
> I agree with this analysis. The current behavior is interesting for some
> use cases but not for all of them. So I suggest we provide both cases.
> This could be done either by renaming the current implementation as
> TruncatedSVD and having your implementation named
> SingularValueDecomposition, or by using some constructor parameters to
> select the desired behavior.

What do we do here ? If Dimitri can provide a new mathematically
compliant SVD I would suggest to have it use the name
SingularValueDecomposition and to rename the existing class
TruncatedSVD. This class would take arguments to distinguish between
Compact decomposition (automatic cutoff at zero value) and truncated
decomposition (cutoff by singular values indices).

> 
>> I propose to compute U ... without taking advantage of V.  That means
>> calling EigenDecomposition a second time but should work even in case
>> of singular matrices.  That is the solution I am working on.  However,
>> doing so, I notice that EigenDecomposition also suffers major problems
>> in case of singular matrices.  A 3x3 singular matrix where 0 is an
>> eigen value with multiplicity 2 ... yields only 2 distinct eigen
>> vectors.  The vectors associated to the null eigen value are equal!!
> 
> Yes, this is JIRA issue MATH-333. The problem is that in the current
> implementation, the vector is computed by
> EigenDecomposition.findEigenVector which takes one eigenvalue as its
> argument. so eigenvalues with order greater than 1 simply result in the
> same computation repeated several times ...
> Perhaps one way to solve this is to reproduce what is done in DLARRV
> from LAPACK. The routine uses the index of the eigenvalue and not only
> its value.

Does someone had a look at DLARRV and could explain how it works (the
vector part only, the singular values part is already well understood I
think) ?

I think we should wait for this issue to be solved before publishing
2.1. It is currently targeted at 2.2 but I would vote to solve it
earlier. It is really a big drawback of the current implementation. Not
being able to decompose identity is rather sad ...

> 
>> So, before I can improve SVD, I have to improve EigenDecomposition!
>>
>> By the way, going through SVD, EigenDecomposition, I noticed that
>> BidiagonalTransformer and TridiagonalTransformer both use the
>> Householder vector computation deeply imbedded in their code.  In
>> order to make both classes easier to read (and to debug), I wonder
>> if it might be useful to introduce a class Householder which would
>> take care of the computation of the vector in a unique place.
> 
> This would be a nice improvement and would probably be useful for other
> linear algebra algorithms later on. The rationale for the current
> implementation was to avoid copying data back and forth between a low
> level elementary Householder class called n times and a high level
> transformer like bi-diagonal or tri-diagonal transformer. If we can find
> a way to have an elementary transform  processing in-place the array
> provided to it by the  high level transformer, this would be fine.

Perhaps this could wait for 2.2 or 3.0.

Luc

> 
> Once again, we see we lack a way to have partial view of matrices slices.
> 
> Luc
> 
> 
>> Regards,
>>  Dim.
>> 
>>
>> Dimitri Pourbaix *
>> Institut d'Astronomie et d'Astrophysique *  Don't worry, be happy
>> CP 226, office 2.N4.211, building NO * and CARPE DIEM.
>> Universite Libre de Bruxelles*
>> Boulevard du Triomphe*  Tel : +32-2-650.35.71
>>  B-1050 Bruxelles*  Fax : +32-2-650.42.26
>> http://sb9.astro.ulb.ac.be/~pourbaix * mailto:pourb...@astro.ulb.ac.be
>>
>> -
>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
>> For additional commands, e-mail: dev-h...@commons.apache.org
>>
> 
> 
> -
> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> For additional 

Re: svn commit: r904829 - in /commons/proper/lang/branches/LANG_2_X/src: main/java/org/apache/commons/lang/time/DateUtils.java test/java/org/apache/commons/lang/time/DateUtilsTest.java

2010-02-02 Thread Niall Pemberton
On Tue, Feb 2, 2010 at 5:32 PM, sebb  wrote:
> On 02/02/2010, sebb  wrote:
>> On 30/01/2010, nia...@apache.org  wrote:
>>  > Author: niallp
>>  >  Date: Sat Jan 30 17:49:28 2010
>>  >  New Revision: 904829
>>  >
>>  >  URL: http://svn.apache.org/viewvc?rev=904829&view=rev
>>  >  Log:
>>  >  Port LANG-530 to 2.x branch - Fix parseDate() cannot parse ISO8601 dates 
>> produced by FastDateFormat
>>  >
>>  >  Modified:
>>
>>
>> >     
>> > commons/proper/lang/branches/LANG_2_X/src/test/java/org/apache/commons/lang/time/DateUtilsTest.java
>>  >
>>
>>
>> >  +    // http://issues.apache.org/jira/browse/LANG-520
>>  >  +    public void testLang520() throws ParseException {
>>
>>
>> Looks like the above test and comment should really be LANG-530
>>  (likewise in lang3)?
>>
>
> I've just discovered that the test fails with a ParseException on Java
> 1.3 - this is because SimpleDateFormat does not support 'Z' in that
> version of Java. I'll add an exclusion.

Thanks

Niall

>>  S///
>>
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> For additional commands, e-mail: dev-h...@commons.apache.org
>
>

-
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org



Re: svn commit: r904829 - in /commons/proper/lang/branches/LANG_2_X/src: main/java/org/apache/commons/lang/time/DateUtils.java test/java/org/apache/commons/lang/time/DateUtilsTest.java

2010-02-02 Thread sebb
On 02/02/2010, sebb  wrote:
> On 30/01/2010, nia...@apache.org  wrote:
>  > Author: niallp
>  >  Date: Sat Jan 30 17:49:28 2010
>  >  New Revision: 904829
>  >
>  >  URL: http://svn.apache.org/viewvc?rev=904829&view=rev
>  >  Log:
>  >  Port LANG-530 to 2.x branch - Fix parseDate() cannot parse ISO8601 dates 
> produced by FastDateFormat
>  >
>  >  Modified:
>
>
> > 
> > commons/proper/lang/branches/LANG_2_X/src/test/java/org/apache/commons/lang/time/DateUtilsTest.java
>  >
>
>
> >  +// http://issues.apache.org/jira/browse/LANG-520
>  >  +public void testLang520() throws ParseException {
>
>
> Looks like the above test and comment should really be LANG-530
>  (likewise in lang3)?
>

I've just discovered that the test fails with a ParseException on Java
1.3 - this is because SimpleDateFormat does not support 'Z' in that
version of Java. I'll add an exclusion.

>  S///
>

-
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org



Re: svn commit: r904829 - in /commons/proper/lang/branches/LANG_2_X/src: main/java/org/apache/commons/lang/time/DateUtils.java test/java/org/apache/commons/lang/time/DateUtilsTest.java

2010-02-02 Thread sebb
On 30/01/2010, nia...@apache.org  wrote:
> Author: niallp
>  Date: Sat Jan 30 17:49:28 2010
>  New Revision: 904829
>
>  URL: http://svn.apache.org/viewvc?rev=904829&view=rev
>  Log:
>  Port LANG-530 to 2.x branch - Fix parseDate() cannot parse ISO8601 dates 
> produced by FastDateFormat
>
>  Modified:

> 
> commons/proper/lang/branches/LANG_2_X/src/test/java/org/apache/commons/lang/time/DateUtilsTest.java
>

>  +// http://issues.apache.org/jira/browse/LANG-520
>  +public void testLang520() throws ParseException {

Looks like the above test and comment should really be LANG-530
(likewise in lang3)?

S///

-
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org



[Commons Wiki] Update of "CreatingReleases" by HenriBie stro

2010-02-02 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Commons Wiki" for 
change notification.

The "CreatingReleases" page has been changed by HenriBiestro.
http://wiki.apache.org/commons/CreatingReleases?action=diff&rev1=41&rev2=42

--

   E.3 Deploy the Site 
  
  Run {{{mvn site-deploy}}} to deploy the site - please note that you are 
deploying the site of the next development snapshot.
+ If your local username is not the same as your Apache username, run: {{{mvn 
-Duser.name=apachename site-deploy}}}.
  
   E.4 Create the SVN Release Tag 
  

-
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org



[RESULT] Release Jexl 2.0

2010-02-02 Thread henrib

The following people voted on Jexl 2.0 release:

Rahul Akolkar: +1
Oliver Heger: +1
Seb Baz : +1
Phil Steiz: +1
Jorg Schaible: +1

Thanks to all of you.
I'll cut the 2.0 release in the next couple of days.
Cheers;
Henrib 

-- 
View this message in context: 
http://n4.nabble.com/RESULT-Release-Jexl-2-0-tp1460048p1460048.html
Sent from the Commons - Dev mailing list archive at Nabble.com.

-
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org



Re: [lang] Working on issue LANG - 583 Was: Need to start the work

2010-02-02 Thread Hasan Diwan
Sir:
On 2 February 2010 00:30, Chandra Shekar  wrote:
> ok i can download the code, But how can i asssign the issue to myself in 
> jira, I dont see any option for assign

You don't assign yourself a particular issue. You publish the patch to
the issue, then some comitter evaluates it for inclusion at which
point it is either accepted or not.
http://commons.apache.org/math/developers.html is the Commons-Math
commit process. Other projects within the commons hierachy have
similar processes, and I'm sure someone else will jump in and point
out any differences.
-- 
Sent from my mobile device
Envoyait de mon telephone mobil

-
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org



Re: Need to start the work

2010-02-02 Thread Valentin Rocher
You can download the code through svn (see 
http://commons.apache.org/svninfo.html), and then you just have to 
attach the patch to the bug report.


Valentin.

Le 02/02/2010 08:10, Chandra Shekar a écrit :

Hi

I want to assign the bug LANG - 583 to myself, I am not able to see asign 
option, also i want to know where i can download the code work and then submit 
the patch,

can any body help me on this.

Thanks
Chandrashekar





   


-
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org



Re: [lang] Working on issue LANG - 583 Was: Need to start the work

2010-02-02 Thread Chandra Shekar
One More thing, ichecked out the code using the following command from my 
netbeans ide directly
http://svn.apache.org/repos/asf/commons/proper/lang/trunk

i am getting some compile time errors in the checked out code. 

Thanks
Chandrashekar
 

--- On Tue, 2/2/10, Chandra Shekar  wrote:

From: Chandra Shekar 
Subject: Re: [lang] Working on issue LANG - 583 Was: Need to start the work
To: "Commons Developers List" 
Date: Tuesday, February 2, 2010, 8:30 AM

ok i can download the code, But how can i asssign the issue to myself in jira, 
I dont see any option for assign

Thanks
Chandrashekar

--- On Tue, 2/2/10, Julien Aymé  wrote:

From: Julien Aymé 
Subject: Re: [lang] Working on issue LANG - 583 Was: Need to start the work
To: "Commons Developers List" 
Date: Tuesday, February 2, 2010, 7:27 AM

Hello Chandra,

you should prefix your mail object with [lang] to have a faster
feedback, since most of the commons developers have rules that match
the component name.

In order to work on this issue you should check out the trunk version
of lang (see http://commons.apache.org/lang/source-repository.html),
the you can work on your local copy and attach a patch to the JIRA issue.

Regards,
Julien

2010/2/2 Chandra Shekar :
> Hi
>
> I want to assign the bug LANG - 583 to myself, I am not able to see asign 
> option, also i want to know where i can download the code work and then 
> submit the patch,
>
> can any body help me on this.
>
> Thanks
> Chandrashekar
>
>
>
>
>

-
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org




      


  

Re: [lang] Working on issue LANG - 583 Was: Need to start the work

2010-02-02 Thread Chandra Shekar
ok i can download the code, But how can i asssign the issue to myself in jira, 
I dont see any option for assign

Thanks
Chandrashekar

--- On Tue, 2/2/10, Julien Aymé  wrote:

From: Julien Aymé 
Subject: Re: [lang] Working on issue LANG - 583 Was: Need to start the work
To: "Commons Developers List" 
Date: Tuesday, February 2, 2010, 7:27 AM

Hello Chandra,

you should prefix your mail object with [lang] to have a faster
feedback, since most of the commons developers have rules that match
the component name.

In order to work on this issue you should check out the trunk version
of lang (see http://commons.apache.org/lang/source-repository.html),
the you can work on your local copy and attach a patch to the JIRA issue.

Regards,
Julien

2010/2/2 Chandra Shekar :
> Hi
>
> I want to assign the bug LANG - 583 to myself, I am not able to see asign 
> option, also i want to know where i can download the code work and then 
> submit the patch,
>
> can any body help me on this.
>
> Thanks
> Chandrashekar
>
>
>
>
>

-
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org