Items tagged with translation

Feed

Hello;

Maple can't translate this valid Mathematica expression, it gives error

restart;
with(MmaTranslator):
eq:=FromMma(`x^2(a+y[x])^2 y'[x]==(1+x^2)(a^2+y[x]^2)`);

Error, (in MmaTranslator:-FromMma) The form, a^b^c, is found in the expression. It means either (a^b)^c or a^(b^c). Please use parentheses to clarify the meaning


But there is nothing wrong with the above expression. It is valid Mathematica expression. I found why Maple is confused. It needed a SPACE after the first x^2. So the following works in Maple

eq:=FromMma(`x^2 (a+y[x])^2 y'[x]==(1+x^2)(a^2+y[x]^2)`);

And now the error went away.  But a space not needed in Mathematica. It works either way.

Maple 2016.1 on windows.

 

 

how to translate python code which use scipy, numpy to maple code

 

 

import numpy as np
from scipy.sparse.linalg import svds
from functools import partial


def emsvd(Y, k=None, tol=1E-3, maxiter=None):
    """
    Approximate SVD on data with missing values via expectation-maximization

    Inputs:
    -----------
    Y:          (nobs, ndim) data matrix, missing values denoted by NaN/Inf
    k:          number of singular values/vectors to find (default: k=ndim)
    tol:        convergence tolerance on change in trace norm
    maxiter:    maximum number of EM steps to perform (default: no limit)

    Returns:
    -----------
    Y_hat:      (nobs, ndim) reconstructed data matrix
    mu_hat:     (ndim,) estimated column means for reconstructed data
    U, s, Vt:   singular values and vectors (see np.linalg.svd and 
                scipy.sparse.linalg.svds for details)
    """

    if k is None:
        svdmethod = partial(np.linalg.svd, full_matrices=False)
    else:
        svdmethod = partial(svds, k=k)
    if maxiter is None:
        maxiter = np.inf

    # initialize the missing values to their respective column means
    mu_hat = np.nanmean(Y, axis=0, keepdims=1)
    valid = np.isfinite(Y)
    Y_hat = np.where(valid, Y, mu_hat)

    halt = False
    ii = 1
    v_prev = 0

    while not halt:

        # SVD on filled-in data
        U, s, Vt = svdmethod(Y_hat - mu_hat)

        # impute missing values
        Y_hat[~valid] = (U.dot(np.diag(s)).dot(Vt) + mu_hat)[~valid]

        # update bias parameter
        mu_hat = Y_hat.mean(axis=0, keepdims=1)

        # test convergence using relative change in trace norm
        v = s.sum()
        if ii >= maxiter or ((v - v_prev) / v_prev) < tol:
            halt = True
        ii += 1
        v_prev = v

    return Y_hat, mu_hat, U, s, Vt

Construction of arabesques of melodic line BACH

Elena, Liya "Construction of arabesques of melodic line BACH", Kazan, Russia, school#57
       
> restart:
> with(plots):with(plottools):

      The setting and visualization of line BACH: B - note b-flat, A - note la, C - note do, H - note si.
> p0:=plot([[0,1],[2,0],[4,1.5],[6,1]],thickness=4,color=cyan,scaling=constrained);
>
>   p0 := PLOT(
>
>         CURVES([[0, 1.], [2., 0], [4., 1.500000000000000], [6., 1.]])
>
>         , SCALING(CONSTRAINED), THICKNESS(4), AXESLABELS( ,  ),
>
>         COLOUR(RGB, 0, 1.00000000, 1.00000000),
>
>         VIEW(DEFAULT, DEFAULT))
>
> plots[display](p0);
> r_i:=seq(rotate(p0,i*Pi/4),i=1..8):
> p1:=display(r_i,p0):plots[display](p1,scaling=constrained);

> c1:=circle([0,0],6,color=blue,thickness=2):
> plots[display](c1,p1,scaling=constrained);
> p_c:=plots[display](c1,p1,scaling=constrained):

> pt_i_2:=seq(translate(p1,0,2*6*i),i=0..4):
> plots[display](pt_i_2,scaling=constrained);
> pt_i_22:=seq(translate(p1,0,6*i),i=0..4):
> plots[display](pt_i_22,scaling=constrained);
> pt_i_222:=seq(translate(p1,0,1/2*6*i),i=0..4):
> plots[display](pt_i_222,scaling=constrained);

> pr:=rotate(p1,Pi/8):
> plots[display](pr,scaling=constrained);
> plots[display](p1,pr,scaling=constrained);
> pr_i:=seq(rotate(p1,Pi/16*i),i=0..8):
> plots[display](pr_i,scaling=constrained);


