Multiple Constraints?

31 views
Skip to first unread message

Erik

unread,
Jan 31, 2011, 4:10:48 PM1/31/11
to OxCal
Hello-

I am working with four dates, and want to apply multiple constraints:
1. Three are part of a short P_Sequence (dates A, B, and C)
2. All these dates are also part of a two part basic sequence: Phase
(dates A, B, and D), and then C.

So far, my code looks like the following, which of course isn't
working. Is there a way to embed both sequences into a single
sequence? Or another way to define multiple constraints?
Thanks for the help!
-Erik



A=R_Date("P-534",1866,62) { z=216; };
B=R_Date("Hv-19",1645,80) { z=180; };
C=R_Date("Hv-18",1630,130) { z=175; };
D=R_Date("GaK-195",1750,100);

P_Sequence("",100)
{
Boundary();
A
B
C
Boundary();
};

Sequence()
{
Boundary();
Phase()
{
A
B
D
};
C
Boundary();
};

MILLARD A.R.

unread,
Jan 31, 2011, 4:26:33 PM1/31/11
to ox...@googlegroups.com
> From: Erik
> Sent: 31 January 2011 21:11

>
> I am working with four dates, and want to apply multiple
> constraints:
> 1. Three are part of a short P_Sequence (dates A, B, and C)
> 2. All these dates are also part of a two part basic sequence:
> Phase (dates A, B, and D), and then C.

I think you need to have

P_Sequence("",100)
{
Boundary();
A
B
C
Boundary();
};

Sequence()
{
Boundary();
D
C
Boundary();
};

Essentially you do not know the relationship of A and B with D, but you only need to specify the relationships you do know.

Best wishes

Andrew
--
 Dr. Andrew Millard                       A.R.M...@durham.ac.uk  
 Durham University
 Senior Lecturer in Archaeology              Tel: +44 191 334 1147
 Archaeology:      http://www.dur.ac.uk/archaeology/       
Personal webpage: http://www.dur.ac.uk/a.r.millard/


Erik

unread,
Jan 31, 2011, 4:45:56 PM1/31/11
to OxCal
Let me give it a second try.

I have depth information for A, B, C, so they can be estimated with a
P_Sequence.
A, B, and D are all part of a single phase (but I don't have depth
information for D).
C postdates this phase.

the following code worked, but I am still not sure if it is reflecting
the relationships I want. Can I stick a phase in the middle of
P_Sequence, and include a dates without depth information? Does the
P_Sequence respect the depth information of dates A and B embedded in
the phase?

As an aside, what's the difference between putting the boundaries
within or without the P_Sequence?

P_Sequence(100);
Boundary();
{
Phase()
{
A
B
D
};
C
Boundary();
};

thanks,
Erik

Christopher Ramsey

unread,
Jan 31, 2011, 5:01:54 PM1/31/11
to ox...@googlegroups.com
Andrew is right - in most cases you would not have a constraint like that but if you want to do this, it can be done. However to get it to work you need to get some of the syntax just right. A few key things:

1. Put the depths in with the P_Sequence - not in the date definitions.

2. You need to spell out the P_Sequence in code - short-hand cannot be used.

3. When you want to specify constraints do this using shorthand if you like but you either want

Sequence()
{
Date("=A");
Date("=B");
};

or

A<B;

you cannot use a mixture like you have here.

There are also some other subtleties.

a) For technical reasons if you are using cross referencing, I would put definite z values for the Boundaries in the P_Sequence and don't make it the same as the adjacent cross referenced value - otherwise you get essentially three parameters all equal to one another and this can stop the program from finding a start value.

b) Only use Boundaries to set up the main groupings once. Otherwise you are in danger of repeating the same information in several places - and then the prior does not remain as neutral as you intend.

So for your example you would have:

Plot()
{
A=R_Date("P-534",1866,62);
B=R_Date("Hv-19",1645,80);
C=R_Date("Hv-18",1630,130);


D=R_Date("GaK-195",1750,100);
P_Sequence("",100)
{
Boundary()

{
z=220;
};
Date("=A")
{
z=216;
};
Date("=B" )
{
z=180;
};
Date("=C")
{
z=175;
};
Boundary()
{
z=170;
};
};
(A|B|D)<C;
};

The (A|B|C) is the equivalent of a phase.

Christopher

> --
> You received this message because you are subscribed to the Google Groups "OxCal" group.
> To post to this group, send an email to ox...@googlegroups.com.
> To unsubscribe from this group, send email to oxcal+un...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/oxcal?hl=en-GB.
>

Erik

unread,
Feb 3, 2011, 3:16:56 AM2/3/11
to OxCal
Thanks Christopher - that is exactly the help I needed with the
syntax! I am still learning the subtleties. -Erik
.
Reply all
Reply to author
Forward
0 new messages