## 792 Reputation

9 years, 293 days

## @Thomas Dean Why do you talk about ...

Why do you talk about Maplet and where the message in your initial question comes from?
I don't see any Maplet command  in your code.

## There is no Maple restriction.But to hav...

There is no Maple restriction.

But having already encountered this problem in my professional activities I can tell you that since Windows10 such a limitation is imposed by the OS (and defined by the value [that you can change] of variable MAX_PATH).
Neither Mac OSX not Linux impose a limitation to the lenth of a path.

## First point: replace your last line by t...

First point: replace your last line by this one

`obj := add((stress[i]-true_stress[i])^2, i = 1 .. 10)`

Next it would be usefull you provode ranges of variation for the seven parameters (G1,G2,G3,tau1,tau2,tau3, strain) for a crude attempt to minimize obj lead to non numeric values.

## Matrix M corrected...

You will find in the attached file:

• A correct construction of M (if I'm not mistaken).

• A synthetic representation of its characteristic polynomia (formula (6), valid for any value of N).

• The expression CharacteristicPolynomial provides and a few ways to express this lengthy formula in a more synthetic form (while less tractable than (formula (6))
 > restart
 > with(LinearAlgebra):
 > V := (N, s) -> Vector(N, symbol=s): J := N -> IdentityMatrix(N):
 > n := 4: M := I *~ (              DiagonalMatrix( < -2*lambda, V(n, a) > )              +             (lambda+m__0) *~ IdentityMatrix(n+1)           ): M[n+1, 1..n] := -V(n, c)^+: M[1..n, n+1] :=  V(n, c): M

A pretty formula for the characteristic polynomial

 > # Step 0: define X this way X := eta *~ IdentityMatrix(n+1) - eval(M, lambda=theta-m__0)
 (1)
 > # Step 1: write each diagonal element this way for i from 1 to n+1 do   X[i, i] := eta-u[i] end do: X;
 (2)
 > # Step 2: look to thexhape of the minots of W wrt to its rightmost column for i from 1 to n+1 do   Minor(X, i, n+1) * X[i, n+1] * (-1)^(i-1) end do;
 (3)
 > # Step 3: then the determinant of X writes det := add(Minor(X, i, n+1) * X[i, n+1] * (-1)^(i-1), i=1..n+1);
 (4)
 > # Step 4: simplify this expression bt setting Z[i] = eta-u[i] expand( eval(det, [seq(eta-u[i]=Z[i], i=1..n+1)]) / mul(Z[i], i=1..n+1) );
 (5)
 > # Step 5: Thus this representation of the characteristic polynomial as a rational fraction det := (-1)^'n' * Product(Z[k], k=1..'n'+1) * (1 + Sum(c[k]^2/Z[k]/Z[k+1], k=1..'n')); print(): k := 'k': reminder := Z[k] = eval(eta-u[k], u[k] = 'M[k, k]');
 (6)

A direct use of  CharacteristicPolynomial

 > # With CharacteristicPolynomial: CP := CharacteristicPolynomial(eval(X, eta=0), eta);
 (7)
 > # A more synthetic form with(LargeExpressions): Synthetic_form := collect(CP, eta, Veil[T]);
 (8)
 > # Where the coefficients are: Coefficients_are := [ seq(T[i] = Unveil[T](T[i]), i=1..LastUsed[T]) ]: print~(Coefficients_are):
 (9)

 > # In these expressions of T[i] we recognize: T[1] = Determinant(eval(X, eta=0)); T[2] = -Trace(eval(X, eta=0));; T[3] = - expand( 1/2*(Trace(eval(X, eta=0)^2) - Trace(eval(X, eta=0))^2) )
 (10)
 > # and so on, those are classical formulas.

## @Ahmed111 I'm sorry, I didn'...

@Ahmed111

I'm sorry, I didn't see the comma in

`diag(-2*lambda, a)`

`diag(-2*lambda . a)`

To get the matrix you want  you have to write (a being a vector of size N) write

`M11 := DiagonalMatrix( < -2*lambda, V(n, a) > )`

Nevertheless you need to me more precise: what is exactly the shape ofthe matrix M you want to build (write it by hand for N=2 to provide an example)?

A few interpretations are fiven in the attached file (each corresponds to an input text of different color)
Whatever, assuming c has length N+1, here is a correction (inputs in black at the end of the file)
CP.mw

## @Hahn Hahn Look here to see how you...

Look here to see how you can check your inputs Check_your_inputs.mw
(as I use an "old" version of Maple I had to write g := (x,q) -> ... for it doesn't accept your syntax)

@Thomas Richard, please excuse me for intervening.

## @sursumCorda With the linalg packag...

With the linalg package the eigenvectors are returned this way

```linalg:-eigenvectors(m);
[-1, 1, {Vector[row](2, {(1) = -1, (2) = 1})}], [7, 1, {Vector[row](2, {(1) = 1, (2) = 1})}]
```

But for the LinearAlgebra package you get a vector of eigenvalues and the matrix of eigenvectors.
If you set _EnvLinalg95 to true, use the option output='list' in  LinearAlgebra:-Eigenvectors (which then returns the eigenvectors under the form linalg-eigenvectors does):

```_EnvLinalg95 := true:
LinearAlgebra:-Eigenvectors(m, output='list');
[[7, 1, {Vector(2, {(1) = 1, (2) = 1})}], [-1, 1, {Vector(2, {(1) = -1, (2) = 1})}]]

```

## You have 3 indeterminates (x, y, z) and ...

You have 3 indeterminates (x, y, z) and 2 equations (notice there is no f nor g as you say in the text).
Could you be more precise?

## @Carl Love I tried hard, not enough...

I tried hard, not enough obviously, to prove the equality by hand.

For the record the left hand side of rel(n) is a consequence of another relation, one can get on several papers, which is said to be "true for all integers larger than 3".
I observed it was also true for n=2, for any negative integer... and for any real number but 1 (so what is it to write the previous sentence?).
This puzzled me and then started simplifying rel(n), rewritting some terms differently and so on, thinking that assume/assuming would be of no help.
Thanks again for this Martin Gardner's Ahah intuition.

@acer @vv

## @Carl Love Sorry, I missed it.But h...

@Carl Love

Sorry, I missed it.
But its notations remain confusing, not to say meaningless.

## Kitonum's code...

ContoursWithLabels is Kitonum's code see_here

@C_R

## A hint...

Go here help(dsolve[numeric]), search for 'known', try to understand hot to proceed from examples dsol8 and dsol8b.

## @Muhammad Usman Does this suit you?...

Does this suit you?

```plots[display](
PP
, size = [500, 400]
, axis[1]=[tickmarks=[seq(k=k/10., k=0..20, 5)]]
, axis[2]=[tickmarks=[seq(k=k/10., k=0..20, 5)]]
);
```

But given L=1 and T=2, it seems to me that this

```plots[display](
PP
, size = [500, 400]
, axis[1]=[tickmarks=[seq(k=evalf(k*`&Delta:x`), k=0..20, 5)]]
, axis[2]=[tickmarks=[seq(k=evalf(k*`&Delta:t`), k=0..20, 5)]]
);
```

would be more correct.

What is the structure of the data you want to send to Tecplot?
I guess it is a collection of contours, each contour being a collection of segments, that is a collection of 2x2 matrices.
The question is what structure Tecplot can manage? Once defined, the corresponding structure can be build in Maple.
But the "precision" of a contour of a given length is defined by the number of segments which approximate this contour. So the drawing in Tecplot of a contour made of, for instance, 100 segments constructed in Maple, will not have an higher resolution than thesame contour directly drawn in Maple.

 3 4 5 6 7 8 9 Last Page 5 of 25
﻿