Hello all.
I am have recently gotten help in here, where it was suggested to me that i used Liblip to interpolate my 3d datasets. This has worked fine after i figured out how to make it work. I have however now encountered a problem with the LipIntSmoothLipschitz command, where on the latest dataset i am running, it makes a memory drain which ultimately after a long data accumulation, results in Kernel connection loss. I hope someone has an idea of what is wrong.
My loaded data is assigned like this:
First line: 2 (number of dimensions), 1852 (number of lines)
Second line and below: X Y Z (In first part sorted by increasin Y)
Here is my setup (Have made notes in, and at the bottom of worksheet):
**> **

**> restart; **

with(plots):

Warning, the name changecoords has been redefined

**> DLLPATH:="mapleliblip.dll":**

...*The loading commands have been omitted, but are as supplied in the applications center*...

**> fp := fopen(`Cross12_Maple_ALL2.txt`,READ,TEXT):**

dimensions := fscanf(fp, `%d %d`):

dim:= dimensions[1]:

Ndata:=dimensions[2]:

XD:=Matrix(1..Ndata, 1..dim,datatype=float[8], order=C_order):

YD:=Vector(1..Ndata,datatype=float[8], order=C_order): # will hold the function values

X:=Vector(1..dim,datatype=float[8]):

for i from 1 to Ndata do

for j from 1 to dim do

dat := fscanf(fp, `%f `):

XD[i,j]:= dat[1]:

od:

dat := fscanf(fp, `%f`):

YD[i]:= dat[1]:

od:

fclose(fp):

Lo:=Vector(1..2,datatype=float[8],[-1.2,0]):

Up:=Vector(1..2,datatype=float[8],[1.2,3]):

**> **

**> LipIntComputeLocalLipschitz(dim, Ndata, XD,YD);**

**> **

**> f_aux:=(t1,t2)->LipIntValueLocal(dim,Ndata, convert([t1,t2],Vector,datatype=float[8]), XD,YD):**

R:=50.0: #plot resolution

sdata :=[seq([ seq([i/R,j/R,f_aux(i/R,j/R)], i=R*Lo[1]..R*Up[1])], j=R*Lo[2]..R*Up[2])]:

S1:=surfdata(sdata,axes=normal,grid=[10,10],style=HIDDEN, axes=BOXED,orientation=[-140,60]):

S2:=pointplot3d({seq([XD[k,1],XD[k,2],YD[k]],k=1..Ndata)},axes=BOXED,color=BLACK):

display({S1,S2});

**> **

**> LipIntComputeLocalLipschitz(dim,Ndata,XD,YD); **

f_aux1:=(t1,t2)->LipIntValueLocal(dim,Ndata, convert([t1,t2],Vector,datatype=float[8]), XD,YD):

f_aux1(0.1,0.2); #test the auxiliary function

**> R:=20.0: #plot resolution**

sdata :=[seq([ seq([i/R,j/R,f_aux1(i/R,j/R)], i=R*Lo[1]..R*Up[1])], j=R*Lo[2]..R*Up[2])]:

S1:=surfdata(sdata,axes=normal,grid=[100,100],style=HIDDEN, axes=BOXED,orientation=[25,50]):

S2:=pointplot3d({seq([XD[k,1],XD[k,2],YD[k]],k=1..Ndata)},axes=BOXED,color=BLACK):

display({S1,S2});

**> **

**> LC:=20: # this is a desired value**

TD:=Vector(1..Ndata,datatype=float[8], order=C_order): # will hold the smoothened values

**> LipIntSmoothLipschitz(dim, Ndata,XD,YD,TD,LC,0,0,0);**

After this command, no matter what LC I put in, I get an error:
Memory count stops, time count stops and maple accumulate data for a long period of time, in some cases up to 2 GB, until I get an error message saying: “Kernel connection lost”.
I have run the exact same setup with a smaller dataset, where x-values are only in the interval of x=-0.6..0.6 (compared to the -1.2..1.2), but otherwise is the same dataset, and there I do not have any problems computing a result and displaying it.
I am running Maple 10, in Java Runtime Environment v.1.6.0_01. I know there has been a problem with v.1.5, but am not aware whether the newer version has bugs too. This should however not be the problem since I have made it work with other calculations.
NB: I had the same problems when I was running a set of data, like this, where I had not scaled everything down by a factor 1000.
Thank you for any help!
**> **

**> **

This post was generated using the MaplePrimes File Manager

View 4416_Cross12 _GoodLiblip.mw on MapleNet or Download 4416_Cross12 _GoodLiblip.mw

View file details