> pt_1:=translate(p1,0,2*6):
> pr_1_i:=seq(rotate(pt_1,Pi/3.5*i),i=0..6):
> plots[display](pr_1_i,scaling=constrained);
> pr_11_i:=seq(rotate(pt_1,Pi/5*i),i=0..10):
> plots[display](pr_11_i,scaling=constrained);
> pr_111_i:=seq(rotate(pt_1,Pi/6.5*i),i=0..12):
> plots[display](pr_111_i,scaling=constrained);


Elena, Liya "Designing of islamic arabesques", Kazan, Russia, school #57


> restart:
      At the theorem of cosines  c^2 = a^2+b^2-2*a*b*cos(phi);
      In our case  c=a0 ,  a=1 ,  a=b , phi; - acute angle of a rhombus (the tip of the kalam).
      s0 calculated at theorem of  Pythagoras.
     (а0 - horizontal diagonal of a  rhombus, s0 - vertical diagonal of a  rhombus)
> a:=1:phi:=Pi/4:
> a0:=sqrt(a^2+a^2-2*a^2*cos(phi));

                       a0 := sqrt(2 - sqrt(2))

> solve((s0^2)/4=a^2-(a0^2)/4,s0);

                sqrt(2 + sqrt(2)), -sqrt(2 + sqrt(2))


      The setting of initial parameters : the size of the tip of the pen-kalam and  depending on its - the main module size - point
       (а0 - horizontal diagonal of a  rhombus, s0 - vertical diagonal of a  rhombus)
> a0:=sqrt(2-sqrt(2)):
> s0:=sqrt(2+sqrt(2)):
      Connection the graphical libraries Maple
> with(plots):with(plottools):
      Construction of unit of measure (point) - rhombus - the tip of the kalam
> p0:=plot([[0,0],[a0/2,s0/2],[0,s0],[-a0/2,s0/2],[0,0]],scaling=constrained,color=gold,thickness=3):
> plots[display](p0);

The setting and construction of altitude of alif - the basis of the rules compilation of the proportions      Example, on style naskh altitude of alif amount five points
> p_i:=seq(plot([[0,0+s0*i],[a0/2,s0/2+s0*i],[0,s0+s0*i],[-a0/2,s0/2+s0*i],[0,0+s0*i]],scaling=constrained,color=black),i=0..4):
> pi:=display(p_i):
> plots[display](p_i);
The setting of appropriate circle of diameter, amount altitude of alifd0:=s0+s0*i:
> i:=4:
> d0:=d0:
> c0:=circle([0,d0/2],d0/2,color=blue):
> plots[display](p_i,c0);


Construction of flower by turning "point"r_i:=seq(rotate(p0,i*Pi/4),i=1..8):
> p1:=display(r_i,p0):plots[display](p1,scaling=constrained);

 The setting of circumscribed circlec1:=circle([0,0],s0,color=blue,thickness=2):
      Construction and the setting of flower inscribed in a circle
> plots[display](c1,p1,scaling=constrained);
> p_c:=plots[display](c1,p1,scaling=constrained):

The setting and construction of arabesque by horizontal parallel transport original flower with different stepspt_i_1:=seq(translate(p1,5*a0*i,0),i=0..4):
> plots[display](pt_i_1);
> pt_i_11:=seq(translate(p1,2*a0*i,0),i=0..4):
> plots[display](pt_i_11);
> pt_i_111:=seq(translate(p1,a0*7*i,0),i=0..4):
> plots[display](pt_i_111);

 The setting and construction of arabesque by vertical parallel transport original flower with different stepspt_i_2:=seq(translate(p1,0,2*s0*i),i=0..4):
> plots[display](pt_i_2);
> pt_i_22:=seq(translate(p1,0,s0*i),i=0..4):
> plots[display](pt_i_22);
> pt_i_222:=seq(translate(p1,0,1/2*s0*i),i=0..4):
> plots[display](pt_i_222);
 Getting arabesques by turning original flower on different anglespr:=rotate(p1,Pi/8):
> plots[display](pr);
> plots[display](p1,pr);

> pr_i:=seq(rotate(p1,Pi/16*i),i=0..8):
> plots[display](pr_i);


> pt_1:=translate(p1,0,2*s0):
> pr_1_i:=seq(rotate(pt_1,Pi/3.5*i),i=0..6):
> plots[display](pr_1_i);
> pr_11_i:=seq(rotate(pt_1,Pi/5*i),i=0..10):
> plots[display](pr_11_i);
> pr_111_i:=seq(rotate(pt_1,Pi/6.5*i),i=0..12):
> plots[display](pr_111_i);


Page 1 of 1