So what algorithm do you use to calculate "cubic colorspace units"?
First step is creating a gamut surface. The gamut surface is computed using a variation of
Jan Morovic's Segment Maximum approach. Points are generated from the contents of the
A2B table, with either explicit or guessed ink limits. The segments are filtered with an adaptive
depth structure, so that approximately the same detail is kept on the gamut surface. Multiple
direction vectors at each point are retained. The resultant points are used to create the overal
convex hull, but in an adaptive, non-linearly scaled radial space, that allows for a level of
convexity in the PCS result.
Since the resulting surface is a closed set of polygons, a standard volume computation
can be used, in this case the formula from "Area of planar polygons and volume of polyhedra"
by Ronald N. Goldman, from Graphics Gems II, pp 170.
The major sources of inaccuracy are: 1) The surface not following the gamuts actual convexity
2) The surface showing convexity where it doesn't exist, 3) Not following surface detail due to
insufficient sampling density (this can be selected with a parameter), 4) Inaccurate ink limit
boundary due to the use of an ink limit that is not a simple sum of inks.