# [jira] [Created] (MATH-683) Create a method shift in the PolynomialFunction class

 Classic List Threaded
14 messages
Reply | Threaded
Open this post in threaded view
|

## [jira] [Created] (MATH-683) Create a method shift in the PolynomialFunction class

 Create a method shift in the PolynomialFunction class -----------------------------------------------------                  Key: MATH-683                  URL: https://issues.apache.org/jira/browse/MATH-683             Project: Commons Math           Issue Type: New Feature     Affects Versions: 3.0          Environment: All             Reporter: DI COSTANZO             Priority: Trivial Create a method shift to transform a polynomial P(k) in P(k + a) where a is any double value. The polynomial sum(ai * k^i) turns into sum(ai * (k+a)^i) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspaFor more information on JIRA, see: http://www.atlassian.com/software/jira
Reply | Threaded
Open this post in threaded view
|

## [jira] [Commented] (MATH-683) Create a method shift in the PolynomialFunction class

 [ https://issues.apache.org/jira/browse/MATH-683?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13119256#comment-13119256 ] Gilles commented on MATH-683: ----------------------------- You obtain the result by calling the "value" method with "k + a" as the argument. Or did I miss something? Please explain what you want to achieve.                 > Create a method shift in the PolynomialFunction class > ----------------------------------------------------- > >                 Key: MATH-683 >                 URL: https://issues.apache.org/jira/browse/MATH-683>             Project: Commons Math >          Issue Type: New Feature >    Affects Versions: 3.0 >         Environment: All >            Reporter: DI COSTANZO >            Priority: Trivial > > Create a method shift to transform a polynomial P(k) in P(k + a) where a is any double value. > The polynomial sum(ai * k^i) turns into sum(ai * (k+a)^i) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspaFor more information on JIRA, see: http://www.atlassian.com/software/jira
Reply | Threaded
Open this post in threaded view
|

## [jira] [Commented] (MATH-683) Create a method shift in the PolynomialFunction class

 In reply to this post by ASF GitHub Bot (Jira)     [ https://issues.apache.org/jira/browse/MATH-683?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13119267#comment-13119267 ] DI COSTANZO commented on MATH-683: ---------------------------------- No. I don't want to modify the "value" method. I just want to add a new "shift" method transforming the current polynomial defined as an array of coeffcient in increasing 'x' power, by a new polynomial where 'x' is replaced by 'x+a', a beeing a double value. The signature could be something like this : PolynomialFunction shift(final double shift){ } So, if the initial polynomial is given by : P1 = sum(ai * x^i) (i = 0...n) The new polynomial created by the "shift" method will be : P2 = sum(ai * (x + a)^i) (i = 0...n)                 > Create a method shift in the PolynomialFunction class > ----------------------------------------------------- > >                 Key: MATH-683 >                 URL: https://issues.apache.org/jira/browse/MATH-683>             Project: Commons Math >          Issue Type: New Feature >    Affects Versions: 3.0 >         Environment: All >            Reporter: DI COSTANZO >            Priority: Trivial > > Create a method shift to transform a polynomial P(k) in P(k + a) where a is any double value. > The polynomial sum(ai * k^i) turns into sum(ai * (k+a)^i) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspaFor more information on JIRA, see: http://www.atlassian.com/software/jira
Reply | Threaded
Open this post in threaded view
|

## [jira] [Commented] (MATH-683) Create a method shift in the PolynomialFunction class

 In reply to this post by ASF GitHub Bot (Jira)     [ https://issues.apache.org/jira/browse/MATH-683?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13119273#comment-13119273 ] Sébastien Brisard commented on MATH-683: ---------------------------------------- I think you might want to specify whether or not you would like at some point to be able to retrieve the coefficients of {{P2}}. In other words, do you need {{P2}} to be a {{PolynomialFunction}} or do you merely need to be able to compose {{P1}} and a shifter, which would return {{P2}} as a {{UnivariateRealFunction}}, e.g {code} final PolynomialFunction p1 = PolynomialsUtils.createLegendrePolynomial(10); final double a = 1.; UnivariateRealFunction p2 = new UnivariateRealFunction(){   public double value(final double x){     return p1.value(x+a);   } } {code} I suspect the answer is the first option, since you also requested for the Pascale Triangle... Sébastien                 > Create a method shift in the PolynomialFunction class > ----------------------------------------------------- > >                 Key: MATH-683 >                 URL: https://issues.apache.org/jira/browse/MATH-683>             Project: Commons Math >          Issue Type: New Feature >    Affects Versions: 3.0 >         Environment: All >            Reporter: DI COSTANZO >            Priority: Trivial > > Create a method shift to transform a polynomial P(k) in P(k + a) where a is any double value. > The polynomial sum(ai * k^i) turns into sum(ai * (k+a)^i) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspaFor more information on JIRA, see: http://www.atlassian.com/software/jira
Reply | Threaded
Open this post in threaded view
|

## [jira] [Commented] (MATH-683) Create a method shift in the PolynomialFunction class

 In reply to this post by ASF GitHub Bot (Jira)     [ https://issues.apache.org/jira/browse/MATH-683?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13119278#comment-13119278 ] DI COSTANZO commented on MATH-683: ---------------------------------- You're right, I'm interested by the first option, I need P2 to be a PolynomialFunction. And effectively, my post on the Pascal Triangle goes in this sense. Romain                 > Create a method shift in the PolynomialFunction class > ----------------------------------------------------- > >                 Key: MATH-683 >                 URL: https://issues.apache.org/jira/browse/MATH-683>             Project: Commons Math >          Issue Type: New Feature >    Affects Versions: 3.0 >         Environment: All >            Reporter: DI COSTANZO >            Priority: Trivial > > Create a method shift to transform a polynomial P(k) in P(k + a) where a is any double value. > The polynomial sum(ai * k^i) turns into sum(ai * (k+a)^i) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspaFor more information on JIRA, see: http://www.atlassian.com/software/jira
Reply | Threaded
Open this post in threaded view
|

## [jira] [Commented] (MATH-683) Create a method shift in the PolynomialFunction class

 In reply to this post by ASF GitHub Bot (Jira)     [ https://issues.apache.org/jira/browse/MATH-683?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13119304#comment-13119304 ] Gilles commented on MATH-683: ----------------------------- Maybe that I'm being a little dense, but I think that you've not explained why the following class, which you could create in your application, is not what you need: {code} public class ShiftedPolynomial extends PolynomialFunction {     private double shift;     public ShiftedPolynomial(PolynomialFunction f, double a) {         this(f.getCoefficients(), a);     }     public ShiftedPolynomial(double c[], double a) {         super(c);         shift = a;     }     public double value(double x) {         super.value(x + shift);     }     public ShiftedPolynomial polynomialDerivative() {         return new ShiftedPolynomial(super.polynomialDerivative(), shift);     } } {code}                 > Create a method shift in the PolynomialFunction class > ----------------------------------------------------- > >                 Key: MATH-683 >                 URL: https://issues.apache.org/jira/browse/MATH-683>             Project: Commons Math >          Issue Type: New Feature >    Affects Versions: 3.0 >         Environment: All >            Reporter: DI COSTANZO >            Priority: Trivial > > Create a method shift to transform a polynomial P(k) in P(k + a) where a is any double value. > The polynomial sum(ai * k^i) turns into sum(ai * (k+a)^i) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspaFor more information on JIRA, see: http://www.atlassian.com/software/jira
Reply | Threaded
Open this post in threaded view
|

## [jira] [Commented] (MATH-683) Create a method shift in the PolynomialFunction class

 In reply to this post by ASF GitHub Bot (Jira)     [ https://issues.apache.org/jira/browse/MATH-683?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13119313#comment-13119313 ] DI COSTANZO commented on MATH-683: ---------------------------------- Effectivelly, the code you posted above can be a solution for someone who only want to evaluate a polynomial function shifted by a specific value. Unfortunately, I can't deal with that representation, as I need to have the coefficients of the shifted polynomial : I'm facing this problem in a recurrence formula. To achieve it, I need to sum polynomial, some of them being shifted by real values.                 > Create a method shift in the PolynomialFunction class > ----------------------------------------------------- > >                 Key: MATH-683 >                 URL: https://issues.apache.org/jira/browse/MATH-683>             Project: Commons Math >          Issue Type: New Feature >    Affects Versions: 3.0 >         Environment: All >            Reporter: DI COSTANZO >            Priority: Trivial > > Create a method shift to transform a polynomial P(k) in P(k + a) where a is any double value. > The polynomial sum(ai * k^i) turns into sum(ai * (k+a)^i) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspaFor more information on JIRA, see: http://www.atlassian.com/software/jira
Reply | Threaded
Open this post in threaded view
|

## [jira] [Commented] (MATH-683) Create a method shift in the PolynomialFunction class

 In reply to this post by ASF GitHub Bot (Jira)     [ https://issues.apache.org/jira/browse/MATH-683?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13119315#comment-13119315 ] DI COSTANZO commented on MATH-683: ---------------------------------- Just a last precision,I need to implement this method anyway to achieve my work on those recurrence formul. What I can do is to send you the corresponding code, and you could add it if you think it could be usefull to others... Romain                 > Create a method shift in the PolynomialFunction class > ----------------------------------------------------- > >                 Key: MATH-683 >                 URL: https://issues.apache.org/jira/browse/MATH-683>             Project: Commons Math >          Issue Type: New Feature >    Affects Versions: 3.0 >         Environment: All >            Reporter: DI COSTANZO >            Priority: Trivial > > Create a method shift to transform a polynomial P(k) in P(k + a) where a is any double value. > The polynomial sum(ai * k^i) turns into sum(ai * (k+a)^i) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspaFor more information on JIRA, see: http://www.atlassian.com/software/jira
Reply | Threaded
Open this post in threaded view
|

## [jira] [Commented] (MATH-683) Create a method shift in the PolynomialFunction class

 In reply to this post by ASF GitHub Bot (Jira)     [ https://issues.apache.org/jira/browse/MATH-683?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13119334#comment-13119334 ] Gilles commented on MATH-683: ----------------------------- Yes, please attach everything that could be useful to figure out what is the required functionality. So, if I understand correctly, what you really request is the function that would compute the new  coefficients ("bi"): {noformat} Ps(k) = Sum bi * k^i       = Sum ai * (k + a)^i       = P(k + a) {noformat} This functionality should probably go in the "PolynomialsUtils" class: {code} public static double[] shiftedPolynomialCoefficients(double[] c, double shift) {     // ... } {code}                 > Create a method shift in the PolynomialFunction class > ----------------------------------------------------- > >                 Key: MATH-683 >                 URL: https://issues.apache.org/jira/browse/MATH-683>             Project: Commons Math >          Issue Type: New Feature >    Affects Versions: 3.0 >         Environment: All >            Reporter: DI COSTANZO >            Priority: Trivial > > Create a method shift to transform a polynomial P(k) in P(k + a) where a is any double value. > The polynomial sum(ai * k^i) turns into sum(ai * (k+a)^i) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspaFor more information on JIRA, see: http://www.atlassian.com/software/jira
Reply | Threaded
Open this post in threaded view
|

## [jira] [Commented] (MATH-683) Create a method shift in the PolynomialFunction class

 In reply to this post by ASF GitHub Bot (Jira)     [ https://issues.apache.org/jira/browse/MATH-683?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13119339#comment-13119339 ] DI COSTANZO commented on MATH-683: ---------------------------------- That's it. I'll send you the code when completed.                 > Create a method shift in the PolynomialFunction class > ----------------------------------------------------- > >                 Key: MATH-683 >                 URL: https://issues.apache.org/jira/browse/MATH-683>             Project: Commons Math >          Issue Type: New Feature >    Affects Versions: 3.0 >         Environment: All >            Reporter: DI COSTANZO >            Priority: Trivial > > Create a method shift to transform a polynomial P(k) in P(k + a) where a is any double value. > The polynomial sum(ai * k^i) turns into sum(ai * (k+a)^i) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspaFor more information on JIRA, see: http://www.atlassian.com/software/jira
Reply | Threaded
Open this post in threaded view
|

## [jira] [Updated] (MATH-683) Create a method shift in the PolynomialFunction class

 In reply to this post by ASF GitHub Bot (Jira)      [ https://issues.apache.org/jira/browse/MATH-683?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] DI COSTANZO updated MATH-683: -----------------------------     Attachment: PolynomialsUtilsTest.java                 PolynomialsUtils.java Hello, Here is the code for the shift method described above, and its associated test. As wanted, I add this functionnality in the PolynomailsUtils class. Romain                 > Create a method shift in the PolynomialFunction class > ----------------------------------------------------- > >                 Key: MATH-683 >                 URL: https://issues.apache.org/jira/browse/MATH-683>             Project: Commons Math >          Issue Type: New Feature >    Affects Versions: 3.0 >         Environment: All >            Reporter: DI COSTANZO >            Priority: Trivial >         Attachments: PolynomialsUtils.java, PolynomialsUtilsTest.java > > > Create a method shift to transform a polynomial P(k) in P(k + a) where a is any double value. > The polynomial sum(ai * k^i) turns into sum(ai * (k+a)^i) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspaFor more information on JIRA, see: http://www.atlassian.com/software/jira
Reply | Threaded
Open this post in threaded view
|

## [jira] [Resolved] (MATH-683) Create a method shift in the PolynomialFunction class

 In reply to this post by ASF GitHub Bot (Jira)      [ https://issues.apache.org/jira/browse/MATH-683?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Gilles resolved MATH-683. -------------------------        Resolution: Fixed     Fix Version/s: 3.0 Committed (with some stylistic changes) in revision 1179671. Thanks for the contribution. But when submitting changes to an existing file, it is better to provide a "patch". Also, do not forget to check whether there are any warnings generated by the "CheckStyle" tool.                 > Create a method shift in the PolynomialFunction class > ----------------------------------------------------- > >                 Key: MATH-683 >                 URL: https://issues.apache.org/jira/browse/MATH-683>             Project: Commons Math >          Issue Type: New Feature >    Affects Versions: 3.0 >         Environment: All >            Reporter: DI COSTANZO >            Priority: Trivial >             Fix For: 3.0 > >         Attachments: PolynomialsUtils.java, PolynomialsUtilsTest.java > > > Create a method shift to transform a polynomial P(k) in P(k + a) where a is any double value. > The polynomial sum(ai * k^i) turns into sum(ai * (k+a)^i) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspaFor more information on JIRA, see: http://www.atlassian.com/software/jira
Reply | Threaded
Open this post in threaded view
|

## [jira] [Commented] (MATH-683) Create a method shift in the PolynomialFunction class

 In reply to this post by ASF GitHub Bot (Jira)     [ https://issues.apache.org/jira/browse/MATH-683?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13122018#comment-13122018 ] Gilles commented on MATH-683: ----------------------------- I also changed the return type of the method, in order to emphasize the transformation of the coefficients. It is trivial for the user to create the "PolynomialFunction".                 > Create a method shift in the PolynomialFunction class > ----------------------------------------------------- > >                 Key: MATH-683 >                 URL: https://issues.apache.org/jira/browse/MATH-683>             Project: Commons Math >          Issue Type: New Feature >    Affects Versions: 3.0 >         Environment: All >            Reporter: DI COSTANZO >            Priority: Trivial >             Fix For: 3.0 > >         Attachments: PolynomialsUtils.java, PolynomialsUtilsTest.java > > > Create a method shift to transform a polynomial P(k) in P(k + a) where a is any double value. > The polynomial sum(ai * k^i) turns into sum(ai * (k+a)^i) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspaFor more information on JIRA, see: http://www.atlassian.com/software/jira
Reply | Threaded
Open this post in threaded view
|

## [jira] [Commented] (MATH-683) Create a method shift in the PolynomialFunction class

 In reply to this post by ASF GitHub Bot (Jira)     [ https://issues.apache.org/jira/browse/MATH-683?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13122664#comment-13122664 ] DI COSTANZO commented on MATH-683: ---------------------------------- Thanks ! I didn't know for the patch, I'll provide one next time. And I'll will also check the CheckStyle warnings.                 > Create a method shift in the PolynomialFunction class > ----------------------------------------------------- > >                 Key: MATH-683 >                 URL: https://issues.apache.org/jira/browse/MATH-683>             Project: Commons Math >          Issue Type: New Feature >    Affects Versions: 3.0 >         Environment: All >            Reporter: DI COSTANZO >            Priority: Trivial >             Fix For: 3.0 > >         Attachments: PolynomialsUtils.java, PolynomialsUtilsTest.java > > > Create a method shift to transform a polynomial P(k) in P(k + a) where a is any double value. > The polynomial sum(ai * k^i) turns into sum(ai * (k+a)^i) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspaFor more information on JIRA, see: http://www.atlassian.com/software/jira