Maple Professional
Maple Academic
Maple Student Edition
Maple Personal Edition
Maple Player
Maple Player for iPad
MapleSim Professional
MapleSim Academic
Maple T.A. - Testing & Assessment
Maple T.A. MAA Placement Test Suite
Möbius - Online Courseware
Machine Design / Industrial Automation
Aerospace
Vehicle Engineering
Robotics
Power Industries
System Simulation and Analysis
Model development for HIL
Plant Modeling for Control Design
Robotics/Motion Control/Mechatronics
Other Application Areas
Mathematics Education
Engineering Education
High Schools & Two-Year Colleges
Testing & Assessment
Students
Financial Modeling
Operations Research
High Performance Computing
Physics
Live Webinars
Recorded Webinars
Upcoming Events
MaplePrimes
Maplesoft Blog
Maplesoft Membership
Maple Ambassador Program
MapleCloud
Technical Whitepapers
E-Mail Newsletters
Maple Books
Math Matters
Application Center
MapleSim Model Gallery
User Case Studies
Exploring Engineering Fundamentals
Teaching Concepts with Maple
Maplesoft Welcome Center
Teacher Resource Center
Student Help Center
tensor[compare] - compare two objects each of which can be a tensor_type, spin coefficient table or a curvature component table.
Calling Sequence
compare( U, V)
Parameters
U, V
-
U and V can be any of tensor_type, spin coefficient table or curvature component table. See the help file for the tensor package for the explanation of the structures of the three types of objects mentioned above.
Description
This function compares the input parameters U and V with the restriction that both of them must be one of the three recognized structures.
If they are not of the same structure, then this routine reports the structure each has.
If they are both spin coefficient tables or both curvature component table, then the routine compares each pair of corresponding elements of U and V, and returns the sequence of indices of unmatching elements.
If U and V are both tensor_types, then this routine first compares their ranks, dimensions, then characters and returns an appropriate flag if detects any distinction. If U and V share the same rank, dimension, and character then compare() goes on to compare each "independently defined" corresponding pair of components of the two tensor_types as well as the indexing functions of the component arrays. compare() then returns the sequence of the indices of the unmatching components, and the name 'indexfunc' if the two component arrays have different indexing functions.
The name 'Identical' is returned if U and V are found identical in each aspect checked.
Simplification :
compare() has one simplifier, `tensor/compare/simp`, used to simplify the difference of each pair of corresponding components/elements of the two objects being compared. The simplified difference is then checked if vanishing or not.
`tensor/compare/simp` is initialized to `tensor/simp`, but it is recommended that it be customized to suit the needs of a particular comparison.
Caution : When compare() reports that two objects differ in a set of their components/elements, what it really means is that the employed simplifier fails to simplify the pairwise differences of those reported components. The user is hence advised to double check with another simplifier (more powerful presumably) or by inspecting each pair of the reported components.
This function is part of the tensor package, and can be used in the form compare(..) only after performing the command with(tensor), or with(tensor, compare). The function can always be accessed in the long form tensor[compare].
Examples
Note here that neither V nor Z has independently defined components. The various 0's and 1's in the two tensor_types come from the respective indexing functions in the component arrays and that is why compare() only returns indexfunc. See the following example for more details.
See Also
tensor
Download Help Document