I create a subset of a Riemannian manifold. It is orientable, but it does not have the attribute 'volume_form'. Why? Note that the metric (g) has the attribute 'volume_form'. [Some variables, all real, elided below]
# Define manifold
M = Manifold(3,'R^3',field='real',start_index=1)
U = M.open_subset('U')
# Add chart and metric
Rho.<r12,r13,r23> = U.chart("r12:(0,+oo) r13:(0,+oo) r23:(0,+oo)")
Rho.add_restrictions([r23<r12+r13, r13<r12+r23, r12<r13+r23])
g = U.riemannian_metric('g');
g[:] = G[:].simplify_full()
# Establish affine connection
nabla = g.connection()
# Check that we have an orientation
U.orientation()
# Volume form
#VolForm = U.volume_form() # FAILS: 'DifferentiableManifold_with_category' object has no attribute 'volume_form'
VolForm = g.volume_form() # This succeeds as expected
VolForm.display()
The on-line documentation shows examples of manifolds with attribute 'volume_form', thus my question.