copyReal - Maple Help

ComplexNumericRTable.copyReal

create and return a copy of the real values of the current ComplexNumericRTable

 Calling Sequence NumericRTable copyReal( ) throws MapleException

Description

 • The copyReal function creates and returns a new NumericRTable that contains the real components of each element of the current ComplexNumericRTable.
 • As RTables do not have unique representations, the returned copy is a different Maple object from the original.  Therefore changes to the copy do not affect the original.

Examples

 import com.maplesoft.openmaple.*; import com.maplesoft.externalcall.MapleException; class Example { public static void main( String notused[] ) throws MapleException { String[] mapleArgs = { "java" }; Engine engine = new Engine( mapleArgs, new EngineCallBacksDefault(), null, null ); ComplexNumericRTable cnRt = (ComplexNumericRTable)engine.evaluate( "Array( 1..2, 1..2, [[1+I, 2+2*I],[3+3*I, 4+4*I]], datatype=complex(sfloat) ):" ); ComplexNumericRTable rCopy = cnRt.copyReal(); System.out.println( cnRt ); System.out.println( rCopy ); int[] index = new int[2]; index[0] = 1; index[1] = 1; ComplexNumeric cn = (ComplexNumeric)engine.evaluate( "10+5*I:" ); rCopy.assign( index, cn ); System.out.println( cnRt ); System.out.println( rCopy ); } }

Executing this code produces the following output.

 Array(1..2, 1..2, [[1.+1.*I,2.+2.*I],[3.+3.*I,4.+4.*I]], datatype = complex(sfloat), storage = rectangular, order = Fortran_order) Array(1..2, 1..2, [[1.+0.*I,2.+0.*I],[3.+0.*I,4.+0.*I]], datatype = complex(sfloat), storage = rectangular, order = Fortran_order) Array(1..2, 1..2, [[1.+1.*I,2.+2.*I],[3.+3.*I,4.+4.*I]], datatype = complex(sfloat), storage = rectangular, order = Fortran_order) Array(1..2, 1..2, [[10.+5.*I,2.+0.*I],[3.+0.*I,4.+0.*I]], datatype = complex(sfloat), storage = rectangular, order = Fortran_order)