Skip to content

l716.secondderiv ​

Implementation level ​

TypeStatus
CML extraction template
HTML5 representation

Template attributes ​

AttributeValue
sourceGaussian log
idl716.secondderiv
pattern\s*The second derivative matrix:\s*
repeat*
endPattern\s*Eigenvalues.*$.....[^E][^i][^g].*
endOffset1
xml:basel716/l716.secondderiv.xml

Input ​

 The second derivative matrix:
                          R1        R2        R3        R4        A1
           R1           0.32284
           R2           0.00000   0.32284
           R3           0.00000   0.00000   0.32284
           R4           0.00000   0.00000   0.00000   0.32284
           A1           0.00000   0.00000   0.00000   0.00000   0.16000
           A2           0.00000   0.00000   0.00000   0.00000   0.00000
           A3           0.00000   0.00000   0.00000   0.00000   0.00000
           A4           0.00000   0.00000   0.00000   0.00000   0.00000
           A5           0.00000   0.00000   0.00000   0.00000   0.00000
           A6           0.00000   0.00000   0.00000   0.00000   0.00000
                          A2        A3        A4        A5        A6
           A2           0.16000
           A3           0.00000   0.16000
           A4           0.00000   0.00000   0.16000
           A5           0.00000   0.00000   0.00000   0.16000
           A6           0.00000   0.00000   0.00000   0.00000   0.16000
     Eigenvalues ---    0.16000   0.16000   0.16000   0.16000   0.16000
     Eigenvalues ---    0.32284   0.32284   0.32284   0.322841000.00000

Output text ​

xml
<comment class="example.output" id="l716.secondderiv">
    <module cmlx:templateRef="l716.secondderiv">
      <array delimiter="|" dataType="xsd:string" size="10" dictRef="cc:coordid">|R1|R2|R3|R4|A1|A2|A3|A4|A5|A6|</array>
      <array dataType="xsd:double" size="55" dictRef="cc:secondderiv" type="lowerTriangle">0.32284 0.0 0.32284 0.0 0.0 0.32284 0.0 0.0 0.0 0.32284 0.0 0.0 0.0 0.0 0.16 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.16 0.0 0.16 0.0 0.0 0.16 0.0 0.0 0.0 0.16 0.0 0.0 0.0 0.0 0.16</array>
      <array dataType="xsd:double" size="10" dictRef="cc:eigenval">0.16 0.16 0.16 0.16 0.16 0.32284 0.32284 0.32284 0.32284 1000.0</array>
    </module>
  </comment>

Template definition ​

xml
<record repeat="*">\s*The second derivative matrix.*</record>
<templateList>  <template pattern="\s&#123;20&#125;\s*\S+\s*.*" endPattern="(\s*Eig.*)|(\s&#123;20&#125;).*" repeat="*">    <record id="serial">&#123;1_5A,cc:coordid&#125;\s*</record>    <record id="row" repeat="*">&#123;A,x:x&#125;&#123;1_5F,cc:secondderiv&#125;\s*</record>
    </template>  <template repeat="*" pattern="\s*Eigenvalues.*" endPattern=".*">    <record repeat="*" id="eigen">\s*Eigenvalues \-\-\-\s&#123;1_5F10.5,cc:eigenval&#125;\s*</record>
    </template>
  </templateList>
<transform process="joinArrays" xpath=".//cml:array[@dictRef='cc:coordid']" />
<transform process="joinArrays" xpath=".//cml:array[@dictRef='cc:secondderiv']" />
<transform process="addAttribute" xpath=".//cml:array[@dictRef='cc:secondderiv']" name="type" value="lowerTriangle" />
<transform process="joinArrays" xpath=".//cml:array[@dictRef='cc:eigenval']" />
<transform process="delete" xpath=".//*[@dictRef='x:x']" />
<transform process="pullup" xpath=".//cml:array" repeat="3" />
<transform process="delete" xpath=".//cml:module[count(*)=0]" />
<transform process="delete" xpath=".//cml:module[@cmlx:templateRef='NULL_ID']" />
<transform process="delete" xpath=".//cml:list[count(*)=0]" />
<transform process="delete" xpath=".//cml:list[count(*)=0]" />