new QuantLib license

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

new QuantLib license

Ferdinando M. Ametrano-2
Hi all

don't hold your breath: no real change here.

I submitted QuantLib License 1.0 (http://quantlib.org/license.html) for OSD
branding and FSF certified GPL compatibility.
I already obtained the latter from rms.

I'm going to clear any potential issue with license and copyright before I
leave RiskMap for a new job that will start next February 1st.
RiskMap is committed to continue support QuantLib: hey, Luigi, Marco, and
Enrico will stay at RiskMap!
As far as I'm concerned my new job should allow me to dedicate a
significant part of my time to QuantLib.

The QuantLib copyright holder is known as the QuantLib Group. A more
specific per-file copyright will be specified in each file. This means that
the majority of files will be 'copyright RiskMap srl', with all Sad's files
being 'copyright Sadruddin Rejeb' and Nicolas' files 'copyright Nicolas Di
Cesare'.

I will avoid to request copyright assignments from developers. Given the
QuantLib license to actually own the copyright doesn't give any special
privileges, that is as long as the developer contributes the code under the
QuantLib License.

Nicolas: if you are employed to do programming, or have made an agreement
with your
employer that says it owns programs you write, we need a signed piece of
paper from your employer disclaiming rights to the program.  It should be
signed by a vice president or general manager of the company.  If you
can't get at them, it is almost as good to find someone who signs licenses
for software that is purchased.  Here is a sample wording:

   Digital Stimulation Corporation hereby disclaims all copyright interest
   in the program "blackscholes.cppp" (a program for quantitative finance)
written by Hugh Heffner.

   <signature of Ty Coon>, 1 April 1987
   Ty Coon, President of Vice, Digital Stimulation Corp.

The description of what the program does is just to make it clearer
what the disclaimer covers.

Sad: the above disclaimer should not apply to your RiskMap involvement

any feedback is welcome

ciao -- Nando



Reply | Threaded
Open this post in threaded view
|

cubic spline problem

Ferdinando Ametrano-3
Hi Nicolas

I found out that the algorithm you contributed for cubic spline
interpolation is unable to fit a straight line y(x)=a*x+b when a and b are
not integer. The interpolated function f(x) waves around y(x) and it equals
y(x) at the tabulated x[i],y[i].

As temporary patch I've resumed the old code using the Numerical Recipes
algorithm, and there is a compilation flag (actually a boolean data member)
to switch from the NR algorithm to your code.

Could you take a look at the problem? I don't think it is a round-off
problem, but I might be wrong. I would also appreciate if you could comment
the code a little more, especially when it comes to the definition of the
tridiagonal operator. Specifically I would like to understand which
equation is described in each row of the operator.

I definitely prefer your approach to the NR one, and I hope we could get
the best from both approaches.

Let's try to summarize: we want to interpolate N points using N-1 cubic
polynomials. N-1 cubics are defined by 4(N-1) parameters:
P_i(x)=a_i+b_i*x+c_i*x^2+d_i*x^3.
For each cubic we have 2 equations for the values, P_i(x_i)=y_i and
P_i(x_{i+1})=y_{i+1}, that is 2(N-1) equations, plus 2 equations for the
continuity of the first and second derivatives at the joining knots of the
P_i, that are 2(N-2) equations.
So we have 4N-6 equations and 4N-4 parameters. We need 2 boundary
conditions at X_0 and X_N

NR allows to set at X_0 and X_N the value of the first derivative or to set
the second derivative equal to zero.
If I've got it right your code is smarter in the sense that it guesses the
"best" boundary conditions from the shape of the tabulated (x[i],y[i]), but
it's not clear to me how it does work.

I would like to keep the tridiagonal operator approach (that is more clear
than the cryptic NR code), but we could allow the user to set the first or
second derivative (not necessary equal to zero as in NR) if he likes, and
if he doesn't set them then use your guess algorithm.

Do you agree? Am I missing something? And last but not least would you make
the hacking ;-) ?



------------
ciao -- Nando