DimensionalCombinations[{pq1,pq2,…}]
returns the possible combinations of the list of physical quantities pqi that are dimensionless.
DimensionalCombinations[{pq1,pq2,…},dim]
returns the possible combinations of the list of physical quantities pqi that match the dimensions of physical quantity dim.
DimensionalCombinations
DimensionalCombinations[{pq1,pq2,…}]
returns the possible combinations of the list of physical quantities pqi that are dimensionless.
DimensionalCombinations[{pq1,pq2,…},dim]
returns the possible combinations of the list of physical quantities pqi that match the dimensions of physical quantity dim.
Details and Options
- Physical quantities can be valid QuantityVariable objects, "PhysicalQuantity" entities or physical quantity strings.
- dim can be a QuantityVariable object. It can also be a combination of QuantityVariable objects or their derivatives.
- Solutions are determined by the physical quantity components in unit dimensions purely mathematically and have no guarantee of physical significance.
- Physical dimensions include: "AmountUnit", "AngleUnit", "ElectricCurrentUnit", "InformationUnit", "LengthUnit", "LuminousIntensityUnit", "MassUnit", "MoneyUnit", "SolidAngleUnit", "TemperatureDifferenceUnit", "TemperatureUnit", and "TimeUnit".
- Dimensionless physical quantities will not be used in the solution.
- The following options can be given:
-
GeneratedParameters C how to name parameters that are generated IncludeQuantities {} additional quantities to include - GeneratedParameters takes the option None, which returns a list of parameter-free solutions.
- IncludeQuantities allows quantity values and constants to be included in the combinations.
- The setting "PhysicalConstants" for IncludeQuantities includes the quantities Quantity["BoltzmannConstant"], Quantity["ElectricConstant"], Quantity["GravitationalConstant"], Quantity["MagneticConstant"], Quantity["PlanckConstant"], and Quantity["SpeedOfLight"].
Examples
open all close allBasic Examples (1)
Determine the combination of physical quantities that are dimensionally equivalent to energy:
DimensionalCombinations[{"MassDensity", "Radius", "Time"}, "Energy"]Find all combinations of physical quantities that result in a dimensionless expression:
DimensionalCombinations[{QuantityVariable["V", "ElectricPotential"], QuantityVariable["I", "ElectricCurrent"], QuantityVariable["R", "ElectricResistance"]}]Discover if a dimensionless expression is possible with a set of physical quantities:
DimensionalCombinations[{QuantityVariable["Force"], QuantityVariable["Distance"], QuantityVariable["ElectricCharge"]}]Scope (3)
Use any combination of QuantityVariable objects or physical quantity strings:
pqs = {QuantityVariable["E", "Energy"], QuantityVariable["MassDensity"], "Radius", QuantityVariable["Time"]};
DimensionalCombinations[pqs]The target physical dimensions can be specified as a combination of physical quantities:
DimensionalCombinations[{QuantityVariable["m", "Mass"], QuantityVariable["l", "Length"], QuantityVariable["t", "Time"], QuantityVariable["e", "ElectricCharge"]}, QuantityVariable["V", "ElectricPotential"] * QuantityVariable["K", "Energy"] ^ 2 / QuantityVariable["m", "Mass"]]Derivative objects may also be included in the expression:
DimensionalCombinations[{QuantityVariable["m", "Mass"], QuantityVariable["l", "Length"], QuantityVariable["t", "Time"], QuantityVariable["e", "ElectricCharge"]}, QuantityVariable["RadiantFluxDensity"]''[QuantityVariable["Time"]] / QuantityVariable["Speed"]]"PhysicalQuantity" entities, including in QuantityVariable expressions, can also be used:
DimensionalCombinations[{QuantityVariable[Entity["PhysicalQuantity", "ElectricPotential"]], QuantityVariable["I", Entity["PhysicalQuantity", "ElectricCurrent"]], Entity["PhysicalQuantity", "ElectricResistance"]}]Options (5)
GeneratedParameters (3)
Use a different symbol for parameters:
DimensionalCombinations[{"Force", "Distance", "ElectricCharge", "ElectricCharge"}, IncludeQuantities -> {"ElectricConstant"}, GeneratedParameters -> K]By default, a generic solution is returned:
DimensionalCombinations[
{QuantityVariable["t", "Time"],
QuantityVariable["a", "Acceleration"],
QuantityVariable["F", "Force"],
QuantityVariable["P", "Momentum"],
QuantityVariable["E", "Energy"]}, QuantityVariable["x", "Length"]]Use GeneratedParameters->None to get specific solutions:
DimensionalCombinations[
{QuantityVariable["t", "Time"],
QuantityVariable["a", "Acceleration"],
QuantityVariable["F", "Force"],
QuantityVariable["P", "Momentum"],
QuantityVariable["E", "Energy"]}, QuantityVariable["x", "Length"], GeneratedParameters -> None]GeneratedParameters->None works with IncludeQuantities to allow mixtures of QuantityVariable and Quantity objects:
DimensionalCombinations[
{QuantityVariable["a", "Acceleration"],
QuantityVariable["F", "Force"],
QuantityVariable["P", "Momentum"]}, GeneratedParameters -> None, IncludeQuantities -> {Quantity["Meters"], Quantity["Seconds"]}]IncludeQuantities (2)
Include additional constants and Quantity objects in the result:
DimensionalCombinations[{"Force", "Distance", "ElectricCharge"}, IncludeQuantities -> {"ElectricConstant"}]DimensionalCombinations[{"Force"}, IncludeQuantities -> {Quantity["ElectricConstant"], Quantity[1, "Meters"], "ElementaryCharge"}]Use the setting "PhysicalConstants" to include a standard set of physical constants:
DimensionalCombinations[{"Force", "Distance", "ElectricCharge"}, IncludeQuantities -> "PhysicalConstants"]Applications (4)
Find the missing physical constants in the formula E^2 - p^2 == m^2:
sol1 = DimensionalCombinations[{"Mass", "Energy"}, IncludeQuantities -> "PhysicalConstants"]sol2 = DimensionalCombinations[{"Momentum", "Energy"}, IncludeQuantities -> "PhysicalConstants"]Solve for the value of the constants:
Reduce[{C[1] == -1, -C[1] - 2C[2] == 1}, {C[1], C[2]}]Reduce[{2C[1] == -1, -2C[1] - 4C[2] == 1}, {C[1], C[2]}]sol1 = sol1 /. {C[1] -> -1, C[2] -> 0}sol2 = sol2 /. {C[1] -> -1 / 2, C[2] -> 0}Eliminate unnecessary constants:
sol1 /. C[3] -> 4 /. Quantity[1, "ElectricConstant"^2*"MagneticConstant"^2*"SpeedOfLight"^8] -> Quantity[1, "SpeedOfLight"^2]sol2 /. C[3] -> 1 /. Quantity[1, Sqrt["ElectricConstant"]*Sqrt["MagneticConstant"]*"SpeedOfLight"^2] -> Quantity[1, "SpeedOfLight"]Find the dimensions of the constant needed to balance Kleiber's law
:
sol = DimensionalCombinations[{"MetabolicRate", "Mass"}, IncludeQuantities -> {Quantity["Kilograms"], Quantity["Days"]}]Solve for the value of the mass exponent:
Reduce[-3 C[1] + 1 == 3 / 4, C[1]]sol /. {C[2] -> -1, C[1] -> 1 / 12}Estimate the power of a bomb blast by using only these physical quantities:
pqs = {QuantityVariable["Energy"], QuantityVariable["MassDensity"], QuantityVariable["Radius"], QuantityVariable["Time"]};Construct a dimensionless combination:
DimensionalCombinations[pqs]Given the values of the parameters at a given time, estimate the energy of an explosion:
massdensity = Quantity[1.2, "Kilograms" / "Meters" ^ 3];
radius = Quantity[80, "Meters"];
time = Quantity[0.006, "Seconds"];energy = (massdensity radius^5/time^2)UnitConvert[energy, "KilotonsOfTNT"]Determine possible dimensionless price impact functions depending on stock price, size and cost of bets, trading volumes and the volatility of the stock:
stockprice = QuantityVariable["P", "Money" / IndependentPhysicalQuantity["shares"]];
betsize = QuantityVariable["Q", IndependentPhysicalQuantity["shares"]];
tradingvolume = QuantityVariable["V", IndependentPhysicalQuantity["shares"] / "Time"];
stockvolatility = QuantityVariable[Superscript["σ", "2"], 1 / Sqrt["Time"]];
betcost = QuantityVariable["C", "Money"];Find the general dimensionless combination:
DimensionalCombinations[{stockprice, betsize, tradingvolume, stockvolatility, betcost}]DimensionalCombinations[{stockprice, betsize, tradingvolume, stockvolatility, betcost}, GeneratedParameters -> None]Properties & Relations (1)
Formulas for dimensionless constants can be constructed from physical quantities:
FormulaLookup[All, 10, RequiredPhysicalQuantities -> {"Length", "Speed", "DynamicViscosity", "MassDensity"}]FormulaData[{"ReynoldsNumber", "DynamicViscosity"}]DimensionalCombinations[{QuantityVariable["l", "Length"], QuantityVariable["v", "Speed"], QuantityVariable["η", "DynamicViscosity"], QuantityVariable["ρ", "MassDensity"]}, GeneratedParameters -> None]Possible Issues (5)
Only valid physical quantities can be used:
DimensionalCombinations[{QuantityVariable["ElectricPotential"], QuantityVariable["ElectricCurrent"], QuantityVariable["Ohms"]}]Dimensionless quantities will be omitted from the result:
DimensionalCombinations[{QuantityVariable["Φ", "RadiantFluxDensity"], QuantityVariable["T", "Temperature"], QuantityVariable["ϵ", "Emissivity"]}, IncludeQuantities -> {Quantity["StefanBoltzmannConstant"]}]Only valid constants will be used:
DimensionalCombinations[{"Force", "Distance", "ElectricCharge"}, IncludeQuantities -> {"ElectricConstant", "Foo"}]Angular units and physical quantities are not treated as dimensionless:
DimensionalCombinations[{"Area", "Angle", "Radius"}]DimensionalCombinations[{"Area", "Angle", "Radius"}, IncludeQuantities -> {Quantity["AngularDegrees"]}]While returned combinations are dimensionless, they do not necessarily have a magnitude of one:
DimensionalCombinations[{QuantityVariable["E", "Energy"], QuantityVariable["λ", "Wavelength"]}, IncludeQuantities -> {Quantity["PlankConstant"], Quantity["SpeedOfLight"]}]DimensionalCombinations[{QuantityVariable["E", "Energy"], QuantityVariable["λ", "Wavelength"]}, IncludeQuantities -> {Quantity["ReducedPlankConstant"], Quantity["SpeedOfLight"]}]Interactive Examples (1)
Examine all possible dimensionless combinations for a set of physical quantities and constants:
solutions = DimensionalCombinations[{
QuantityVariable["E", "Energy"],
QuantityVariable["f", "Frequency"],
QuantityVariable["m", "Mass"],
QuantityVariable["T", "Temperature"]
},
IncludeQuantities -> "PhysicalConstants",
GeneratedParameters -> None];
Manipulate[solutions[[i]], {{i, 1, "Solution"}, 1, Length[solutions], 1}, SaveDefinitions -> True]Neat Examples (2)
Explore the possible dimensionless combinations of electromagnetic physical quantities:
DimensionalCombinations[{
QuantityVariable["Q", "ElectricCharge"],
QuantityVariable["V", "ElectricPotential"], QuantityVariable["I", "ElectricCurrent"], QuantityVariable["R", "ElectricResistance"],
QuantityVariable["C", "ElectricCapacitance"], QuantityVariable["L", "MagneticInductance"],
QuantityVariable["M", "MagneticMemristance"], QuantityVariable["Φ", "MagneticFlux"]},
GeneratedParameters -> None]Derive the factor for the fine structure constant from physical quantities:
sol = DimensionalCombinations[{},
IncludeQuantities -> {
Quantity["SpeedOfLight"], Quantity["PlanckConstant"], Quantity["ElectricConstant"],
Quantity["ElementaryCharge"]
},
GeneratedParameters -> None]UnitConvert[sol[[1]], "SIBase"] ^ 2 / Quantity["FineStructureConstant"]Related Guides
Text
Wolfram Research (2014), DimensionalCombinations, Wolfram Language function, https://reference.wolfram.com/language/ref/DimensionalCombinations.html (updated 2018).
CMS
Wolfram Language. 2014. "DimensionalCombinations." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2018. https://reference.wolfram.com/language/ref/DimensionalCombinations.html.
APA
Wolfram Language. (2014). DimensionalCombinations. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/DimensionalCombinations.html
BibTeX
@misc{reference.wolfram_2026_dimensionalcombinations, author="Wolfram Research", title="{DimensionalCombinations}", year="2018", howpublished="\url{https://reference.wolfram.com/language/ref/DimensionalCombinations.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_dimensionalcombinations, organization={Wolfram Research}, title={DimensionalCombinations}, year={2018}, url={https://reference.wolfram.com/language/ref/DimensionalCombinations.html}, note=[Accessed: 13-June-2026]}