Category Archives: 编程研究

Flutter配置

见到Flutter颇为有趣,不禁下载一试,当下完android studio之后,又用visual studio code,安装flutter插件,按说明直接F5却无法运用,无奈又接真机试了一试,仍旧无法。 需按如下步骤,才可一次调通: 1、下载android studio 2、下载flutter 3、增加环境变量 4、下载并配置gradle,直接在在setting中设置,以免wapper下载过慢 5、修改项目下之gradle,将build.gadle文件中 google() 及 jcenter()注释,并添加: maven { url ‘https://maven.aliyun.com/repository/google’ } maven { url ‘https://maven.aliyun.com/repository/jcenter’ } maven { url ‘http://maven.aliyun.com/nexus/content/groups/public’ } 另外要注意classpath中的版本号,如默认是3.5.1,要修改与下载的android studio一致 classpath ‘com.android.tools.build:gradle:4.0.1’ 6、SDK中 flutter/packages/flutter_tools/gradle/flutter.gradle 改为 private static final String MAVEN_REPO=”http://download.flutter.io”; flutter/packages/flutter_tools/gradle/resolve_dependencies.gradle 改为 url “http://download.flutter.io”

量子计算与四象(二)

如果把量子操作视作类似电路那样的话,因为单个量子比特不但有阴态还有阳态以及混合态,要实现可控性可以利用其中的相互作用来实现控制。 所以可以设计进行逻辑控制的门,那么需要操作的最基础为四种情况:不变,翻转,等0,等1。 简单说操作其实就是控制一个量子态转换成另外一个量子态,这个过程可以称为演化,而演化,实际上就在Hilbert空间中的旋转。 而在Hilbert空间中的旋转可以使用矩阵来进行,而矩阵使用的是酉矩阵,也叫酉变换,所以这里可以叫作U操作。 酉变换特点就是能够保证内积、长度、向量夹角、形状四者不变的进行下进行变换。 如图中所示,如|0>、|1>、|u⟩ 三个态,对它们进行U操作后,变换出来的结果,并不会改变|0>、|1>、|u⟩ 之间的关系。 所以比如时,很显然 ,所以可以放心大胆的进行U操作。 单个量子比特用一个2*1的向量可以表达,而一个单量子比特门,就成了一个2*2的向量,|0⟩ 变到 U|0⟩ 这个过程,相当于把 [1,0] 变成了 ,这里需要理解的就是,这里的值发生了变化,然而它还是等价的,是因为它参考系发生了变化,所以看起来值也就发生了变化,而U操作特点是可逆的,所以同样也可以反向将U|0⟩变换成|0>。 这类似于比如在一个固定的二元的线性方程上,在等号左右两侧同时乘以一个倍率,而X与Y的值仍然能保持不变一样。 这些细节其实即使是不知道也没有大问题,只用简单的知道通过符合规范的矩阵可以进行量子操作就可以了。 那么可以对量子比特进行什么操作?最最基础的有以下几种: 第一个是X门,作用就是翻转,即把|0>变成|1>,或反之,用四象表达就是把阴态变成阳态,或把阳态变成阴态,通过这个矩阵便能够实现,这个称为X门,也就是阴阳转换用的门。 第二个是Y门,它的特点是对i进行操作 突然冒出来向量i,会有些无可适从,不知道它表达的是什么,其实这里相当于一种简化,实际上: 第三个是Z门,Z门也叫相位翻转门,它可以把 |+⟩ 变成 |−⟩ , −|1⟩ 变成 |1⟩。 第四种是H门,它的作用非常重要,它可以把 |1⟩ 变成 |−⟩, 把|0⟩ 变成 |+⟩ ,它的表达是: 举例来说,比如现在有一个|1>,称为阳态,要它变成叠加态,可以使用H门操作它,然后就变成了|->,如果对它进行一个Z操作,它就变成了|+> 那么|+>及|->是代表的什么含义?在狄拉克定义中,是这样的: 为什么会有这种看起来奇怪的表达,因为波可叠加与干涉是有方向的,以需要有正负号出现,可以相象一下有叠加与消除,有波峰波谷以及其它部分 为了以示区别,取其阳升之故,可以将|+>称之为青龙,而取阳降之故,|->称之为白虎态。

量子计算与四象(一)

一般的比特位只有0与1两种状态,而量子比特却能有更多的状态,但它同样有0与1的两种情况,通常记录为 |1> 或 |0>这两种态,如果使用矩阵的表示话,它们分别是: 1|0⟩+0|1⟩ 表示为0的叠加态,即阴的叠加态,相当于1概率的阴态与0概率的阳态进行叠加,构成的10态,即为少阴态 0|0⟩+1|1⟩ 表示为1的叠加态,即阳的叠加态,相当于0概率的阴态与1概念的阳态进行叠加,构成的01态,即为少阳态 如果是0与1的混合叠加态,则表达为:   最终得到的是0还是1,作为是量子测量后的结果,而在量子位被测量前,它处于混合态,而系数的平方才是阴态与阳态的分别的概率,这就表达出了50%的机率是阴,以及有50%的机率为阳。 理论上只要符合两个平方概率加起来的值为1,那么这个公式就能成立,所以也不一定就是阴与阳的准确概率,换而言之,它们的系数只要各自平方后,加起来的概率为1方便可以了。 实际上,采用如这种值在用圆进行表达时,便会有特别的位置—-它们正好在八个方位,如同对应八卦一样。  

Android绘制透明叠加Canvas之技巧

余写一罗盘代码,盖下层为摄像头所摄之实时图像,上层乃罗盘之数据。 盖因不知其透明之法,只能依创建之图书于Canvas之上: var bitmap = Bitmap.CreateBitmap(Screen.Instance.Width, Screen.Instance.Height, Bitmap.Config.Argb8888) 用毕,则将其释之。 然频繁建造其对象,内存压力颇大,手机亦热之。 后竟得一简法,盖仍重用bitmpa一图,只需以: bitmap.EraseColor(Color.Argb(0, 0, 0, 0)); 用此法拭之,则透明矣。 吾思术数之道,方法多端,有繁有简,有曲有直,虽有条条大路通罗马之谓,然路有远近,载具亦有多端,此中有效率之别也。  

NetworkX中四种网络模型的生成函数

1、规则图 random_graphs.random_regular_graph(d, n) 含有n个节点,每个节点有d个邻居节点的规则图。 2、ER图 random_graphs.erdos_renyi_graph(n,p) 生成一个含有n个节点,以概率p来连接N个节点中的每一对节点 3、WS小世界模型 random_graphs.watts_strogatz_graph(n, k, p) 生成一个含有n个节点、每个节点有k个邻居、以概率p随机化重连边的WS小世界网络。 简单说,小世界网络外圈是是一个环形,然后每个环形上的节点随机连接到其它节点。 这种结构的网络模型是一类具有较短的平均路径长度又具有较高的聚类系数的网络的总称。 通过调节一个参数可以从规则网络向随机网络过渡,该模型成为WS小世界模型。 从一个环状的规则网络开始:网络含有N个结点,每个节点向与它最临近的K个节点连出K条边,并满足N>>K>>ln(N)>>1。 以概率p随机地重新连接网络中的每个边,即将边的一个端点保持不变,而另一个端点取为网络中随机选择的一个节点。其中规定,任意两个不同的节点之间至多只能有一条边,并且每一个节点都不能有边与自身相连。 这样就会产生pNK/2条长程的边把一个节点和远处的结点联系起来。改变p值可以实现从规则网络(p=0)向随机网络(p=1)转变。 注意WS小世界模型构造算法中的随机化过程有可能破坏网络的连通性,更佳的模型需要考虑:NW小世界网络模型。 4、BA图(无标度) andom_graphs.barabasi_albert_graph(n, m) 生成一个含有n个节点、每次加入m条边的BA无标度网络。 无标度网络的特征是具有严重的异质性,其各节点之间的连接度数具有严重的不均匀分布性。 典型的如的路由器,网络中少数称之为Hub点的节点拥有极其多的连接,而大多数节点只有很少量的连接。 又比如呼叫中心、发电厂等,由少数Hub点对无标度网络的运行起着主导的作用。 无标度网络的无标度性,是描述大量复杂系统整体上严重不均匀分布的一种内在性质。 在无标度网络中,如果中心节点受到攻击,那么会引起大规模瘫痪。

Docker运行Mariadb数据库读写分离

按网上的方法: docker run -d -p 3306:3306 –restart always -e MYSQL_ROOT_PASSWORD={password} –name db-mysql -v /docker/mysql/:/var/lib/mysql mysql/mysql-server 结果只会提示root用户无法登录,要构建一个完好的分离环境,应当按如下步骤: 1、首先建立一个docker容器,自动下载最新镜像。 docker run -d -p 3306:3306 –restart always -e MYSQL_ROOT_PASSWORD={password} –name db-mariadb docker.io/mariadb:latest 2、进入容器中进行配置mysql docker exec -it db-mariadb bash 3、正常配置mariadb数据库 4、从容器中退出 exit 5、本机建立用于存放数据库文件的目录Docker mkdir /Docker 6、将容器中数据文件拷出到本机 docker cp db-mariadb:/var/lib/mysql /docker/ 7、停止原来的容器并删除 docker stop db-mariadb dokcer rm db-mariadb 8、创建新容器,并进行目录挂载,注意系统中如果开启了selinux,一定要加上–privileged=true。 docker … 阅读全文 Docker运行Mariadb数据库读写分离

八宫相逢数之计算

import numpy as np x1 = [1,2,3,4,5,6,7,8,9]; x2 = [1,8,3,4,9,2,7,6]; star = [1,26,3,4,45,38,7,24]; yuandan=[0,1,2,3,-1,5,7,8,9] pos1 = 0; pos2 = x2.index(x1[pos1]) for i in range(0,72): #九宫位置 pos3 = x1[(i+pos1)%9] pos4 = x2[(i+pos2)%8] # print (pos3,end=’,’) # print (pos4) if pos3==pos4: yuandan[pos3-1] = i+1 for index in range(1,9): pos1 = index if pos1==4: continue pos2 = x2.index(index+1) … 阅读全文 八宫相逢数之计算

使用Adb用WIFI调试Android的速度测试

因USB线口多次插拔不稳,故而用ADB测试一下使用WIFI DEBUG的速度,调试机使用华为麦芒5手机,通过WIF连接路由器,连接速度在72Mbps,PC则直接用网线连接路由器。 PC的IP地址为192.168.3.3,手机WIF地址为192.168.3.4,当采用 adb connect 192.168.3.4:5555 连接成功后,进行文件推送 adb push D:/Data/1.pdf /sdcard/ 实测速度为: D:/Data/1.pdf: 1 file pushed. 2.3 MB/s (23766659 bytes in 9.860s) 而改在路由器上开启端口转发后,连接路由器公网地址 adb connect 192.168.3.1:5555 再进行测试文件推送 D:/Data/1.pdf: 1 file pushed. 3.4 MB/s (23766659 bytes in 6.673s) 然后又测试了关闭端口映射,直接开DMZ,速度不是很稳定,但在3.1Mb/s至3.2Mb/s之间,故而,使用端口映射进行调试,速度会更快上许多,但远远比不上USB线连接.