<Next version of Ox> <Previous version of Ox>

Ox 1.20: new features and fixes


Read this first

When Ox 1.20 is released, the following is required after upgrading:

New features


Syntax enhancements


New functions

cexp(), clog():
complex exponent, logarithm
Database class:
GetVarByIndex, GetVarIndex(), GetVarNameByIndex, GetSample(), Grow(), ForceSample(), GetGroupNames(), SelectByIndex(), DeSelectByIndex(), DeSelectByName()
decqr(), decqrmul():
QR decomposition
denskernel(), denspoisson():
kernel and poisson densities
dfft():
discrete Fourier transform
diffpow()
fractional difference
discretize():
counts date in regularly spaced intervals
dropc(), dropr():
returns a matrix with specified rows/columns dropped.
gammafact():
gamma function, gamma(n+1) equals n!
isdotinf():
checks for infinity
norm():
various types of norm of a matrix or vector
oxfilename():
returns the current source code name
oxwarning()
controls various run-time warnings
PcFiml class:
Support for I(2) cointegration tests.
p-values of I(1) and I(2) cointegration tests.
PcNaiveDgp class:
Support for breaks in DGP
println(), fprintln():
as print(), fprint(), but ensuring that next output is on a new line.
probpoisson():
Poisson cumulative density function
raninvgaussian(), ranlogarithmic(), ranlogistic(), ranlogn(), ranmultinomial(), rannegbin(), ranstable(), ransubsample(), ranuorder()
new random number generators
Simulation class:
Support for plotting results while simulating
sizec(), sizer(), sizerc():
similar to columns(), rows, rows()*columns(), but returning 1 for a scalar integer or double.
vecrindex():
the vecr version of vecindex()

Deleted functions


Function reorganization


Function enhancements

Database class:
Clearer about missing values: when loading data in database class: default from -9999.99 to .NaN.
Append() can now use string for one column, append same var twice: give warning.
Renew() can now use array for several columns, will append if new variable is created.
renamed GetMaxLag() to GetMaxSelLag(), SetSelSample() to SetSelSample()
decsvd():
now allowed for any matrix
denst():
can now do double arguments.
eigen():
now returns 1xm and mxm if there are only real eigenvalues, 2xm and 2mxm when there are complex ev's.
fft():
created real fft and inverse real fft
invertsym():
added optional logdet argument
MaxBFGS():
couldn't handle a one parameter problem where the 1 parameter is a double. Also couldn't transpose a 0 x c matrix.
allows 0 or matrix for mHess argument (0: use identity matrix, matrix: use that matrix).
now continues with line search while there is improvement. This could lead to somewhat different results for functions with multiple optima.
pacf():
can solve system (apply filter), and apply inverse filter.
PcNaiveDgp class:
is now more efficient when using NORMAL as distribution. This will affect outcomes a little bit, because random numbers are generated in a different order.
periodogram():
one argument function evaluates T*periodogram at Fourier frequencies. ilag <= 0 now also uses T-1.
print():
Added option to have different format for each matrix column "%cf".
Small chance to default matrix format strings, the column separation is now part of the format, and not automatically included anymore.
Changed default printing for: array, class object, function.
quantilec(), quantiler(), sorting functios
now skips over .NaN (was going in infinite loop during sorting).
rank(x):
is relative to norm, so rank(1e-100) is 1; created two argument version.
ranseed()
allows choice of two new random number generators.
solvelu():
can be used to solve triangular systems.
unit():
created two argument version
vecindex():
created two argument version
vecindex()(), deletec() (etc.), and selectifc() (etc.):
return <> if the result is empty.
vecindex(), sortbyc(), sortbyr(), limits(), submat(), strfind():
now take array_base into account.
zeros(ma), ones(ma), and constant(d,ma);:
when ma is matrix: uses dimensions of ma to create the matrix.

Function bug fixes

Database class:
.fmt extension for formatted data file in to confused it.
denst():
was wrong for odd df's (it was using int(df/2)) this was most noticable for t(1) (Cauchy) distribution.
imod(x,0):
crashes out.
isdotfeq():
did not work on two scalar arguments
logdet():
didn't set sign for 1x1 mat argument also didn't take logarithm in that case.
ols2c(), ols2r():
had potential problem when using singular design matrix, XtXinv argument is set to 0 when singular.
pacf():
did not compute partial autocorrelations correctly
ranf():
converted degrees of freedom to an integer
timespan():
better writing of lapsed time (especially for >100 hrs) Time text went wrong when it is long, e.g. > 100 hours.

Bug fixes:


Known problems in version 1.20 which are solved in 1.20a:


Ox version 1.20a. This file last changed 23-May-1998. © JA Doornik
<Doornik home>