public static Measure Inverse(Measure measure)
 {
     var derivedMeasure = new DerivedMeasure();
     return
         derivedMeasure.Standardize(new Measure("unnamed", Inverse(measure.Equivalent), Inverse(measure.SIequivalent)));
 }
 public static Measure Root(Measure measure, int pow)
 {
     var derivedMeasure = new DerivedMeasure();
     return derivedMeasure.Standardize(new Measure("unnamed", Root(measure.Equivalent, pow), Root(measure.SIequivalent, pow)));
 }
 public static Measure Divide(Measure measure1, Measure measure2)
 {
     var derivedMeasure = new DerivedMeasure();
     return derivedMeasure.Standardize(Multiply(measure1, Inverse(measure2)));
 }
 public static Measure Multiply(Measure measure1, Measure measure2)
 {
     var derivedMeasure = new DerivedMeasure();
     return derivedMeasure.Standardize(new Measure("unnamed", Multiply(measure1.Equivalent, measure2.Equivalent),
         Multiply(measure1.SIequivalent, measure2.SIequivalent)));
 }